Artículos

  • Javascript 0

    Patrones de módulos modernos en JavaScript: IIFE, singleton, pub/sub y event emitter propio

    Guía práctica sobre patrones de módulo en JavaScript moderno con ESM: singleton sin getInstance(), pub/sub propio con función de limpieza, WeakMap para estado privado, Observer con WeakRef para evitar memory leaks y EventTarget nativo como event emitter sin librerías externas.

  • Generales 0

    Unsafe Rust: raw pointers, bloques unsafe y cuándo (y cuándo no) usarlo

    Unsafe Rust no es una puerta trasera para saltarse el compilador. Te habilita exactamente cinco operaciones que el código seguro no puede hacer: dereferenciar raw pointers, llamar a funciones unsafe o de C, acceder a statics mutables, implementar unsafe traits y acceder a campos de unions.

  • Generales 0

    SwiftUI con @Observable: el nuevo modelo de datos en Swift 5.9 y iOS 17

    Swift 5.9 introduce @Observable, la macro del framework Observation que sustituye a ObservableObject en SwiftUI. Rastrea exactamente qué propiedades usa cada vista y solo la actualiza cuando esas cambian, sin @Published ni la dicotomía @StateObject vs @ObservedObject. Con cuatro ejemplos reales...

  • Python 0

    pathlib en Python: Path para rutas, glob, mkdir, iterdir y operaciones de ficheros

    Aprende a trabajar con rutas de ficheros en Python usando pathlib.Path: crea, lee, escribe, renombra y busca ficheros con glob. Más claro que os.path, con ejemplos prácticos de mkdir, iterdir y los componentes name, stem, suffix y parent.

  • C 0

    C y Python: extender Python con módulos C usando la C API y ctypes

    Aprende a acelerar Python con C: ctypes para llamar a bibliotecas .so sin recompilar, la Python C API para módulos nativos, y cffi como alternativa moderna. Ejemplos reales.

  • PHP 0

    El operador nullsafe ?-> en PHP 8 y otras mejoras: str_contains, throw como expresión

    PHP 8.0 introdujo el operador nullsafe para encadenar llamadas a métodos sobre objetos que pueden ser null sin comprobar manualmente cada eslabón. También llegaron str_contains(), str_starts_with() y throw como expresión. Cuatro ejemplos reales de cada mejora.

  • Scala 0

    Scala.js y Scala Native: Scala fuera de la JVM en 2026

    Scala.js compila a JavaScript para el navegador o Node.js. Scala Native usa LLVM para ejecutables sin JVM. Facades tipadas, módulos multiplataforma, mejoras de Scala Native 0.5 y casos de uso reales.

  • Javascript 0

    Varianza en TypeScript: covarianza, contravarianza, bivarianza e invarianza explicadas

    Aprende qué es la varianza en TypeScript y cómo afecta a la seguridad de tipos. Covarianza, contravarianza, bivarianza e invarianza con ejemplos reales: strictFunctionTypes, la trampa de los arrays mutables y los modificadores in/out de TypeScript 4.7.

  • BBDD 0

    Particionamiento de tablas en PostgreSQL: cuándo y cómo hacerlo correctamente

    PostgreSQL soporta particionamiento por RANGE, LIST y HASH desde la versión 10. Partition pruning elimina automáticamente las particiones irrelevantes. Permite eliminar datos históricos con DROP PARTITION en lugar de DELETE masivos lentos.

  • C++ 0

    Sanitizers en C++: AddressSanitizer, UBSan y ThreadSanitizer para cazar bugs

    AddressSanitizer detecta accesos inválidos a memoria, UBSan atrapa comportamiento indefinido y ThreadSanitizer encuentra data races. Guía práctica con flags, ejemplos de output y uso con CMake.