Artículos
-
Python
typing en Python: type hints, generics con TypeVar, Protocol y tipos avanzados
Guía práctica del módulo typing de Python: type hints con list[int] y dict[str, Any], Optional y Union con la sintaxis moderna (|), TypeVar para funciones genéricas, Generic[T] para clases, Protocol para duck typing estructural sin herencia, Callable, Literal, Final y TYPE_CHECKING.
-
C
Gestión de memoria en C: malloc, free, realloc y cómo encontrar fugas con Valgrind
Domina malloc, calloc, realloc y free en C. Aprende a detectar fugas de memoria y errores de acceso con Valgrind --tool=memcheck con ejemplos prácticos.
-
PHP
Regex avanzada en PHP: grupos con nombre, lookahead y lookbehind
Aprende a usar regex avanzadas en PHP: grupos con nombre con sintaxis (?P), non-capturing groups, lookahead y lookbehind positivos y negativos, el modificador x para regex comentadas y los possessive quantifiers. Con ejemplos reales de validación de contraseñas, parseo de URLs y filtrado de logs.
-
Scala
Sistema de tipos en Scala 3: union types, intersection types, opaque types y match types
Scala 3 amplía el sistema de tipos con union types (A | B), intersection types (A & B), opaque types para abstracción sin coste y match types para metaprogramación. Ejemplos prácticos de cada uno.
-
BBDD
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++
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.
-
Javascript
WeakRef y FinalizationRegistry en JavaScript: referencias débiles y gestión de memoria
WeakRef y FinalizationRegistry, introducidos en ES2021, permiten trabajar con referencias débiles en JavaScript. WeakRef.deref() devuelve el objeto o undefined si el GC ya lo recogió. FinalizationRegistry ejecuta un callback al liberar el objeto. Útiles en cachés que no deben retener memoria,...
-
Generales
RefCell
y Cell en Rust: mutabilidad interior y el borrow checker en runtime Cell y RefCell en Rust permiten modificar datos a través de referencias inmutables. Cell trabaja con tipos Copy sin overhead; RefCell aplica las reglas del borrow checker en runtime y entra en pánico si las viola. Incluye el patrón Rc con RefCell para múltiples propietarios.
-
Python
asyncio avanzado: gather, TaskGroup, Queue y sincronización en Python async
Aprende a usar asyncio.gather(), TaskGroup, asyncio.Queue y Semaphore en Python para lanzar múltiples coroutines en paralelo, limitar la concurrencia y comunicar tareas entre sí sin bloquear el loop de eventos. Con ejemplos reales y el antipatrón más común.
-
PHP
preg_split() en PHP: dividir cadenas con patrones complejos
Aprende a usar preg_split() en PHP para dividir cadenas con un patrón regex como delimitador. Flags PREG_SPLIT_NO_EMPTY y PREG_SPLIT_DELIM_CAPTURE explicados con ejemplos reales. Cuándo usar preg_split y cuándo seguir con explode o str_split.









