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’s 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

Como mantener integridad de los datos con Elixir Phoenix y Postgres

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. Cuando insertamos, actualizamos o eliminamos información la integridad puede perderse....

mayo 15, 2023 · Me

Siempre asigna un valor por defecto a los campos booleanos

Es relativamente común ver campos booleanos en una base de datos para representar algún estado y al mismo tiempo es igualmente común ver que por un descuido esta columna pueda y llegue a tener valores nulos. Esto puede acarrear errores de semántica y de lógica. Para evitar este problema es una buena práctica definir los campos como null: false y además siempre dar un valor por defecto, por ejemplo admin: false....

abril 18, 2023 · Me