[Front-End] Creación de un “sticky” footer

Como desarrolladores front-end, de seguro que ya se nos ha presentado este problema durante el desarrollo de nuestros sitios web:

Problema -> “Una sección footer que no se encuentra en la ubicación correcta (parte inferior) debido a la poca información que contiene la página web que visualizamos”

Figura 1: Footer azul se encuentra ubicado en la mitad de la página web (error de ubicación)

Lo que buscamos es que el footer se encuentre siempre “pegado” (sticky footer) en la parte inferior de la página web, sin importar la cantidad de contenido que haya en dicha página.

Solución-> Sticky Footer utilizando el CSS3 Flexbox

Figura 2: Footer azul ubicado en la parte inferior a pesar de no existir suficiente contenido en la página web

Aclaraciones:

En la figura 3, el navegador web (Google Chrome, Firefox, etc) es representado por el recuadro negro. En el lado izquierdo vemos que el “sticky footer” está en la parte inferior de la ventana del navegador pues la página web no contiene información suficiente. Sin embargo en el lado derecho, como existe mucho contenido, éste “empuja” al footer a la parte más inferior posible.

Figura 3 – Comportamiento del Sticky Footer [3]

 

OJO: Sticky Footer es diferente a Fixed Footer

Figura 4 – Los 3 tipos de footers: Default, sticky y fixed [5]

 

¡Vamos a ver cómo lo hacemos!

Leer más

¿Qué es Google Cloud Platform?

Los sitios web de la mayoría de los clientes de LiOnline están alojados en Godaddy pues nuestra experiencia ha sido positiva con dicho proveedor de hosting y dominios. Esos sitios web desarrollados y personalizados con el CMS (Content Management System): “WordPress“, nosotros los consideramos de tipo “informativos” ya que cuentan con una estructura básica para presentar el giro del negocio del cliente:

  • Inicio
  • Sobre nosotros
  • Catálogo de productos/ servicios y/o proyectos
  • Formulario de contacto
  • Blog (Publicación de noticias yo/o artículos)

Godaddy ha sido suficiente para soportar dichos sitios web. Sin embargo, ¿qué pasa con aquellos clientes que requieren soluciones web más complejas y con mayor nivel de seguridad/velocidad?

Ejemplo de sitio web con estructura básica
A inicios del año 2017, un cliente (que no era del área de tecnología) me comentó sobre Google Cloud Platform (GCP) y deseaba tener su sitio web allí. Fue la primera vez que oía sobre GCP, empecé a investigar un poco pero no fui más alla ya que el sitio web informativo de este cliente no necesitaba toda una infraestructura robusta como la que ofrece GCP (o al menos fue la razón que en ese momento consideré mejor). Hoy, julio 2018, surgió un proyecto de migración de un sitio web de Godaddy a GCP, que ¡LiOnline asumió!.
En este punto, seguro ya te estarás preguntando: pero ¿Qué es Google Cloud Platform?.
Si entramos al sitio oficial encontramos 2 mensajes que resaltan las ventajas más importantes de GCP:
“Juntos, nosotros podemos ayudarte a resolver tus problemas más difíciles y hacer crecer tu negocio. Con Google Cloud: nuestra infraestructura es tu infraestructura. Nuestras herramientas son tus herramientas. Nuestras innovaciones son tus innovaciones”
“Creemos que la seguridad empodera la innovación – así que si tú pones la seguridad en primer lugar, todo lo demás fluirá”
“Infraestructura”. “Seguridad” e “Innovación” las 3 palabras que considero clave para entender GCP.

Leer más

Diseño Web: Diferencia entre Wireframe, Mockups y Prototype

En LiOnline, antes de comenzar a desarrollar una página/sistema web, utilizamos algunas herramientas que nos permiten “bosquejar” lo que queremos construir, estas son: “sketchs” “wireframes“, “mockups” y/o “prototipos“. Éstas nos facilitan la comunicación con el cliente pues él puede visualizar cómo quedaría el producto que desea (antes de invertir tiempo en desarrollar) y dar sus comentarios/sugerencias las cuales se traducen en mejoras y/o cambios ¡a tiempo!.

