Artículos
-
Javascript
Closures en JavaScript: qué son y para qué sirven de verdad
Las closures en JavaScript son funciones que recuerdan las variables del scope donde se crearon, aunque ese scope ya haya terminado. Aprende cómo funcionan, el bug clásico con var en bucles, y cómo usarlas en funciones de fábrica, memoización y módulos IIFE.
-
Generales
Borrowing en Rust: referencias inmutables y mutables sin sorpresas
El borrowing en Rust controla cómo se comparten referencias a datos sin copiarlos. Aprende la diferencia entre & y &mut, las dos reglas del borrow checker y cómo los scopes resuelven conflictos de referencias. Con cuatro ejemplos progresivos y mensajes de error reales del compilador.
-
Python
List comprehensions en Python: filtrar y transformar en una sola línea
Las list comprehensions de Python te permiten filtrar y transformar listas en una sola línea. Aprende la sintaxis completa con condición, comprehensions anidadas, dict y set comprehensions, cuándo usarlas y cuándo es mejor quedarte con un bucle for.
-
PHP
explode e implode en PHP: dividir y unir cadenas
Guía práctica de explode() e implode() en PHP: cómo dividir cadenas CSV, usar el parámetro limit con valores positivos y negativos, construir listas con implode y aplicar el patrón clásico de filtrado entre ambas. Incluye casos límite con separador vacío y split(), eliminado en PHP 7.
-
Javascript
Node.js 24 vs Bun vs Deno en 2026: cómo elegir el runtime JavaScript para tu proyecto
En 2026 los tres runtimes principales de JavaScript tienen propuestas diferenciadas. Bun 2.0 lidera en rendimiento bruto con 185.000 req/s y cold start de 38ms. Deno 3.0 destaca por seguridad por defecto y tooling integrado. Node.js 24 ofrece el 100% de compatibilidad npm y estabilidad máxima. E...
-
Javascript
Coerción de tipos y == vs === en JavaScript: por qué importa entenderla
JavaScript convierte tipos automáticamente al comparar con ==, generando resultados inesperados. Aprende las reglas de igualdad débil y estricta, los casos que más confunden como null==undefined o []==false, cómo usar typeof y cuándo === debe ser tu norma por defecto.
-
Generales
Kotlin Multiplatform en 2026: una base de código para Android, iOS y más
Kotlin Multiplatform (KMP) lleva desde noviembre de 2023 en fase estable y permite compartir lógica de negocio, red y base de datos entre Android, iOS, desktop y web sin renunciar a la UI nativa de cada plataforma.
-
Javascript
Tipos avanzados en TypeScript: mapped types, conditional types y template literals
Aprende a usar mapped types, conditional types, template literal types e infer en TypeScript para construir tipos reutilizables y precisos sin complicar el código de negocio.
-
Generales
API REST en Go con net/http puro: sin frameworks, sin magia
Go incluye en su librería estándar un servidor HTTP listo para producción. Con Go 1.22 el mux nativo admite parámetros de ruta y filtrado por método, así que ya no necesitas gorilla/mux ni chi para la mayoría de APIs.
-
Generales
Move semantics en Rust: por qué let s2 = s1 invalida s1
Move semantics en Rust: qué ocurre cuando asignas un String a otra variable y por qué el compilador invalida el original. Diferencia entre tipos Copy como i32, bool o char y los que se mueven como String o Vec. Con errores de compilación reales explicados.









