Artículos

  • BBDD 0

    JSON y JSONB en PostgreSQL: operadores, índices y cuándo tiene sentido un campo semi-estructurado

    JSON guarda el texto original; JSONB lo descompone en binario y permite índices GIN. Los operadores ->, ->>, @>, ? cubren la mayoría de los casos. JSONB es la opción correcta salvo que necesites preservar el formato exacto del JSON.

  • C++ 0

    Concepts y requires en C++20: constraints que sustituyen al SFINAE

    Los concepts de C++20 permiten añadir restricciones a templates con una sintaxis legible y errores de compilación comprensibles. Guia práctica con requires, abbreviated templates y conceptos estándar.

  • BBDD 0

    Índices en PostgreSQL: B-tree, GIN, GiST y BRIN — cuándo usar cada uno

    PostgreSQL tiene cuatro tipos principales de índice. B-tree es el de uso general. GIN va bien para arrays y JSONB. GiST es ideal para datos geoespaciales y rangos. BRIN es perfecto para tablas de logs con datos temporales correlacionados.

  • C++ 0

    Smart pointers en C++ moderno: unique_ptr, shared_ptr y weak_ptr sin memory leaks

    unique_ptr, shared_ptr y weak_ptr son la base del manejo de memoria en C++ moderno. Esta guia explica cuándo usar cada uno, cómo evitar ciclos y los errores más comunes.

  • BBDD 0

    CTEs en SQL: WITH, WITH RECURSIVE y cuándo usarlos en lugar de subconsultas

    Las CTEs (WITH) organizan queries complejas y permiten reutilizar subconsultas. WITH RECURSIVE recorre jerarquías y grafos. En PostgreSQL son optimization fences por defecto: se materializan salvo que uses NOT MATERIALIZED.

  • C++ 0

    Corrutinas en C++20: co_await, co_yield y generators en la práctica

    Las corrutinas de C++20 permiten escribir código asíncrono y generadores sin callbacks ni máquinas de estado manuales. Guía práctica de co_await, co_yield y std::generator de C++23.

  • BBDD 0

    Funciones de ventana en SQL: ROW_NUMBER, RANK, LAG y LEAD en la práctica

    Las funciones de ventana calculan sobre conjuntos de filas relacionadas sin colapsar el resultado. ROW_NUMBER, RANK, DENSE_RANK, LAG y LEAD resuelven patrones habituales de análisis que con GROUP BY serían mucho más complejos.

  • C++ 0

    std::ranges en C++20/23: pipelines de datos sin bucles manuales

    std::ranges y las vistas de C++20/23 permiten construir pipelines de transformación de datos con el operador |. Aprende filter, transform, take, zip y las novedades de C++23.

  • BBDD 0

    PostgreSQL 17 en 2026: las novedades más importantes de la última versión mayor

    PostgreSQL 17 llegó en septiembre de 2024 con VACUUM incremental, pg_dump más rápido con paralelismo mejorado, constructores SQL/JSON estándar y failover slots en replicación lógica. Un repaso a lo que cambia de verdad en producción.

  • C++ 0

    C++23 en la práctica: los cambios que ya puedes usar con GCC 14 y Clang 18

    C++23 ya tiene soporte completo en GCC 14 y Clang 18. Repasamos std::expected, std::print, std::mdspan, deducción de this y más novedades que puedes usar ahora mismo.