Node.js: el desarrollo que revolucionó JavaScript

por:

Node.js: el desarrollo que revolucionó JavaScript

Como seguramente conocerás, JavaScript es uno de los lenguajes más utilizados hoy en día para dotar de interacción a una página web. Siendo el desarrollo web, quizás, el tipo de desarrollo más común, no es de extrañar que la popularidad del mismo sea cada vez mayor. Sin embargo, no ha sido hasta la popularización de Node.js, cuando se ha convertido en un lenguaje todoterreno.

Node.js, el runtime que lo cambió todo

Todos los lenguajes de programación necesitan o bien un intérprete o bien un compilador que traduzca su sintaxis a código máquina. En el caso de JavaScript, son los propios navegadores los que albergan este software. Esto era un factor bastante limitante para el lenguaje, ya que sólo se podía utilizar en entornos que fueran a ser utilizados con un navegador web.

Esto era así hasta que Ryan Dahl, desarrolló Node.js un entorno capaz de ejecutar código JavaScript en el propio servidor, en lugar de dejar esa responsabilidad al navegador del cliente que visitaba la web. Para ello se basó en el motor V8, el cual es desarrollado por Google para procesar el código JavaScript en su navegador, Google Chrome.

Leer más

Trabajar en consultoría vs trabajar en empresa de producto

por:

Trabajar en consultoría vs trabajar en empresa de producto

Dos de los modelos principales de trabajo en el sector informático, son las empresas de consultoría y las empresas de producto. Hoy te muestro qué son, cómo funcionan y qué ventajas tiene trabajar en una o en otra.

¿Qué es una consultora?

Cómo bien indica la propia palabra, son empresas que dan apoyo a otras empresas, normalmente mediante sistemas de subcontratación o externalización. En muchos casos se denominan con el término inglés,  outsourcing. Para muchas empresas de tamaño contenido es la única manera de poder tener un departamento de informática a su servicio, mientras que para otras, es un sistema que les permite tener mucha flexibilidad.

 

Las principales características de una consultora son las siguientes:

  • Su modelo de negocio principal es la venta de horas de trabajo.
  • Puedes trabajar o no para el cliente final (empresa que requiere los servicios de consultoría).
  • La consultora trabaja para múltiples empresas y ofrece servicios variados.

En la última década este tipo de negocio ha crecido exponencialmente, aprovechando la revolución tecnológica, teniendo como máximos exponentes en España a empresas como Indra o Everis (21.000 trabajadores en 2017). Además de las consultoras netamente tecnológicas, algunas otras más antiguas centradas en otros ámbitos como el derecho, la gestión de empresas o la fiscalidad, han creado divisiones para desarrollar la parte tecnológica, una de ellas es Deloitte.

Leer más

25 recursos para dominar el diseño web

por:

25 recursos para dominar el diseño web

Uno de los grandes aspectos abandonados en el desarrollo web ha sido el diseño y todas sus múltiples vertientes (tipografía, color, experiencia de usuario, etc.). Sin embargo, en los últimos años cada vez es más importante no sólo contar con abundante y compleja funcionalidad, sino con una plataforma llamativa, cómoda y que deslumbre e impresione al usuario. Por esta razón te presento 25 recursos que me han sido de gran utilidad para abordar el diseño web.

 

Elementos básicos del diseño web

En la siguiente sección están recogidos aquellos recursos relacionados con los elementos básicos del diseño web (color, tipografía e iconografía). Definir estos estos elementos es el punto de partida para plantear el aspecto de una web.

El color: el elemento principal del diseño

Desde mi punto de vista el color es el aspecto más relevante a la hora de plantear el diseño de una web. Esto es debido a que el mismo influirá en el público a la que está destinada y a la imagen de marca que posteriormente será creada. Para conocer más en profundidad cómo afecta la elección del color y distintas formas de elegirlos, me resultó de gran ayuda el siguiente recurso (en inglés): Teoría del Color.

Una vez conocido lo anterior, toca buscar inspiración, para ello últimamente estoy utilizando el siguiente recurso, el cual analiza las principales paletas de colores que presentan algunas de las webs más conocidas. Además de la web anterior, Colourlovers permite acceder a un gran conjunto de paletas de colores de gran calidad creadas por una extensa comunidad de diseñadores.

