Artículos

  • Javascript 0

    var, let y const en JavaScript: diferencias reales y cuándo usar cada uno

    Diferencias reales entre var, let y const en JavaScript moderno: scope de función vs. de bloque, hoisting, temporal dead zone y el error más frecuente con const (que no es inmutable). Ejemplos con casos reales y el bug clásico del bucle con var.

  • Generales 0

    Coroutines y Flow en Kotlin: concurrencia asíncrona sin callbacks ni RxJava

    Las coroutines de Kotlin permiten escribir código asíncrono de forma secuencial, sin callbacks ni cadenas de operadores. Con Flow añades streams de datos reactivos que se integran de forma natural con el resto del lenguaje.

  • Javascript 0

    strict mode en TypeScript: por qué activarlo y cómo sobrevivir al compilador

    Activar "strict": true en tsconfig no es opcional si quieres que TypeScript sirva de algo. Aquí tienes qué flags activa, cuáles duelen más y cómo migrar un proyecto existente sin volverse loco.

  • Generales 0

    Goroutines y channels en Go: concurrencia sin dolores de cabeza

    Go hace que la concurrencia sea accesible de verdad: goroutines ligeras, channels para comunicar datos y un runtime que gestiona los threads por ti. Esta guía explica cómo funciona todo y cuándo usar cada herramienta.

  • Generales 0

    async fn en traits en Rust: cómo usarlos correctamente ahora que son estables

    Desde Rust 1.75, puedes escribir async fn directamente dentro de un trait sin depender de la crate async-trait. Te explicamos cómo funciona, qué limitaciones tiene con el dispatch dinámico y cuándo sigue valiendo la pena usar async-trait.

  • Javascript 0

    Decoradores JavaScript: qué son, cuándo llegan y cómo empezar a usarlos

    Los decoradores de JavaScript llevan años en TypeScript y Angular, pero la propuesta oficial TC39 —que ya funciona en Bun y Chrome— tiene una semántica completamente distinta. Te explicamos qué cambia y cómo usarlos hoy.

  • PHP 0

    Cómo detectar y eliminar el problema N+1 de consultas en Laravel

    El problema N+1 es uno de los fallos de rendimiento más frecuentes en aplicaciones Laravel: sin darte cuenta, una sola página puede disparar cientos de consultas a la base de datos. Aquí tienes cómo detectarlo y cómo eliminarlo de raíz.

  • PHP 0

    PHP moderno en 2026: enums, fibers, match y el sistema de tipos que cambió el lenguaje

    PHP lleva varios años siendo un lenguaje diferente al que muchos recuerdan: enums, fibers, match expressions, tipos de unión e intersección y propiedades readonly han reescrito la forma de trabajar con él. Este artículo repasa cada característica con ejemplos reales para que empieces a usar...

  • Python 0

    uv: el gestor de paquetes Python en Rust que sustituye a pip, pyenv y poetry a la vez

    uv es un gestor de paquetes y proyectos Python escrito en Rust, desarrollado por Astral. Desde un único binario reemplaza pip, pyenv, virtualenv, pip-tools y pipx. Instala paquetes hasta 100 veces más rápido que pip gracias a una caché global de dependencias. Soporta lockfiles universales, ge...

  • Python 0

    asyncio en Python en 2026: TaskGroup, timeout y concurrencia sin threads

    asyncio te permite ejecutar decenas de tareas de I/O al mismo tiempo sin lanzar un solo thread. Guía práctica con TaskGroup, timeout, gather, to_thread y Queue en Python 3.11+.