Artículos

  • Ruby 0

    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.

  • Generales 0

    Macros en Swift 5.9: generación de código en tiempo de compilación

    Las macros de Swift 5.9 (SE-0382) generan código en compilación de forma segura y depurable. Aprende expression macros, attached macros, @Observable y cómo crear y testear tus propias macros.

  • Javascript 0

    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.

  • Generales 0

    Threads en Rust: crear hilos con spawn y esperar con join

    Aprende a usar thread::spawn en Rust con move closures y JoinHandle para crear hilos, esperar con join y recoger resultados. Cubre el trait Send, thread::sleep, available_parallelism y cuatro ejemplos prácticos con errores de compilación reales.

  • Python 0

    itertools en Python: chain, islice, groupby, product y combinations

    Aprende a usar itertools en Python: chain para concatenar iterables sin copiarlos, islice para cortar generadores infinitos, groupby para agrupar registros (hay que ordenar primero), product para producto cartesiano y combinations para generar subconjuntos. Con ejemplos reales y los errores más ...

  • PHP 0

    file_get_contents() y file_put_contents() en PHP: leer y escribir ficheros en una línea

    Aprende a leer y escribir ficheros en PHP con file_get_contents() y file_put_contents(). Ejemplos con FILE_APPEND y LOCK_EX para logs, peticiones HTTP sin cURL, comprobación de errores y cuándo no usarlas por consumo de memoria.

  • Javascript 0

    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.

  • Generales 0

    Rc> en Rust: el patrón para datos mutables con múltiples propietarios

    Aprende a combinar Rc y RefCell en Rust para tener múltiples propietarios con mutabilidad interior. Cuatro ejemplos prácticos: contador compartido, árbol con referencias al padre y grafo con aristas compartidas. También cómo evitar el pánico por double borrow y cuándo usar Arc con Mutex.

  • Generales 0

    Testing en Elixir: ExUnit, Mox y doctests que verifican tu documentación

    Elixir incluye ExUnit como framework de testing en la librería estándar. Los doctests convierten los ejemplos de la documentación en tests reales. Mox permite mockear behaviours sin magia.

  • Python 0

    namedtuple y dataclasses en Python: datos estructurados sin clases completas

    namedtuple y dataclass resuelven el mismo problema de formas distintas: estructurar datos en Python sin escribir clases completas a mano. Aprende con ejemplos reales de transacciones bancarias, configuración de app y colores RGB cuándo usar cada uno y por qué.