Me llamo Juan Nicolás, Nicolás es apellido, y llevo trabajando y destrozando ordenadores desde que tenía 6 años.

Empecé a escribir este blog allá por el 2020, hace casi cuatro años en el momento de escribir estas líneas. En su momento, pensé que sería buena idea compartir mi experiencia diaria y algunos trucos que fui aprendiendo de la experiencia como desarrollador de software y, a día de hoy, creo que no me equivoqué por los motivos que te contaré más adelante.

En un principio, empecé apuntando cosas, líneas de comando y trucos interesantes de diversa índole en un fichero de texto que, con el tiempo, tenía demasiada información y en el que no podía encontrar nada. Así que, llegados a ese punto, pensé que necesitaba un almacén o repositorio donde guardar todos estos tips o consejos por si me tenía que enfrentar al mismo problema. En parte, este es uno de los motivos por los que me decidí a crear este pequeño proyecto.

El otro gran motivo era poder compartir con otros usuarios esa experiencia en formato texto que tanto sufrimiento me había costado conseguir. Cuando te enfrentas a un problema de software y en ordenadores en general es común que no te salga bien a la primera, ni a la segunda, ni a la tercera… y así hasta varios cafés después. Yo había tenido que pasar por ahí porque no encontré ningún buen recurso en internet en el que hablasen del problema, no estaba en mi idioma o vaya usted a saber. Así que, si la gente comparte librerías de código, ¿por qué no ayudar a los demás con información de forma accesible?

Y es así, uniendo la necesidad de compartir y repositar la información como nace este pequeño proyecto llamado “El Blog de Juan Nicolás”.

Sobre mi experiencia

A nivel profesional empecé, como casi todo el mundo, diseñando páginas en Wordpress para amigos y conocidos. Pero con el paso del tiempo, me di cuenta de que Wordpress se quedaba pequeño para lo que mis clientes me pedían. No me malinterpretes: estoy muy agradecido a Wordpress por democratizar Internet, permitiendo que usuarios con bajos o nulos conocimientos tecnológicos puedan escribir su blog o sitio web para su pequeña empresa.

Así que para los proyectos más complejos empecé a utilizar Symfony (recuerdo que empecé con la versión 2.2) a la hora de implementar páginas web o Apps complejas. Hice el proyecto de fin de grado con él y he de reconocer que aunque la curva de aprendizaje no es relativamente difícil, aún sigo aprendiendo trucos de él. Junto con Symfony, llegó el duo JS/CSS y todas las herramientas asociadas como Gulp, Grunt, Sass y luego, bastante después, Webpack.

El siguiente salto vino con la tecnología orientada a móvil con la primera versión de Ionic (basada en AngularJS). ¡Guau! Una página web empaquetada e instalable en móviles Android e iPhone. La última versión que utilicé fue la 4. Aunque al principio es un poco frustrante tener que volver a estudiar lo que teóricamente ya sabías, en el fondo me gusta porque repasas conocimientos y aprendes otros nuevos.

Por último, el último gran salto que recuerdo de mi historia es la llegada de Docker. Recuerdo que cambió la forma de crear nuevas aplicaciones o plataformas. Ya no había que usar Vagrant ni esperar a que arrancase, ni complicarse “mucho” con el tema de redes. Con un sencillo comando tenías tu PHP, tu Node, tu Redis, tu MySQL y algunos contenedores más funcionando, enrutados y como si estuviesen instalados en tu local. Y si cambiabas de PC, no había que hacer nada salvo instalar Docker. Creo que hablaré mucho de Docker en el blog.

Luego vinieron otras tecnologías como las bases de datos NoSQL o incluso orientadas a series temporales como Influx, la monitorización, la caché… y otras formas de escribir código como SOLID, código limpio, hacer tests… de las que también quiero hablar por aquí.

Tanto en lo profesional como en lo personal, soy una persona inquieta y a la que le gusta aprender. Empecé con un script php hace de veinte años y, ¡anda que no ha llovido desde entonces!. Hoy en día trabajo en Python, Node.js y mi querido PHP montado sobre contenedores de Docker, monitorizados con ELK y/o Prometheus, desplegados con pipelines, etc.

