Artículos
-
Javascript
Promises avanzadas en JavaScript: Promise.all, allSettled, race, any y patrones de composición
Aprende a coordinar múltiples operaciones asíncronas con Promise.all, allSettled, race y any en JavaScript. Cuándo usar cada método, cómo implementar un timeout con Promise.race y cómo limitar la concurrencia para no saturar tu servidor.
-
Javascript
Debounce y throttle en JavaScript: controlar la frecuencia de eventos
Debounce y throttle son las dos técnicas para controlar la frecuencia de eventos en JavaScript. Debounce espera a que el usuario deje de actuar; throttle limita las ejecuciones a una cada N ms. Implementación desde cero con closures, requestAnimationFrame y el error más habitual al usarlos.
-
Ruby
Kamal 2 en 2026: despliegue de Rails con Docker sin Heroku ni PaaS
Kamal 2 es la herramienta de 37signals para desplegar Rails con Docker en servidores propios. Gestiona zero downtime, accessories como Redis y MySQL, y variables de entorno. Rails 8 lo incluye por defecto.
-
Javascript
Scope en JavaScript: global, función, bloque y la temporal dead zone
Aprende cómo funciona el scope en JavaScript: global, función y bloque. Entiende la scope chain, la temporal dead zone de let y const, cómo se usan los closures y el patrón IIFE, con ejemplos de código reales y el bug más clásico explicado paso a paso.
-
Javascript
localStorage y sessionStorage en JavaScript: persistencia en el navegador
localStorage guarda datos en el navegador de forma permanente entre sesiones; sessionStorage solo dura mientras la pestaña está abierta. Aprende setItem, getItem, cómo serializar objetos con JSON.stringify, cuándo preferir cookies y cómo evitar los errores típicos en SSR y modo incógnito.
-
Ruby
Autenticación en Rails 8: el generator nativo que llega sin Devise
Rails 8 incluye un generator de autenticación nativo que crea modelos User y Session, controladores y vistas sin Devise. Te explicamos qué genera, cómo funciona y cuándo sigue teniendo sentido usar Devise o Rodauth.
-
Javascript
fetch API en JavaScript: peticiones HTTP modernas sin XMLHttpRequest
Aprende a usar la fetch API de JavaScript para hacer peticiones HTTP con async/await. GET y POST, lectura de respuestas JSON, el error clásico con response.ok que pasa desapercibido, cancelación con AbortController y cuándo tiene sentido elegir axios sobre fetch.
-
Javascript
setTimeout, setInterval y queueMicrotask en JavaScript: temporización y prioridad
Aprende cómo funcionan setTimeout, setInterval y queueMicrotask en JavaScript. Descubre por qué setTimeout(fn, 0) no es inmediato, cómo evitar el drift de setInterval con setTimeout recursivo y cuándo usar queueMicrotask o requestAnimationFrame para animaciones.
-
Ruby
ActiveRecord avanzado: el problema N+1, eager loading y queries eficientes
El problema N+1 genera una query SQL por cada objeto en un bucle. ActiveRecord resuelve esto con includes, preload y eager_load. Te explicamos cuándo usar cada uno y cómo detectar hotspots con Bullet.
-
Javascript
JSON.parse y JSON.stringify en JavaScript: opciones y casos extremos
JSON.stringify acepta un replacer para filtrar o transformar propiedades y un tercer parámetro para indentar. JSON.parse acepta un reviver para transformar valores al parsear. Aprende a manejar fechas, tipos no serializables y referencias circulares con ejemplos prácticos.