En [1] nos dicen resumidamente cuáles son las ventajas de estas herramientas:

  • Generar una lluvia de ideas (brainstroming) para definir qué expectativas tiene el cliente del producto a ser desarrollado.
  • Ahorro de dinero/tiempo en la fase de desarrollo
  • Describir claramente qué es lo que necesita ser desarrollado
  • Usado para captar inversionistas, primeros clientes y/o co-fundadores, por ejemplo a través de aceleradoras de startups.

Nuestro proceso para el diseño de una página web es el siguiente:

  • Reunión preliminar con el cliente en el que nos cuenta las necesidades de su negocio y cómo le gustaría que sea su sitio web. A mano alzada realizamos un bosquejo de la web y sus funcionalidades, tomamos apuntes y damos sugerencias (Sketch)
  • De acuerdo a los requerimientos levantados durante la reunión preliminar y a la evaluación de los sitios webs de la competencia, proponemos la estructura o esqueleto del sitio web (Wireframe). El cliente podrá evaluarlo y solicitar las modificaciones pertinentes.
  • Luego de aprobado el wireframe, éste es explicado al diseñador gráfico que ¡hará su magia! y nos entregará cómo se verá la web o mejor dicho la representación visual de la web (textos con los tipos de letras y colores que forman parte del branding del negocio, imágenes,  íconos, logos, etc.) (mockups). En este fase, los diseñadores gráficos utilizan sus conocimientos de buenas prácticas de User Interface (UI).
  • Lo siguiente es el desarrollo de un prototipo (prototype), este paso es opcional según [1] [2] y efectivamente en nuestro equipo de trabajo lo hemos aplicado en pocas ocasiones. El prototipo es nuestro mockup pero enriquecido con piezas de User Experience (UX), en donde el usuario puede interactuar por ejemplo dando clic a botones, enlaces, ver animaciones, etc. ¡Ojo! el usuario sentirá que está utilizando la versión final sin embargo aún no hay funcionalidad, pues solo son piezas conectadas entre sí [2].
  • ¡Finalmente viene lo bueno! ¡A programar! y aplicar todos nuestros conocimientos de HTML, CSS, jQuery, php, frameworks, bibliotecas, APIs o más! ya sabiendo cómo debe verse y cómo debe funcionar.

Ejemplo de nuestro cliente BYC – Grupo Inmobiliario

Seguro que hasta este punto ya tienes una idea en qué se diferencia cada término. A continuación vamos a ver más a detalle qué son y qué softwares existen para crearlos.

Leer más

¡Yo también puedo cantar!

Este 2018, surgió una actividad que nunca pensé envolverme: Participar del Coro de la Escuela Libre de Música (ELM) de la Orquesta Sinfónica de Limeira-SP. ¿Cómo llegué ahí? ¿es en serio Pamela, tú que apenas sabes do-re-mi-fa-sol-la-si?. Yo no busqué clases, simplemente pasó.

Una amiga quiso unirse a unas clases de violín del ELM y me pidió ir a preguntar por informes pues ella no estaba en la ciudad esos días. Fui y pregunté, infelizmente era necesario pasar por un test de violín en una fecha en la que ella aún estaría fuera. Bueno, cuando ya me iba a ir vi que habían más talleres disponibles entre ellos “coro”. Me detuve y pensé:

“No tengo nada que perder, si paso la audición bien y si no pues no pada nada”

Me preparé con un clásico de la música criolla peruana: “La Flor de la Canela”. Yo admito que no tengo preparación alguna de canto, pero siempre recuerdo a una compañera que hacía maestría en música (hoy ya magíster) decir “Todos podemos cantar” … hoy le doy la razón. Pasé la audición para ingresar al taller de “Coro Iniciante”. Resalto las iniciativas de cultura por parte de la Prefeitura de Limeira – SP, pues pone a disposición talleres como estos de forma gratuita a los que vivimos en esta ciudad.

Leer más

¡Alerta de Trackeadores!

Hoy me llevé un susto.

Alguien me dijo prácticamente “Sé lo que hiciste el verano pasado”. Las personas se están poniendo paranoicas con tantos plugins que para mí es una invasión a la privacidad.

