Recientemente, mientras exploraba Twitter/X, vi una publicación que destacaba contenido de calidad para perfeccionar las habilidades en Vue.JS. Entre las opciones, llamó mi atención el libro «Design Patterns for Vue.JS». Dado que en ese momento estaba enfocado en mejorar mis habilidades de pruebas de código y aplicar patrones de diseño, decidí darle una oportunidad y contactar al autor para comprar una copia.

Al realizar la compra, me percaté de que para aquellos que residen en países en vías de desarrollo pueden obtener un descuento contactando directamente al autor. Así que me comuniqué con Lachlan Miller, quien generosamente me ofreció un considerable descuento. En el transcurso de nuestra conversación, Miller mencionó que estaba en proceso de reescribir el libro para garantizar la compatibilidad del código con Vue 3. Agradecido por la rebaja, opté por esperar a la nueva edición y así poder disfrutar de una lectura actualizada, cuya opinión compartiré con ustedes.

Portada de Design Patterns for Vue.JS
Portada del libro

Contenido de Design Patterns for Vue.js

El enfoque principal de este libro radica en cómo escribir tus componentes y código en Vue.JS de una manera que facilite su prueba. Se centra en la creación de código que permita generar pruebas automatizadas rápidamente y sin complicaciones, haciendo hincapié en la estructuración de soluciones que sean reutilizables y accesibles desde el ámbito de las pruebas.

Es importante destacar que si buscas un libro que enseñe los patrones de diseño más comunes para aplicarlos, este no es el indicado para ti. Aquí, los patrones de diseño presentados están diseñados para facilitar la creación de pruebas automatizadas y, por ende, mejorar la calidad de tu código. Esto resulta especialmente beneficioso si careces de conocimientos sobre cómo realizar pruebas o si no estás familiarizado con la creación de código escalable, sencillo y probado.

Todos los ejemplos se han sido actualizados a Vue 3 con Composition API, lo que los hace muy accesibles y comprensibles para captar las ideas sobre qué patrones aplicar. El contenido abarca desde las partes básicas de un componente hasta la creación de componentes complejos, así como la interacción con APIs, entre otros temas. En resumen, es un libro sumamente completo, por lo que también lo recomiendo para aquellos que deseen aprender más sobre Vue.

Recomendaciones

Este libro es interesante si deseas mejorar la forma en que escribes código que será probado con pruebas automatizadas. En mi opinión, Design Patterns for Vue.js es un buen libro para aprender a usar Vue.JS si vienes de otro framework, pues explica con detalle todo lo necesario para escribir aplicaciones con esta librería.

También es un buen repaso de lo que puedes hacer con Vue.JS y reforzar como escribir código que sea fácil de probar. Yo recomiendo este libro a cualquier desarrollador web que desee mejorar sus habilidades con Vue.JS (sobre todo, aquellos que están iniciándose)

Compra el libro en su pagina oficial y disfruta de su contenido.

La entrada Design Patterns for Vue.js: Iníciate en Vue escribiendo buen código se publicó primero en El blog de Skatox.

El canal de YouTube conocido como Honeypot ha producido excelentes documentales que exploran diversas tecnologías modernas desde la perspectiva de sus creadores o personas clave en su desarrollo. En esta ocasión, nos adentramos en «Kubernetes: el documental», una obra dividida en dos partes de quince minutos cada una, que nos sumerge en el origen y la expansión de esta tecnología fundamental, la cual ha revolucionado los despliegues en la nube.

Primera parte de Kubernetes: el documental

La primera parte del documental comienza sobre el como fue la creación y popularización de Docker, cómo los contenedores permitieron impulsar el concepto de nube y la problemática en ese momento que llevó a la creación de un orquestador de contenedores bajo una licencia similar a la de Docker.

Esta parte me parece interesante porque los programadores que aparecen, nos dan una introducción a la creación de Kubernetes cuando ni siquiera tenia nombre oficial. Cómo fue el proceso de convencer a los líderes internos de Google para invertir en este proyecto y garantizarles que al ser de código abierto no estuviesen ayudando a la competencia, entre otros. La creación del logo y muchos mas detalles que no recuerdo que sean conocidos fuera de Kubernetes: el documental.

YouTube Video

Segunda parte del documental

En esta parte se adentra en el proceso de maduración y lanzamiento de Kubernetes. Cómo fue el proceso de Google para liberar esta aplicación, como integrar varias tecnologías internas que poseían y la competencia de Kubernetes con Apache Mesos.

Es interesante porque esta parte de desarrollo interno no es muy conocida y este documental permite conocerlo directamente por medio de sus programadores, ver por qué hicieron ciertas decisiones y sus experiencias durante este etapa.

