Artículos
-
Generales
Traits avanzados en Rust: tipos asociados, implementaciones por defecto y trait objects
Los traits de Rust van mucho más allá de lo básico. Aprende a usar tipos asociados, implementaciones de métodos por defecto, supertraits y trait objects con dyn Trait para añadir polimorfismo dinámico a tus proyectos con control total.
-
Python
contextlib en Python: @contextmanager, suppress, nullcontext y gestores propios
El módulo contextlib de Python te da herramientas para crear gestores de contexto sin escribir clases. Aprende a usar @contextmanager, suppress, nullcontext y ExitStack con ejemplos de timers, transacciones de base de datos y más.
-
C
Punteros en C: aritmética, doble puntero y los errores más comunes
Guía práctica sobre punteros en C: aritmética de punteros, void*, doble puntero (char** argv), errores frecuentes y cómo evitarlos con ejemplos reales.
-
PHP
Números aleatorios en PHP: rand, mt_rand, random_int y random_bytes seguros
Aprende a generar números aleatorios en PHP con rand(), mt_rand(), random_int() y random_bytes(). Descubre cuándo cada función es adecuada para criptografía y cuándo no, con ejemplos reales de contraseñas, tokens CSRF, sorteos y códigos de recuperación de cuenta.
-
Scala
ZIO 2 en Scala: efectos funcionales, fibers y ZLayer para aplicaciones concurrentes
ZIO 2 gestiona efectos, concurrencia y dependencias en Scala con el tipo ZIO[R, E, A]. Fibers para concurrencia, ZLayer para inyección de dependencias y ZStream para procesamiento de datos. Guía práctica con ejemplos.
-
BBDD
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++
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.
-
Javascript
Web Workers en JavaScript: postMessage, SharedArrayBuffer, Atomics y patrones de comunicación
Los Web Workers permiten ejecutar código JavaScript en hilos separados, evitando que el hilo principal se bloquee. Aprende a usar postMessage, SharedArrayBuffer y Atomics para mover trabajo CPU-intensivo y coordinar threads con seguridad.
-
Generales
Closures en Rust: Fn, FnMut, FnOnce, capturas y la diferencia con funciones
Los closures en Rust son funciones anónimas que capturan variables del entorno. Aprende a usar Fn, FnMut y FnOnce con ejemplos reales: acumular estado, consumir valores y lanzar hilos con move. Cuándo elegir impl Fn frente a Box dyn Fn como parámetros de función.
-
Python
dataclasses en Python: @dataclass, field(), frozen, slots y __post_init__
El módulo dataclasses de Python 3.7+ genera __init__, __repr__ y __eq__ automáticamente. Aprende a usar field() para defaults avanzados, __post_init__ para validar datos, frozen=True para inmutabilidad, slots=True para eficiencia en memoria y order=True para comparaciones.









