Docker, un superpoder

Que sería del mundo sin docker?, yo llegué a vivir esos años antes de docker. Donde instalar o configurar algún programa requería llevar un maletín con cd’s o usb’s, un proceso lento comparado a estos tiempos.

Con la llegada de docker, todo el proceso de desarrollo y despliegue se agilizó, ya llevo algunos años usándolo y considero es el primer superpoder que debemos adquirir en este camino a DevOps.

Empezemos:

Seguir leyendo «Docker, un superpoder»

Complicándome la vida con microservicios

Si tuvieras que empezar el proyecto que hoy en día estás trabajando desde cero, lo harías con un enfoque de microservicios?

En los últimos años, la popularidad de microservicios ha ido aumentando, sobre todo por ser impulsado por tecnologías como Serverless, K8’s, Docker y servicios de CI/CD.

Pero eso no quiere decir que proyectos con otras arquitecturas sean peores, yo eh trabajado con plataformas increíbles hechas con arquitectura monolita, como Gitlab, Odoo, Django, Moodle, WordPress, etc.

Seguir leyendo «Complicándome la vida con microservicios»

Generar Texto

… está lloviendo!

qué sentimiento genera?, tristeza, alegría, enojo? Nos falta contexto.

  • Había una sequía y por fin está lloviendo. 🙂
  • La boda es en el parque y está lloviendo. 😟

Las redes neuronales generativas no deben tener memoria, pero en este caso si, para poder predecir que va a pasar después.

La metodología de backpropagation puede ayudarnos a entrenar los cambios de una imagen observando solo la función de pérdida que se debe ajustar a estos cambios gradualmente.

En el caso del texto este se trata como modelos discretos y por lo tanto esta metodología no se puede aplicar directamente.

Seguir leyendo «Generar Texto»

RabbitMQ – Tipos de intercambiadores

RabbitMQ es un software intermediario de mensajes de código abierto,que se utiliza para facilitar la comunicación entre diferentes aplicaciones o componentes de software, a menudo en un entorno de sistema distribuido.

RabbitMQ implementa el estándar Advanced Message Queuing Protocol (AMQP), que es un protocolo de mensajería que permite a las aplicaciones enviar y recibir mensajes de manera eficiente y confiable, incluso cuando están distribuidas en múltiples servidores o nodos.

1) Fanout Exchange

via GIPHY Seguir leyendo «RabbitMQ – Tipos de intercambiadores»

Developer Experience

Hola!!!, aquí volviendo a las andanzas 😅. Hay muchas cosas que contar, sobre todo en este mundo del desarrollo de software que nunca se detiene.

Una breve historia

Alguna vez escucharon de la experiencia de usuario, user experience, es muy probable que sí, incluso se escribieron cientos de libros, y es que un tema muy interesante que busca despertar una emoción satisfactoria mientras se interactúa con una aplicación.

Seguir leyendo «Developer Experience»

Java sin Boilerplate, no es Java.

La POO es un paradigma que permite hacer de la programación un arte, pero pienso que hay ciertos lenguajes que acaban con la creatividad por el hecho de tener que enfocarse en estructuras de código repetitivo, eso me pasó cuando me tocó aprender Java. Me tomé mi tiempo para escribir este post, porque estoy seguro que Java es un lenguaje amado por muchos programadores, se han hecho increíbles desarrollos con este lenguaje y se siguen haciendo, por ello, no solo voy a explicar mi punto de vista, sino también la opinión de programadores expertos en Java.

Empecemos por definir ¿qué es boilerplate?, (1) bueno en simples palabras una cita de Spring in Action:
“¿Alguna vez has escrito algún código y luego sentiste que ya habías escrito el mismo código antes? Eso no es déjà vu, mi amigo. Eso es el código repetitivo, el código que a menudo se tiene que escribir una y otra vez para llevar a cabo tareas comunes y simples.”
Seguir leyendo «Java sin Boilerplate, no es Java.»

Challenge1: Fractal Tree

Hola mundo, hace unas semanas vi un video en el cual dibujaron un árbol fractal utilizando una librearía llamada p5.js en javascript. Entonces me pareció un buen reto, porque necesitas creatividad para armar el algoritmo y también porque me gusta mucho python y quería programarlo en mi lenguaje favorito.

Entonces, ¿qué es un ábol fractal?, es una secuencia de ciclos donde a partir de un punto se origina una bifurcación y este a su vez genera sus propias bifurcaciones y así sucesivamente, el ángulo que separa las bifurcaciones debe ser constante pero la longitud de la línea va reduciéndose por cada ciclo.

Para programarlo en python, utilice una librería llamada: turtle, que es muy útil porque me permite digujar líneas, manejando su punto de partida, longitud de la línea y ángulo; detalles que me sirve para dibujar un árbol fractal.
Seguir leyendo «Challenge1: Fractal Tree»