La mayoría de desarrolladores usa systemd para tres cosas: systemctl start, systemctl stop y systemctl restart. Pero systemd es una herramienta enormemente potente que puede hacer la vida de un sysadmin mucho más fácil si le dedicas media hora a entender sus opciones. Este post cubre las funcionalidades que uso a diario y que van mucho más allá de arrancar y parar servicios. Hardening: que tu servicio no pueda hacer lo que no debe La funcionalidad de systemd que más me gusta y que menos gente conoce es el hardening de servicios. Con unas pocas directivas puedes limitar lo que...
PostgreSQL es la base de datos que más uso y la que más respeto. Es potente, fiable y tiene funcionalidades que mucha gente no conoce porque se queda en el SELECT * FROM y poco más. Estas son diez consultas que uso regularmente y que creo que todo desarrollador debería tener en su repertorio. 1. CTEs (Common Table Expressions) Las CTEs te permiten escribir subqueries con nombre, haciendo que las consultas complejas sean legibles: Sin la CTE, esto sería una subquery anidada ilegible. Con ella, primero calculas los ingresos mensuales y luego los comparas con el mes anterior. Cada paso...
Si usas Claude Code para trabajar en tus proyectos, hay un fichero que marca la diferencia entre tener que explicar lo mismo en cada sesión o que Claude entienda tu proyecto desde el primer momento: CLAUDE.md. Qué es CLAUDE.md CLAUDE.md es un fichero Markdown que se coloca en la raíz de tu proyecto (o en otros lugares, como veremos) y que Claude Code lee automáticamente al inicio de cada sesión. Funciona como un manual de instrucciones persistente: le dice a Claude cómo está organizado tu proyecto, qué comandos usar, qué convenciones seguir y qué errores evitar. Piensa en él como...
Tercera entrega de la serie Rails desde cero. Tiempo de lectura estimado: 15 minutos. Si ya tienes claro cómo funcionan los modelos, las validaciones y las asociaciones básicas, es hora de hablar de lo que realmente separa una aplicación Rails mantenible de una que se convierte en un problema. En este artículo cubrimos los temas que más impactan en el rendimiento, la legibilidad y la escalabilidad: el problema N+1, eager loading, consultas avanzadas, el uso correcto de callbacks, y cómo estructurar la lógica de negocio cuando los modelos empiezan a crecer. El problema N+1: el error más común en Rails...
Segunda entrega de la serie Rails desde cero. Tiempo de lectura estimado: 10 minutos. ActiveRecord es el corazón de cualquier aplicación Rails. Es el ORM (Object-Relational Mapper) que traduce las filas de tu base de datos en objetos Ruby, y tus objetos Ruby en SQL. Gracias a él puedes trabajar con los datos de forma expresiva y natural sin escribir casi una sola línea de SQL. En este artículo veremos los fundamentos: cómo se definen los modelos, cómo funcionan las asociaciones, cómo se validan los datos y cómo se hacen consultas. En el siguiente artículo profundizaremos en los aspectos avanzados...