Tener por cerca a una persona acosadora es realmente de temer. Alguien que sabe si leíste o no su e-mail, alguien que hace un seguimiento exhaustivo de tus movimientos en la red, no tiene otro nombre que … no lo diré mejor, cada quien coloque el adjetivo que desee.

Whatsap y Facebook poseen configuración de privacidad: Deseo mostrar mi hora de conexión? Deseo dar a conocer si leí o no el mensaje?. Bueno, Facebook no es un buen referente de seguridad de información (plop!), pero por lo menos sabemos que existe la opción.

Yo he probado Mailchimp y sí puedo hacer un tracking de los e-mails de campaña y existe un disclaimer para indicar ello. Sin embargo, que alguien sepa cuántas veces entraste a su mensaje (no necesariamente leer, porque ya estoy acostumbrada a “ver” sin leer cuando son cosas absurdas o SPAM) y que encima te diga “yo sé que me lees”: es de terror.

Alguien creó MailTrack, oh sí, alguien sin que tú lo hayas decidido (ni siquiera tener la oportunidad de aceptar o rechazar) sabe todos los movimientos que hagas sobre su mensaje

Pero se puede evitar 🙂

Leer más

Día Mundial de la Concientización del Autismo

Todo papá y mamá quiere lo mejor para sus hijos. Cuando uno es primerizo(a) muchas veces se “obsesiona” por proteger (o sobreproteger) a sus pequeños lo cual hace que actuemos sin reflexionar, llevados por nuestro incipiente “instinto paternal”. Incluso, nos hace ver una realidad distorsionada:
“Si tu hijo estornuda, no! no esta muriendo”
“Si tu hijo llora, no! no quiere decir que le han pegado”
“Si tu hijo, pone un cubo sobre otro, no! no quiere decir que es un superdotado”
“Si tu hijo tiene una pequeña cicatriz/costra/picazón, no!, no quiere decir que es el fin del mundo”
“Si tu hijo se ensucia jugando, no! no es culpa de la persona que lo esta cuidando”
“Si tu hijo pelea con otro niño, no podemos juzgar a ese otro tildándolo de ‘malcriado’.
 
Les comparto este link sobre padres primerizos, les va a sacar una que otra sonrisa 🙂
Y es así que para evitarle vivir en esa realidad:
  • Queremos encerrar al niño(a) en una burbuja
  • Reaccionamos violentamente con aquellos que han tenido algún contacto con el niño(a) como niñeras, familiares y/o amigos. Culpándolos y llamándolos de “mala influencia”
  • Asfixiamos a nuestro hijo, con la consigna de que es “por su bien”
Eso no quiere decir que tampoco nos vamos a descuidar. Solo que tomemos las cosas con calma, no seremos ni los primeros ni los últimos padres en el mundo que pasen por situaciones “difíciles”.
Narraré un poco de mi experiencia como mamá, específicamente en un tema: “Trastorno del Espectro Autismo” siendo hoy 2/4 (ayer) el día de la Concientización sobre el autismo.

Leer más

Tip: Instalación de StarUml en ubuntu

A continuación unos pasos para instalar StarUML en ubuntu vía terminal de comandos. Sin algunos de los pasos (instalación estándar), no me fue posible instalar en mi computador, es por ello que hago una lista de todos los pasos que seguí para instalar con éxito:

1. Descargar el paquete libgcrypt11_1.5.3 (aquí)

2. Descargar el paquete de StarUML (aquí)

3. Instalar el paquete libgcrypt11_1.5.3 con dpkg

sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4.2_amd64.deb

4. Instalar StarUML con dpkg

sudo dpkg -i StarUML-v2.7.0-64-bit.deb

5. Ejecutar el comando

sudo apt-get -f install

Aplicando Scrum en Trello

En un post anterior, expliqué cómo aprendí Scrum y los aspectos/principios/procesos de este framework. En este nuevo post, hablaré sobre 3 elementos importantes que forman parte de Scrum:

  • Kanban
  • Product Backlog
  • Sprint Backlog

Además les comentaré sobre una herramienta de colaboración online : Trello.

