Artículos
-
Javascript
El event loop en JavaScript: call stack, microtasks y macrotasks
JavaScript es single-threaded, pero gestiona timers, eventos y promesas sin bloquearse gracias al event loop. Aprende qué es el call stack, la diferencia entre microtasks y macrotasks, y por qué las promesas tienen prioridad sobre setTimeout. Con 4 ejemplos con el orden de ejecución explicado ...
-
Generales
Lifetimes en Rust: decirle al compilador cuánto viven las referencias
Los lifetimes en Rust le dicen al compilador cuánto debe vivir cada referencia, algo que no siempre puede inferir solo. Aprende la sintaxis 'a, las reglas de elision y cómo anotar funciones y structs con cuatro ejemplos prácticos y errores reales del compilador.
-
Python
Encadenamiento de excepciones en Python: raise from y preservar el contexto
Aprende a encadenar excepciones en Python con raise X from Y y raise X from None. Diferencias entre __cause__ y __context__, cuándo suprimir el contexto y cuatro ejemplos prácticos: parseo de fechas, cliente de base de datos y cliente HTTP con jerarquía de errores propia.
-
PHP
in_array, array_search y array_key_exists en PHP: buscar en arrays sin errores
Guia sobre in_array(), array_search() y array_key_exists() en PHP: la trampa de comparacion debil sin strict, la diferencia entre isset y array_key_exists con valores null, y como usar array_flip para busquedas O(1) en arrays grandes. Con 4 ejemplos reales.
-
Javascript
async/await en JavaScript: código asíncrono que parece síncrono
async/await es azúcar sintáctico sobre Promises que hace el código asíncrono de JavaScript mucho más legible. Aprende cómo funciona async function, cómo manejar errores con try/catch, el peligro de await en bucles y cómo ejecutar promesas en paralelo con Promise.all.
-
Generales
Trait bounds en Rust: restringir qué tipos acepta una función genérica
Los trait bounds en Rust permiten restringir qué tipos acepta una función genérica. Aprende la sintaxis T: Trait, múltiples bounds con +, la cláusula where, impl Trait frente a T: Trait, blanket implementations y retorno de impl Trait, con ejemplos prácticos.
-
Generales
OTP y GenServer en Elixir: la base de la concurrencia que no puedes ignorar
OTP es el conjunto de abstracciones que hace de Elixir algo más que un lenguaje funcional bonito. GenServer, Supervisor y los árboles de supervisión son la base de todo sistema serio en la BEAM.
-
Python
Excepciones propias en Python: jerarquías de errores con clases personalizadas
Aprende a crear excepciones personalizadas en Python heredando de Exception, añadiendo atributos al __init__ y construyendo jerarquías de errores reutilizables. Con ejemplos reales de una librería de validación de datos y el patrón raise ... from para encadenarlas.
-
Generales
Gestión de memoria en Zig: allocators, arenas y control total sin GC ni unsafe
En Zig no hay GC ni heap implícito: cada función que necesita memoria recibe un allocator como parámetro. Aprende a usar GeneralPurposeAllocator, ArenaAllocator, FixedBufferAllocator y cómo combinarlos.
-
PHP
array_walk y array_walk_recursive en PHP: modificar arrays en profundidad
Aprende a usar array_walk y array_walk_recursive en PHP para modificar arrays in-place con un callback que recibe clave y valor. Incluye ejemplos con formularios, precios y catálogos anidados, y diferencias clave con array_map.









