Saltar al contenido

Categoría: Desarrollo y Programación

Nvchad 2.50: nueva arquitectura y cómo migrar

Para mi Neovim es el mejor editor que existe porque: es ligero, puedes usarlo sin necesidad de usar un teclado, puedes configurar cada aspecto, entre otras cosas. Pero para lograr todo eso, es necesario editar la configuración del programa de acuerdo a tus necesidades y si no tienes experiencia en el tema puede ser abrumador y dificil.

¿Qué es NvChad?

En los últimos años han salido proyectos que te permiten dar una configuración inicial de nvim. De esta forma puedes empezar a usar el editor y disfrutar de los mejores plugins y funcionalidades sin entrar a editar la configuración inicial.

NvChad es uno de estos proyectos y fue el que decidí usar, porque a pesar de contar con una personalización que hice desde hace años. Me pareció mas fácil migrar y mantener mi configuración usando NvChad. Este helper (como le dicen a este tipo de proyectos en la comunidad de nvim) me parece muy fácil de usar, las características por defecto son poderosas y el editor queda visualmente muy bien.

Nvim con NvChad
Nvim con NvChad editando su propia configuración usando el tema ayu_light

Versión 2.5.0

Hace un par de horas salió esta nueva versión 2.5, justo cuando iba a realizar ajustes a mi configuración. Pues al ver los cambios, vi que tienen una nueva arquitectura mucho mas sencilla y mas fácil.

En versiones anteriores, NvChad se presentaba como un repositorio que contenía toda la configuración necesaria para transformar Neovim y aprovechar al máximo las funcionalidades que ofrece NvChad, incluyendo la instalación de complementos, configuraciones personalizadas, entre otros aspectos. Para realizar personalizaciones o ampliar las configuraciones, se proporcionaba una carpeta designada donde podías mapear la configuración en el sistema de archivos y realizar tus ajustes. Sin embargo, este enfoque tenía sus inconvenientes, ya que requería estudiar y comprender la estructura, para adaptara las configuraciones según la forma en que este estaba organizado.

NvChad como un plugin externo

Desde la versión 2.5.0 ahora es un plugin que se instala de forma externa. Solo debes clonar el repositorio que incluye una configuración mínima e ir agendando tus configuraciones en los archivos especificados.

La ventaja ahora es que ya no es necesario revisar la configuración predeterminada de NvChad. Los archivos dentro de la carpeta de Neovim contienen exclusivamente tus personalizaciones, lo que hace que el proceso sea menos intrusivo y más acorde con la filosofía de Vim.

Cómo migré mi configuración

Comienzo diciendo que el script de migración no me sirvió. Así que me tocó empezar de nuevo:

  1. Hacer un fork del repositorio de configuración inicial.
  2. Copiar todos tus archivos de la carpeta /lua/custom/configs a /lua/configs.
  3. Copiar el contenido de tu lista de plugines a lua/plugins/init.lua y eliminar todo prefijo de custom. para que valores como custom.configsy custom.plugins quede como configs. y plugins. respectivamente.
  4. Copiar tus mapeos de teclas a /lua/mappings.lua y usar la nueva sintaxis. Esta parte implica actualizar la estructura, sin necesidad de realizar trabajo adicional.
  5. Una vez completados estos pasos, inicia Nvim y los plugins se instalarán automáticamente. No olvides revisar posibles errores de sintaxis y ajustarlos según sea necesario. En mi caso, para LSPConfig, tuve que ejecutar el comando :Mason para instalar las dependencias del linting.

¡Listo! Si deseas ver el resultado de mi configuración puedes hacer un fork de mi configuración de NvChad y empezar desde allí.

Happy forking!

Deja un comentario

Unit Testing Principles, Practices, and Patterns: libro para iniciarte en el testing

Hace un par de años, me embarqué en la búsqueda de formas para potenciar mis habilidades en pruebas de software. Fue en un hilo de Twitter (ahora X) donde me topé con una discusión sobre las diferencias entre stub y mock. En medio de esta conversación, alguien recomendó el libro «Unit Testing Principles, Practices, and Patterns» de Vladimir Khorikov. Después de haber adquirido el libro hace algún tiempo, finalmente encontré el momento oportuno para sumergirme en sus páginas y, en este artículo, compartiré mis impresiones al respecto.

Portada del libro Unit Testing Principles, Practices, and Patterns de Vladimir Khorikov
Portada del libro, si deseas comprarlo haz clic en él para mas información

Contenido de Unit Testing Principles, Practices, and Patterns

En mi opinión, el libro abarca todo lo necesario para aprender a aplicar pruebas a cualquier software que desarrolles. Desde las razones fundamentales para realizar pruebas hasta conceptos como unit testing, mocks, test doubles, integration testing, end to end tests, entre otros. Además, finaliza con una sección muy interesante sobre anti-patrones, la cual nos brinda valiosas enseñanzas para mejorar nuestras prácticas de codificación y hacer que el código sea más accesible de probar.

Cada sección comienza con la presentación del concepto, seguido de su aplicación en el ámbito profesional. Posteriormente, se ofrece una serie de ejemplos de código que abarcan tanto el método o sección de código a probar como el código de las pruebas correspondientes. Este enfoque estructurado garantiza una comprensión completa y práctica de los temas tratados.

