Javier Valencia Javier Valencia

Filtrando por categoría: Desarrollo

56 resultados

ClickHouse desde cero (IV): materialized views, projections y TTL

26 de abril de 2026 · 5 min de lectura

Cuarta entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 12 minutos. En la entrega III vimos cómo escribir consultas analíticas que en PostgreSQL serían ciencia ficción. En este post damos el siguiente salto: cómo evitar recalcular lo mismo una y otra vez. Cuando un dashboard consulta los mismos datos cada minuto, con las mismas agregaciones, escanear mil millones de filas en cada petición es tirar recursos a la basura. ClickHouse ofrece tres herramientas complementarias: materialized views, projections y TTL. Materialized views: la joya de la corona Un materialized view en ClickHouse no es lo que...

ClickHouse desde cero (III): consultas analíticas en profundidad

24 de abril de 2026 · 3 min de lectura

Tercera entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 12 minutos. Ya tienes ClickHouse funcionando (entrega I) y sabes diseñar tablas con tipos adecuados y MergeTree bien pensado (entrega II). Ahora toca la parte divertida: escribir consultas que, con PostgreSQL, no te habrías planteado ni intentar. Este post no pretende listar todas las funciones (hay cientos), sino mostrar las familias que más usarás y las que te van a sorprender si vienes del SQL tradicional. Si aún no tienes claro por qué ClickHouse puede ser necesario en tu stack, léete ClickHouse para desarrolladores que vienen...

Makefiles en proyectos Go: lo justo y necesario

22 de abril de 2026 · 2 min de lectura

Go tiene go build, go test, go run. No necesita un sistema de build. Pero en cuanto tu proyecto crece un poco, acabas con comandos que no son triviales de recordar: flags de compilación, variables de entorno para tests, linters, generación de código, deploys. Un Makefile es la forma más simple de documentar y ejecutar esos comandos. El Makefile mínimo Cinco targets. Cinco comandos. Nada más. Con esto puedes hacer make build, make test, make run y make lint sin recordar nada. El .PHONY le dice a Make que estos targets no son ficheros sino acciones. Variables Si repites valores,...

ClickHouse desde cero (II): tipos de datos y MergeTree

22 de abril de 2026 · 5 min de lectura

Segunda entrega de la serie ClickHouse desde cero a pro. Tiempo de lectura estimado: 11 minutos. En la entrega anterior levantamos un ClickHouse local, creamos una tabla con MergeTree y metimos un millón de filas. En este post vamos al grano: qué tipos de datos existen, por qué los strings de baja cardinalidad son especiales, y cómo funciona realmente el motor MergeTree por dentro. Si entiendes estas dos cosas (tipos y MergeTree), ya estás por encima del 80% de la gente que usa ClickHouse a diario. El sistema de tipos ClickHouse tiene un sistema de tipos estático y fuerte, con...

Git aliases que uso cada día

20 de abril de 2026 · 6 min de lectura

Git es una herramienta enorme. La mayoría de desarrolladores conoce bien veinte comandos, apenas usa cinco y escribe los cinco sin parar durante ocho horas al día. Cuando escribes git status cien veces por día y git checkout -b otras treinta, cada carácter ahorrado empieza a sumar. Y más allá del ahorro de teclas, un buen conjunto de aliases te convierte ciertos comandos incómodos en comandos rápidos, y te evita los sustos que suelen venir de teclear mal algo con --force. Este post es mi .gitconfig comentado, después de diez años afinándolo. No es exhaustivo: es el mínimo que me...