Recordemos que Scrum busca entregar resultados de forma rápida y con menor costo, enfocándose en entregar productos y/o servicios que se alineen las necesidades del cliente. Cuando una organización decide implementar Scrum, es importante que todas las partes interesadas tengan mente que “el cliente está en primer lugar” [1]

Scrum se rige de 3 grandes pilares: Transparencia, Inspección y Adaptación

  • Transparencia: Cada aspecto del proceso debe definirse por un estándar común a todos los integrantes del equipo
  • Inspección: El avance hacia el objetivo fijado es responsabilidad de todos los integrantes del equipo
  • Adaptación: La inspección constante, garantiza la capacidad de respuesta y la subsiguiente adaptabilidad del framework

Trello es un software que permite organizar proyectos en tableros. Permite ver cuáles son las tareas que se llevan a cabo, quién trabaja en una tarea determinada y cuál es el estado de un proceso [3]. La característica de Trello de trabajar con tableros permite automatizar el Kanban Board, el cual es utilizado frecuentemente en proyectos Scrum.

El Kanban Board es una herramienta que permite la visualización de nuestro trabajo y flujo de trabajo (workflow) para así optimizar dicho flujo. Por ejemplo en la imagen siguiente se muestra un Kanban Board básico con 3 pasos de nuestro flujo de trabajo, representados por columnas o “lanes” [4]

“To do”, “Doing” o “In progress”, “Done” (Por Hacer, En Progreso, Hecho)

Las tareas son representadas por “Kanban cards” (tarjetas, en tableros físicos son comúnmente post-it). Estas tarjetas son colocadas en los lanes de acuerdo a su estado actual de trabajo.

El Kanban Board es un gran aliado en la promoción de la transparencia del Scrum. Pues, cuando un equipo Scrum posee un Kanban Board, todos consiguen fácilmente visualizar el flujo de trabajo, cuales tareas están siendo ejecutadas, quién es responsable de qué, en que situación se encuentra cada tarea, etc. Existen mayores posibilidades de éxito cuando existe mayor transparencia en el proyecto ya que el equipo se siente más involucrada y aumenta su nivel de confianza. [5]

Ahora, profundizaremos en los artefactos de Scrum y cómo reflejarlos en Trello para ya dar inicio a nuestro proyecto Scrum

Leer más

Un elefante en el computador #Postgres

La primera vez que trabajé con Postgres fue en el 2008. Hoy, nuevamente me reencuentro con este querido elefante 🙂 en su última versión: 10.

¿Nunca has oído de Postgres?

PostgreSQL es un sistema de gestión de bases de datos relacional orientado a objetos, open source. Ha tenido más de 15 años de desarrollo activo y una comprobada arquitectura que ha ganado una fuerte reputación debido a su confiabilidad, integridad y exactitud de datos. Postgres puede ser ejecutado en los sistemas operativos: Linux, UNIX (AIX, BSD, HP-UX, macOS, Solaris) y Windows. [1]

Podemos encontrar los instaladores en su página oficial de download. Yo descargué el instalador para Windows de este link (también lo encuentras en la pag.oficial)

Este post surge por una necesidad que tuve: Quería generar el ERD (Entity Relationship Diagram) o Diagrama de Entidad-Relación para un BD Postgres ya existente.

Esto fue lo que hice:

Leer más

¡Basta Ya!

… La mujer sin razón o sin querer queriendo da la oportunidad al varón para que se cometan ese tipo de actos. Porque algunas veces puede haber un agresor absolutamente sano y de repente, en un momento, la mujer puede sacarlo de contexto diciéndole “me voy” o “te estoy traicionando”, esas palabras nunca deben ser usadas por una mujer porque podrían, sin querer queriendo, exacerbar los ánimos de una persona normal…

En el 2017, la señora Maritza García dijo las palabras arribas mencionadas. Cuando yo la escuché pensé “¿Es en serio que esta mujer presida la Comisión de la Mujer?”

Hoy en el 2018, escuché de una mujer:

.”…tus miedos no tienen justificación y si hay insistencia debe ser porque tú lo ocasionas.  Pienso que eres una persona egoísta que priorizas tus rencores”

Leer más

1 2 3 4