Artículos

  • PHP 0

    Static en PHP: métodos y propiedades estáticas, self:: vs static::

    Aprende a usar propiedades y métodos estáticos en PHP, la diferencia entre self:: y static:: con Late Static Binding, el patrón Singleton, fábricas estáticas con named constructors y cuándo evitar static para no complicar el testing.

  • Scala 0

    Akka y Apache Pekko en 2026: actores para sistemas concurrentes y distribuidos en Scala

    En 2022 Lightbend cambió la licencia de Akka a BSL 1.1 y nació Apache Pekko, el fork Apache 2.0. Comparativa, modelo de actores tipados, Pekko HTTP y cuándo elegir actores frente a ZIO o Cats Effect.

  • BBDD 0

    EXPLAIN ANALYZE en PostgreSQL: leer planes de ejecución y optimizar queries lentas

    EXPLAIN ANALYZE ejecuta la query y muestra tiempos reales por nodo. Seq Scan en tabla grande, rows estimadas muy distintas a las reales y Nested Loop con muchos loops son las señales de alarma más habituales. Cómo leerlas e interpretarlas.

  • C++ 0

    Módulos en C++20: el sistema de importación que reemplaza a los headers

    Los módulos de C++20 eliminan los problemas clásicos de los headers: compilación más rápida, sin macros filtradas, sin include guards. Estado actual del soporte en GCC, Clang, MSVC y CMake.

  • Generales 0

    Tokio avanzado: channels async, Mutex async, streams y manejo de errores en tareas

    Aprende a coordinar tareas async en Rust con tokio::sync::mpsc, oneshot y Mutex async. Ejemplos reales de JoinSet con timeout, servidor TCP concurrente, scraper paralelo y cancelación limpia de tareas con abort().

  • Python 0

    Decoradores avanzados en Python: paramétricos, decoradores de clase y stacking

    Aprende a crear decoradores con parámetros en Python usando tres niveles de anidamiento, apila varios con stacking, implementa clases como decoradores con __call__ y domina patrones reales de timing, retry y logging con @wraps incluido.

  • PHP 0

    Métodos mágicos en PHP: __toString, __get, __set, __call e __invoke

    Los métodos mágicos de PHP son funciones que el intérprete invoca automáticamente en situaciones concretas: convertir un objeto a cadena, acceder a propiedades inexistentes, interceptar llamadas a métodos no definidos o usar el objeto como callable. Aprende a usarlos con ejemplos reales.

  • Generales 0

    async/await en Rust con Tokio: fundamentos del runtime y tareas asíncronas

    Aprende a usar async/await en Rust con Tokio: cómo funcionan los futures, tokio::main para arrancar el runtime, tokio::spawn para tareas concurrentes, join! para esperar múltiples peticiones HTTP a la vez y select! para implementar timeouts. Ejemplos reales con reqwest.

  • Python 0

    pytest en Python: fixtures, parametrize, marks, monkeypatch y conftest

    pytest es el framework de testing más usado en Python: tests sin clases, fixtures con inyección automática, parametrize para múltiples casos, monkeypatch para parchear dependencias externas y conftest.py para compartir configuración entre archivos de test.

  • C 0

    Estructuras de datos en C: listas enlazadas, árboles binarios y tablas hash desde cero

    Implementa las estructuras de datos fundamentales en C: lista enlazada simple, árbol binario de búsqueda y tabla hash con encadenamiento. Código completo y explicado.