ClickHouse es una base de datos columnar diseñada para análisis de grandes volúmenes de datos. Si vienes de PostgreSQL, muchas cosas te van a resultar familiares porque ClickHouse habla SQL. Pero las diferencias internas son enormes y si las ignoras vas a sufrir. Este post explica ClickHouse desde la perspectiva de alguien que ya sabe PostgreSQL. Qué problema resuelve PostgreSQL es una base de datos de propósito general optimizada para transacciones: inserta una fila, lee una fila, actualiza una fila. Es excelente para la operativa diaria de una aplicación. ClickHouse resuelve un problema diferente: consultas analíticas sobre millones o miles...
Cualquiera que haya integrado Stripe, GitHub, GitLab, Mailgun, Twilio o cualquier sistema moderno que hable webhooks se ha encontrado con el mismo problema: necesitas una URL pública para recibir los eventos de prueba, pero estás desarrollando en local. Y el sistema de webhooks del proveedor no va a llegar a tu localhost:3000. Durante años, la solución ha sido ngrok, localtunnel, cloudflared tunnel, o montar un VPS con un Docker expuesto. Todos funcionan. Todos exigen instalar algo, registrarse, abrir puertos, gestionar túneles. Para algo que debería ser: dame una URL, mándale peticiones, muéstrame qué llega. webhooks.javiervalencia.net hace exactamente eso, sin registro...
Hace unos meses que tengo rodando un pequeño servicio propio en ipinfo.javiervalencia.net. Es una API de geolocalización de IPs: le das una dirección y te devuelve ciudad, región, país, coordenadas, código postal y zona horaria. Sin registro, sin API key, sin formulario, sin cookies. La usas desde la terminal, desde un script, desde un dashboard o desde un navegador. Este post cuenta qué hace, cómo está construida, y unos cuantos ejemplos prácticos para que te hagas una idea de cuándo puede serte útil. Por qué existe Llevo años usando servicios de geolocalización de IPs para cosas muy mundanas: Saber desde...
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...
Durante años este blog corrió sobre WordPress. Funcionaba. Hacía lo que tenía que hacer. Pero con el tiempo la relación se fue desgastando hasta que un día decidí que era suficiente y lo tiré todo para empezar de cero. Este post cuenta por qué, cómo y qué he aprendido en el proceso. Por qué dejé WordPress WordPress es un buen software. Lo digo sin ironía. Ha democratizado la publicación web de una forma que ninguna otra herramienta ha conseguido. Pero para un blog personal con diez posts, WordPress es como usar un camión articulado para ir a comprar el pan....