Posts

Breve descripción de Blockchain

Blockchain es una tecnología descentralizada que permite almacenar y compartir información de forma segura.

Atendiendo a su diseño no existe un único actor con la capacidad de acceder a la información y gestionarla, por tanto, se debe establecer un mecanismo de consenso entre todos los actores capaces para realizar dichas acciones. Esto es lo que le otorga a Blockchain su caracter descentralizado.

Cuando se alcanza una determinada cantidad de información a almacenar, esta se empaqueta en un bloque junto un hash del contenido del último bloque existente. Este modo de ordenar y almacenar datos es lo que le otorga el nombre de cadena de bloques. También confiere seguridad pues, al modificar el contenido de cualquier bloque, el hash que hace referencia a dicho contenido en el bloque posterior será incorrecto y, por tanto, se detectará una manipulación no deseada.

Rendimiento de los componentes funcionales en React

El compromiso del equipo de React, desde la aparición de los componentes funcionales, siempre ha sido hacer que estos fueran más eficientes que los componentes basados en clases. De hecho, si le preguntas a cualquier desarrollador que use React, seguro que afirma convencido que son mucho más rápido y eficientes, aunque la realidad es que, en el momento de escribir estas líneas, apenas existe una diferencia de segundos entre componentes funcionales y componentes basados en clases. Teniendo en cuenta que esto es inapreciable para el usuario final, no deberías temer por el rendimiento de tu aplicación si necesitas usar algún componente basado en clases, a pesar de que los componentes funcionales son técnicamente más rápidos y eficientes.

Reconciliación y algoritmo diferencial en React

Si has usado React para desarrollar aplicaciones web seguro que ya sabes que cuando un componente es modificado, ésta biblioteca de código de Javascript crea un DOM virtual para compararlo con el DOM actual y, de este modo, calcular si es necesario actualizarlo. A este proceso de actualizar el DOM actual cuando es necesario, para mantenerlo sincronizado con el DOM virtual, se le llama Reconciliación.

Gestión de final de línea en Git

Creo que no es la primera vez que te cuento que, habitualmente, en las empresas del sector los equipos se plataforman con sistemas operativos Windows. En Windows las líneas de código finalizan con un retorno de carro y un salto de línea, CRLF, pero en Linux y Mac, dichos finales se representan únicamente con saltos de línea, LF. En la gestión de un proyecto donde los programadores usan distintos sistemas operativos, o simplemente deseas mantener un tipo de fin de línea distinto al del sistema operativo que estas usando en el desarrollo, puede ser muy frustrante gestionar los cambios entre versiones de código. Esto se debe a que Git interpretará cambios en cada línea del código, pues donde había simplemente LF, tu editor colocó CRLF, y no podrás discernir los cambios reales. Git, sin embargo, dispone de una configuración para gestionar estos casos relativos a los finales de línea, core.autocrlf.