Es importante destacar que si bien los ejemplos de código están escritos en Java, su estructura y lógica son fácilmente transferibles a otros lenguajes de programación como PHP o C++. Cualquier profesional, independientemente de su preferencia de lenguaje de programación podrá leer los ejemplos sin problemas.

Además, el texto cuenta con secciones que contienen notas sobre consideraciones importantes a tener en cuenta, así como experiencias personales del autor frente a diversas situaciones. Esta combinación de teoría, ejemplos prácticos y reflexiones personales enriquece la experiencia de aprendizaje y ofrece una perspectiva más completa sobre el proceso de pruebas de software.

¿Debería leerlo?

Este libro es verdaderamente accesible para personas de todos los niveles de experiencia. Ya seas un principiante absoluto o un profesional experimentado en el campo de las pruebas de software, encontrarás que Unit Testing Principles, Practices, and Patterns ofrece valiosos conocimientos y perspectivas. En definitiva, si deseas adentrarte en el mundo del testing o mejorar tus habilidades existentes, este libro es para ti.

Deja un comentario

Como actualizar npm cuando se usa nvm

Si eres un desarrollador de Node.js, es muy probable que utilices nvm para gestionar las diversas versiones de Node en tu equipo. Esta herramienta resulta extremadamente útil al trabajar en varios proyectos, realizar pruebas en diferentes versiones de Node o ejecutar software en una versión específica que difiere de la que normalmente usas o la que viene pre-instalada en tu sistema operativo. Sin embargo, al emplear este servicio, es posible que necesites actualizar npm, y aquí te mostraré cómo hacerlo.

Actualizar NPM

NPM, o Node Package Manager, es la herramienta que se utiliza para gestionar las dependencias de JavaScript de una aplicación. También sirve como el servicio de alojamiento donde se almacenan dichas dependencias.

No obstante, en ocasiones pueden surgir actualizaciones para esta aplicación. Si utilizas NVM (Node Version Manager), actualizar npm no es tan sencillo como con cualquier otra aplicación, ya que su actualización dependerá de cada versión de Node.js instalada.

Por lo tanto, solo necesitas ejecutar este comando:

nvm install-latest-npm

¡Listo! Ya vas a ver como se va a descargar npm a su última versión y va a funcionar con nvm sin problemas.

Deja un comentario

Documental de la creación de TypeScript

TypeScript Origins: The Documentary es un documental creado por Keyboard Stories que explora el proceso de creación de TypeScript. Lo más me gustó de ese documental, es que cuenta con comentarios de sus creadores y de las personas involucradas en su desarrollo, presentación y difusión, ofreciendo una visión completa de la historia detrás de este lenguaje. Este documental de TypeScript es algo que no se deben perder si están involucrados de alguna forma con el mundo de la programación.

¿Qué tiene de importante TypeScript?

Si te parece extraño que hayan hecho un documental de TypeScript de este calibre, es porque actualmente es uno de los lenguajes mas populares. JavaScript probablemente es el lenguaje mas popular actualmente, pero tiene muchas carencias como la falta de tipado/tipos (para mí es una de las cosas por las cuales opino que no es un buen lenguaje) que permite entre muchas cosas, crear código mas complejo, ayudar a los programadores escribir mejores programas limitando el tipo de datos que se pueden guardar o pasar en funciones, optimizar la velocidad de ejecución de los programas, entre otros.

TypeScript nace como solución a este problema, expandiendo su uso rápidamente e inclusive siendo sustituto de JS en muchas compañías. Ademas de ser el lenguaje que hizo posible en su día a tecnologías como Angular y Visual Studio Code.

Mi opinión del documental de TypeScript

El documental comienza con los principales creadores narrando cuáles fueron las causas para desarrollar este lenguaje dentro de Microsoft. Luego, muestra un poco el proceso de desarrollo y, posteriormente, el lanzamiento al público. En estas partes, podemos recordar las conferencias en las que fue anunciado.

Me llamó la atención, cómo comentan que querían liberarlo bajo una licencia abierta pero Microsoft no estaba acostumbrado a eso. Pero con la nueva gerencia les tocó evolucionar y lo consiguieron.

En el proceso de creación de TS, vemos como el lenguaje fue usado para construir Visual Studio Code; posteriormente el equipo de Angular (del rival Google), se unió para hacer que TypeScript soportara decoradores gracias al proyecto AtScript.

Pero en vez de contarte mas, te recomiendo que lo veas a continuación:

TypeScript Origins: The Documentary

Me pareció muy inspirador ver este documental de TypeScript. Ver la historia contada por los mismos creadores, observar como creció desde una idea para poder terminar otro proyecto, hasta ser uno de los principales lenguajes de programación, es muy placentero.

Ojalá hagan mas documentales de este tipo, tal vez uno de Visual Studio Code. Pues luego de ver este documental me dio curiosidad de cómo desarrollaron este editor.

Finalmente, te recomiendo aprender este lenguaje y hacer tu experiencia con JS mas placentera.

Deja un comentario