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

Como crear un productor personalizado en Broadway

Broadway es una herramienta construida sobre GenStage, concurrente de varias etapas para crear pipelines de ingesta y procesamiento de datos. Es decir, esta biblioteca nos permite consumir y procesar información de fuentes como un Message Broker (Kafka, RabbitMQ, etc.). Por si fuera poco, viene con una serie de características integradas que nos permiten diseñar nuestros pipelines con una gran flexibilidad: Back-pressure Concurrencia y procesamiento por lotes Rate limiting Varios producers out of the box La posibilidad de crear custom producers Entre otras....

febrero 21, 2023 · Me

Useful Patterns to communicate with external services

Communicating with external services like a third-party API REST is hard, not only because the contract is designed by someone else. Also, now you need to consider the Fallacies of Distributed Systems. Calls to external services can fail for multiple reasons unrelated to business concerns. You can receive a timeout error, the network can fail, bandwith related errors, etc. However, some patterns exist to build more reliable systems when dealing with network calls....

enero 3, 2023 · Me