馃憢

Software Engineer currently working with Elixir.

Kubernetes 1: Conceptos basicos

Kubernetes es una plataforma para administrar servicios. Uno de sus principales casos de uso es el de orquestar contenedores. Es decir, si tienes una plataforma que requiere confiabilidad y escalabilidad (entre otras) y que se empaqueta como im谩genes de Docker. Kubernetes te permite administrar tu plataforma mediante diversas herramientas. Componentes Tenemos tres grandes conceptos: los clusters, el Control Plane y los nodos 1 El control plane se encarga de gestionar las tareas relacionadas al cluster, como guardar metadatos sobre los nodos, decidir en que nodo crear los nuevos pods, verificar la salud de los nodos, etc....

noviembre 12, 2024 路 Me

Pipelines de CI en proyectos de Elixir

La integraci贸n continua (CI) es una de las pr谩cticas m谩s importantes que trajo consigo la revoluci贸n DevOps y su esfuerzo por reducir los ciclos de retroalimentaci贸n cuando desarrollamos software. Para esto los pipelines con verificaciones de calidad y conformidad ejecutados por un servidor de integraci贸n continua se volvieron una parte fundamental. Al permitirnos verificar, al menos hasta cierto punto que los cambios que estamos integrando cumplen con los criterios establecidos....

julio 29, 2024 路 Me

Arquitectura hexagonal en Phoenix

La arquitectura hexagonal o de puertos y adaptadores consta de 3 capas: Infraestructura: Lo que conecta nuestra capa de aplicaci贸n con la entrada y salida de informaci贸n: base de datos, HTTP, message鈥檚 queues, etc. Aplicaci贸n: Donde residen nuestros casos de uso Dominio: Aqu铆 encontramos cosas como nuestras entidades Por que puertos y adaptadores? Podemos decir que los puertos son las interfaces de entrada y salida de nuestra aplicaci贸n. Una API JSON, un consumidor de un Message Queue, etc....

abril 7, 2024 路 Me

Formularios sin Changeset en Phoenix LiveView

La forma est谩ndar de crear formularios en LiveView es utilizar el helper to_form/1 pas谩ndole una estructura changeset, por ejemplo: to_form(Accounts.change_user(%User{}))) Sin embargo, pueden surgir situaciones donde tengamos un formulario sin tener que respaldarlo con un changeset. Porque saltarse el changeset? Ecto.Changeset es una herramienta para trabajar con informaci贸n de distintas fuentes. Proporciona validaciones, castings y manejo de errores. Normalmente creamos formularios basados en un schema de Ecto, es decir que tienen una tabla en nuestra base de datos....

agosto 30, 2023 路 Me

Como mantener integridad de los datos con Ruby on Rails y Postgres

Este post es una adaptaci贸n a Ruby on Rails del post con ejemplos en Elixir y Phoenix. Una de las formas m谩s comunes de almacenar datos en software es utilizando bases de datos relaciones. A煤n y con el surgimiento de propuestas como las bases de datos NoSQL, el modelo relacional sigue estando presente porque es 煤til para la mayor铆a de los casos. 驴Qu茅 es la integridad de los datos? Se refiere a que la informaci贸n almacenada en una base de datos sea completa y correcta....

junio 21, 2023 路 Me