También se explora el surgimiento de la Cloud Native Computing Foundation (CNCF), detallando sus motivaciones y la formación de esta comunidad clave. El proceso de liberación de la tecnología se describe minuciosamente, desde el arduo trabajo de los empleados durante jornadas de 24 horas para cumplir con los plazos, hasta su participación en diversas conferencias para presentar la tecnología y recibir retroalimentación invaluable.

Estos son solo algunos de los fascinantes aspectos que aborda el documental «Kubernetes». Te invito a ver el video a continuación y descubrir por ti mismo todo lo que te he mencionado.

YouTube Video

Te recomiendo verlo por cultura general y saber la historia de donde vienen las cosas. Luego de ver «Kubernetes: el documental» imagino que te animarás a hacer tu propio proyecto o migrarlo a la nube si no lo has hecho.

Recuerda compartir esta entrada si te gustó, deja un comentario para expresar tu opinión o añade cualquier información que consideres necesaria.

La entrada Kubernetes: el documental se publicó primero en El blog de Skatox.

Buscando libros sobre la cultura Hacker, decidí comprar A for Anonymous porque estaba escrito por David Kushner el mismo autor de Masters of Doom, un libro que me encantó sobre la creación del juego Doom. Al llegar el libro y abrirlo me di cuenta que no es un libro sino un comic sobre la historia del movimiento Anonymous. Como me gustan los cómics y dibujos animados, no me molestó y empecé a leerlo.

Contenido del libro

El cómic presenta una narrativa que inicia desde las primeras actividades de hacktivismo realizadas por Cult of the Dead Cow hasta los más recientes y notorios ataques perpetrados por el grupo fundacional de Anonymous. Este relato se desarrolla a través de una fascinante entrevista entre David Kushner y Christopher Doyon, alias «Comandante X» dentro de la comunidad de Anonymous.

La información puede parecer muy superficial para las personas que están dentro del mundo del hacking o hacktivismo. Pero para una persona promedio, descubrirá como son esos grupos virtuales y el proceso para coordinarse para realizar tareas mas allá de la red. Pero lo interesante es ver como todo lo que dicen es real y no ficticio como la mayoría de comics sobre el tema.

Respecto al arte visual creado por Koren Shadmi, es muy bueno aunque nada impresionante. Te permite deleitar el arte de comic y complementa muy bien al contenido escrito sobre el movimiento anonymous. Todo es en blanco y negro, tiene un estilo único y las cosas dibujadas sobre lugares o personas reales, son bien hechas y respetan la realidad.

A for Anonymous: How a Mysterious Hacker Collective Transformed the World
Portada de libro «A for Anonymous: How a Mysterious Hacker Collective Transformed the World»

¿Quiénes deben leer A for Anonymous…?

Considero que este libro esta dirigido a cualquier público. Si estas o no involucrado(a) en el mundo de la seguridad informática, te va a gustar el libro porque es muy simple de digerir pero con buen contenido del movimiento Anonymous.

A for Anonymous: How a Mysterious Hacker Collective Transformed the World es una lectora obligatoria si te gusta el hacktivismo y los cómics. Pues esta obra es la unión perfecta de ambos mundo.

Comprálo desde este enlace y recuerda….Hack the planet!

La entrada A for Anonymous: un cómic sobre la historia del famoso grupo de Hacktivistas se publicó primero en El blog de Skatox.

Hace un par de días vi un parche para Linux por parte de Google, sobre como lograron optimizar la gestión de red hasta en un 40% en plataformas con muchas conexiones y procesadores AMD.

Linux en un disquete
Al decir Linux me refiero al kernel

Me llamó la atención por la simplicidad del código, pues solo consiste en re-ordenar el contenido de unas estructuras de red del kernel Linux para evitar que la data quede separada en 2 líneas de cache L3. Claro, Google para poder llegar a este parche tuvo que realizar varias pruebas de bajo nivel para conocer que atributos re-ordenar.

Como este es el tipo de problemas que suelo enseñar en la materia de Sistemas Operativos de la UNET. Me animé a hacer un breve video para mis alumnos y lectores de este blog. El contenido del mismo es sobre como el CPU accede a la memoria, los niveles de caché, el contenido del parche de Linux y los resultados obtenidos en procesadores AMD e Intel.

YouTube Video

Espero les haya gustado y si desean conocer sobre Sistemas Operativos o Linux, pueden suscribirse a mi canal de Youtube sobre Sistemas Operativos, donde hospedo mis clases de la universidad y publico contenido similar.

La entrada Google optimizó en un 40% la gestión de red en Linux se publicó primero en El blog de Skatox.

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!

La entrada Nvchad 2.50: nueva arquitectura y cómo migrar se publicó primero en El blog de Skatox.

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.

La entrada Unit Testing Principles, Practices, and Patterns: libro para iniciarte en el testing se publicó primero en El blog de Skatox.