Otro de los recursos más utilizados en los últimos años ha sido el esquema de color propuesto dentro del lenguaje de diseño Material Design de Google. Este cuenta con un generador que te va a permitir elegir y probar cómo se comportan los colores seleccionados.

En el caso de que tu objetivo sea realizar interfaces compuestas principalmente por gráficos, te recomendaría probar la siguiente herramienta para la elección de los colores. Otra de las herramientas que considero imprescindible es Coolors, la cual permite configurar de manera rápida una paleta de colores.

Leer más

Los mejores recursos sobre seguridad informatica

por:

Los mejores recursos sobre seguridad informática o ciberseguridad

La seguridad informática nunca ha sido la parte de la informática que más me ha atraído, sin embargo, durante varios años he ido recopilando multitud de recursos muy útiles sobre este tema. En este artículo te muestro algunas de las herramientas y utilidades de mayor calidad y que más me han llamado la atención.

Los temidos SQL Injections

Las inyecciones de SQL (SQL Injection), como digo en el títutlo son temidas por los desarrolladores web debido a las graves problemas que pueden dar lugar. Si no conoces este concepto, te lo podría resumir en que un usuario no autorizado podría ser capaz de ejecturar código SQL sin restricción desde tu página web. Esto podría dar lugar a un acceso completo a toda la información de la base de datos, a cambiar datos o modificar datos, etc.

Leer más

Cómo actualizar tu Linux a la velocidad de la luz ⚡

por:

Cómo actualizar tu Linux a la velocidad de la luz

Una de las tareas más pesadas que puedes encontrar en tu día a día como administrador de sistemas, es la de actualizar el software de tus equipos. Hoy te enseño cómo hacerlo más rápido, incluso con conexiones lentas.

Actualizaciones en Linux, cuestión de disco y velocidad de red

Como seguramente sabrás, hay varias piezas importantes para agilizar el proceso de las actualizaciones:

  • Una red con el suficiente ancho de banda como para descargar las actualizaciones a alta velocidad.
  • Un sistema de almacenamiento capaz de leer, mover y descomprimir los datos rápidamente.
  • Una CPU que no haga cuello de botella con la red y el disco.

Como comprenderás, son tres aspectos que no vas a poder cambiar, o ¿si?.

El sistema de almacenamiento

Las mejoras en el sistema de almacenamiento se pueden obtener atacando dos puntos claves: el hardware y el software.

En el caso del hardware, usar discos de estado sólido (SSD) te va a permitir mejorar muchísimo la velocidad de lectura, escritura y acceso a los datos, respecto a un disco mecánico.

Por otro lado, si hacemos referencia al software, te recomiendo elegir un sistema de ficheros moderno y veloz como ext4 o btrfs.

Leer más

Monitoriza tu sistema con Glances

por:

Monitoriza tu sistema con glances

Actualmente es muy común contar con gran cantidad de ordenadores y servicios instalados, por lo que el proceso de monitorizar se hace cada vez más complejo e intensivo en tiempo.

¿Qué es la monitorización de equipos?

La monitorización de los equipos es un conjunto de técnicas destinadas a conocer, en tiempo real o en momentos puntuales, el estado de cada uno de ellos. Esto último implica conocer el estado físico de los mismo y de todo el software que tienen instalado.

Ventajas de una monitorización intensiva

Aunque muchas personas no creen que haya que monitorizar de manera constante los dispositivos, en mi opinión se equivocan. Este proceso nos permite conocer y/o preveer:

  • Fallos de hardware
  • Servicios mal configurados
  • Problemas de escalado
  • Falta de recursos

Por lo que este trabajo siempre te ahorrará tiempo y dinero.

Leer más

Cómo limpiar el ordenador por dentro

por:

Cómo limpiar el ordenador  por dentro

Una de las tareas más pesadas de la informática es mantener los equipos en perfecto estado. Para ello es necesario realizar multitud de acciones, como actualizar el software, comprobar el estado del hardware y limpiar el mismo. Hoy os enseño como abordar esta última tarea, la limpieza de un ordenador.

Cada cuanto debo limpiar el ordenador

