El fichero package-lock.json ¿Tengo que versionarlo?

34293010980_cbb8882bc6_o.jpg

Fotografía de portada de Chris Garcia

Si habéis actualizado estas semanas NPM a la versión 5, cuando hayáis usado alguno de los comandos, habréis apreciado un nuevo fichero al lado de vuestro package.json: el nuevo fichero package-lock.json.

Los que estáis acostumbrados a trabajar con YARN, no os habrá parecido nada extraña esta nueva funcionalidad de NPM, pero los que, como yo, nunca llegamos a cambiar de gestor de paquetes, este ficheros nos ha traído, por lo menos, curiosidad.

En el post de hoy explicaremos de qué trata este fichero, averiguaremos si es algo importante y comentaremos si hay necesidad de versionarlo en nuestro repositorio de Git o SVN, o si por el contrario lo tenemos que enviar al baúl de ignorados.

Read More

Anuncios

Patrones JavaScript encontrados en tu API

28580064681_6b328e0973_o.jpg

Foto de Paul Hudson

Cuando miras el código de una de las librerías que usas en tu día a día, aprendes mucho a cómo otros desarrolladores solucionan un problema en particular. Ese conocimiento puede ser usado por ti en el futuro para que, dado un problema parecido, tu puedas adaptar esa solución y te sea útil en tu desarrollo.

Sin darte cuenta, has creado una pieza de conocimiento que puede ser usada siempre que te encuentres con este problema en concreto. Has usado un patrón. Al igual que pasa en lenguajes como Java o C#, en JavaScript es muy común hacer uso de patrones de diseño.

Los patrones de diseño ayudan a crear un repositorio de ‘problema-solución’ que la mayoría de desarrolladores ha experimentado. Este repositorio nos ayuda a crear un lenguaje común entre desarrolladores y nos permite ordenar el conocimiento y nuestras experiencias.

Como no me gusta solo quedarme en el uso de librerías, sino que me parece importante entenderlas, hoy explicaremos 5 patrones de diseño que se suelen encontrar en nuestras librerías de NodeJS favoritas. Adelante:

Read More

El manejo de streams en NodeJS

16927235050_fb1bb19262_h.jpg

Imagen de Jack Landau

Parece mentira, pero muchas veces olvidamos que la mayoría de APIs con las que cuenta NodeJS en su ‘core’ están basadas en sistemas de streams. Las APIs nos acaban abstrayendo tanto del bajo nivel que olvidamos conceptos vistos en la programación tradicional de toda la vida.

Estas abstracciones nos ayuda a ser más productivos, pero muchas veces nos hacen olvidar la esencia de las cosas, el aprendizaje de los conceptos más básicos y hace que, algunos problemas que se podrían solucionarse de una forma más o menos sencilla, se nos compliquen por culpa de no tener estos conocimientos.

Me he dado cuenta que conocer los streams en NodeJS puede suponernos un cambio a la hora en la que programamos y en cómo damos solución a los problemas, por lo que creo que es bueno que nos detengamos un tiempo en aprender sobre ellos.

A lo largo del artículo explicaremos que es esto de los streams, veremos los diferentes tipos con los que contamos en NodeJS, mostraremos algunos casos en donde ya estamos haciendo uso de ellos, crearemos un nuevo tipo de stream y explicaremos que tienen que ver los streams con la Programación Funcional Reactiva.

Parece bastante ambicioso el plan ¿lo lograremos? ¿Nos adentramos un rato en el mundo de los streams en NodeJS? Adelante:

Read More

TypeScript para NodeJS usando Visual Studio Code

nodejs-typescript.png

Como todos bien sabéis, JavaScript es un lenguaje de programación débilmente tipado. Esto quiere decir que nosotros como desarrolladores nunca tenemos que inferir a una variable, una constante o un parámetro un tipo especial para que el compilador lo interprete, si no que el propio compilador o intérprete va a inferir el tipo por medio del contexto en el que se encuentre una variable.

Read More