Echando la vista atrás, empecé haciendo páginas PHP en formato script, un poco de HTML y un par de líneas de CSS. Hoy en día, casi cualquier proyecto en el que trabajo tiene, por una parte, microservicios orquestados (ya sea en Python, Node.js o PHP), gestionados por alguna tecnología que se apoya en Docker, monitorizados y desplegados de forma automática. Y, por la parte del frontal, Javascript/Typescript, hojas inacabables de CSS/SCSS, Vite para compactarlo todo, etc. ¡Cómo ha cambiado la cosa!

Sobre el blog a nivel tecnologías

Como te comentaba antes, empecé en el mundo web de forma más profesional con Wordpress, pero este blog nunca ha estado en un Wordpress. Creo que me lancé a escribir en este blog para poder probar Ghost, un gestor de contenidos escrito para Node.js, y la verdad es que me gustó mucho. Solo gestiona posts, nada más: ni plugins, ni usuarios, ni nada. Nunca había visto un editor de texto tan fácil y simple. Así que en octubre de 2020, salimos Ghost y yo a producción con este blog.

Estuvimos juntos más o menos un año, hasta que a finales de 2021 descubrí una tecnología para hacer páginas web estáticas: Gatsby. Según pude leer, generaba páginas estáticas completas, lo que aporta dos beneficios interesantes: eran mucho más rápidas y no había que exponer la infraestructura de microservicios que se usaban por detrás. Tras leer, aprender y pelearme con Gatsby, a finales de diciembre de 2021 lanzaba este mismo blog usando Gatsby en el frontal.

Con el paso del tiempo, finalmente migré a otro sistema de trabajo, dejando los artículos en Markdown en la propia carpeta del repositorio de código, diciendo adios a Ghost como gestor de contenidos. Al fin y al cabo, no había más escritores en el blog y podía organizarme conmigo mismo las publicaciones.

Así estuve trabajando más de dos años hasta que se cruzó Astro en mi camino. Astro es bastante similar a Gatsby en cuanto a que ambos sirven para generar páginas web estáticas y mantienen los dos principios más útiles que le veo a esta metodología: cargar más rápido y no exponer los servidores. Sin embargo, tiene un aspecto que los diferencia bastante: Astro por defecto no entrega Javascript al cliente. Esto hace que las páginas generadas se carguen mucho antes en el navegador y sean accesibles antes. Con esto en mente, a mediados del mes de mayo de 2024, viramos desde Gatsby hasta Astro. A día de hoy, este blog se construye en 38 segundos gracias a Astro.

Sobre los contenidos

Como te decía anteriormente, decidí lanzarme a escribir este blog por dos motivos: compartir con otros usuarios mi experiencia y para poder recordarme a mí mismo mi experiencia. Estos son los dos principios básicos que rigen este proyecto. Con esto en mente, en este blog podrás encontrar artículos sobre tecnologías curiosas que me encuentro por Internet, trucos para ciertos lenguajes de programación, metodologías de trabajo que permiten trabajar más rápido, etc.

Escribí un artículo sobre animaciones en CSS, las tuberías en Javascript y mi querido artículo de CORS (uno de los que más visitas tienen en la web). Quiero decir con ello que es posible que aparezca un artículo de la cosa más insospechada: tan solo hace falta que se me cruce en mi camino.

No voy a escribir sobre cosas que están muy bien documentadas, disponibles en español y de las que tienes multitud de recursos online en español. No “reinventemos la rueda”: utilicemos información de otros blogs y otros usuarios, como yo, que han dedicado su tiempo a escribir artículos bien documentados.

En cualquier caso, espero que estas líneas te sean de utilidad. Y si tienes una duda, queja o sugerencia, puedes encontrarme en las redes sociales. Y, poco más que añadir, salvo como llevo haciendo casi cuatro años,

¡ Qué tengas un feliz coding !