Quizás sea esta una de las preguntas estrella del artículo, y la verdad, no tiene una solución única. Dependiendo de distintos factores como si el usuario suele fumar frente al equipo, las horas que este está encendido o el nivel de polvo en el ambiente, tocará limpiarlo con mayor asiduidad o no. No hay que olvidar que un ordenador tiene uno o múltiples ventiladores, que procesan un gran flujo de aire y con ello, gran cantidad de polvo.

El polvo en grandes cantidades puede ocasionar algunos problemas como:

  • Calentamiento excesivo del ordenador.
  • Ruidos extraños, originados por los ventiladores

En mi opinión una limpieza intensiva se debería realizar una vez al año, aunque recomiendo hacer una limpieza del equipo cada 6-8 meses si este pasa mucho tiempo encendido.

Leer más

Como crear un Gif de manera sencilla

por:

Como crear un gif de manera sencilla

Ampliamente es conocida la frase: vale más una imagen que 1000 palabras. Esto es debido a que una imagen puede ilustrar perfectamente la información que se quiere transmitir, pero en muchos casos es necesario algo más que una imagen. En estos casos, se puede obtar por un video o un gif, lo cual es una solución mucho más sencilla.

¿Qué es un Gif?

Un Gif es un formato para almacenar imágenes con 256 colores, que fue muy popular en los primeros años de Internet. Sin embargo, la característica más destacable frente a los formatos JPG o PNG, es que permite mostrar animaciones. Esto se consigue mediante un conjunto de frames de duración concreta, repetidos en bucle. Además, este sistema cuenta con una amplia compresión, lo que permite que estos archivos tengan un tamaño relativamente pequeño. Ambas ventajas (animación y pequeño tamaño), hacen del formato Gif un firme candidato con el que competir contra los videos de muy corta duración.

Algunos de los principales usos del Gif hoy en día son:

  • Llamar la atención sobre un elemento, en muchos casos, publicitario.
  • Representar el efecto de las acciones al realizar una demostración.
  • Transmitir estados y emociones.

Leer más

Usando Git en la terminal sin morir en el intento

por:

Usando Git en la terminal  sin morir en el intento

Anteriormente ya te hemos hablado en Somos Binarios de Git, el sistema de control de versiones más usado en la actualidad. Sin embargo, soy de los que piensa que es un poco complejo de usar sin interfaz gráfica.

¿Cómo usar Git en la terminal de manera sencilla?

Si escucháis a un experto en el uso de Git, este te dirá que el software es lo suficientemente usable, incluso en línea de comandos. Pero cuando uno está empezando o no es un muy experto, necesita de ciertas ayudas que reduzcan sus errores.

La primera solución que te podría venir a la mente es usar una interfaz gráfica para las cuestiones más complejas, sin embargo, esto no es posible cuando te conectas, por ejemplo con SSH, a un servidor remoto.

Git Aware terminal es un desarrollo que viene a solucionar este problema, ayudándote desde la propia terminal a conocer más a fondo cuál es el estado del repositorio que estás usando:

 

Git Aware Terminal te ayuda a entender cuál es el estado de tu repositorio

Leer más

Las 3 principales desventajas del teletrabajo

por:

Las 3 principales desventajas del teletrabajo

Como muchos de vosotros sabréis el teletrabajo tiene muchas ventajas: una mejor conciliación familiar, reducción de la pérdida de tiempo en desplazamientos, posibilidad de trabajar desde distintos lugar, etc. Pero hoy os vengo a hablar de la parte menos conocida del teletrabajo, las desventajas. A continuación, os cuento las que he encontrado después de un año donde he trabajado bajo este modelo, en varios periodos prolongados.

Aislamiento

Quizás una de las mayores desventajas de este tipo de trabajo, es que te aisla mucho del resto del equipo. Al no compartir un mismo espacio, la comunicación se ve reducida a un cruce de mensajes y esto hace que, en muchos casos, no se tenga contacto, se tomen decisiones sin realizar consultas o se desconozca el avance y las decisiones tomadas por el resto del equipo.

La mejor manera para evitar esto, desde mi punto de vista, es realizar reuniones cortas pero diaras (siguiendo el modelo de Scrum, por ejemplo), el uso de herramientas online para la gestión de proyectos y la utilización de canales de comunicación instantáneos (Slack, chats, etc).

Leer más