Artículos

  • Generales 0

    Bun y Zig: cómo el runtime de JavaScript más rápido usa Zig en su núcleo

    Bun es el runtime de JavaScript más rápido del mercado y está escrito en Zig. Descubre por qué Jarred Sumner eligió Zig, cómo funciona la integración con JavaScriptCore y qué ventajas aporta el control de memoria de Zig.

  • PHP 0

    Rutas en PHP: dirname(), basename(), pathinfo() y realpath()

    dirname(), basename(), pathinfo() y realpath() son las cuatro funciones clave para manejar rutas en PHP. Aprende a extraer el directorio, el nombre del fichero y la extensión, a resolver rutas absolutas y a protegerte contra ataques de path traversal con ejemplos reales.

  • Generales 0

    Flutter en producción: CI/CD con GitHub Actions, Fastlane y distribución automática

    Automatizar el build y la distribución de una app Flutter con GitHub Actions y Fastlane elimina errores manuales y acelera los releases. Guía completa con ejemplos de workflows para Android e iOS, firma de código y despliegue a las tiendas.

  • Ruby 0

    Hanami 2 y Roda: alternativas a Rails para APIs y proyectos más ligeros en Ruby

    Hanami 2 apuesta por inyección de dependencias explícita y arquitectura limpia. Roda es un micro-framework de routing en árbol, minimalista y muy rápido. Te explicamos cuándo tienen sentido frente a Rails y cuáles son sus diferencias reales.

  • Generales 0

    SwiftData en 2026: persistencia de datos con el framework nativo de Apple

    SwiftData reemplaza a Core Data con macros Swift, @Query y @Model. Disponible desde iOS 17, iOS 18 añade DataStore personalizado y unique constraints. Guía completa con ejemplos.

  • Generales 0

    Rust vs Go en 2026: cuándo elegir cada uno para backend y sistemas

    Comparativa práctica de Rust y Go en 2026 para elegir bien en backend, sistemas y herramientas. Rendimiento, concurrencia, seguridad de memoria y cuatro casos de uso reales con recomendación clara sobre cuándo usar cada lenguaje.

  • Python 0

    map() y filter() en Python: cuándo usarlos y cuándo preferir comprehensions

    map() y filter() en Python 3 devuelven iteradores, no listas. Aprende cuándo usarlos frente a list comprehensions, cómo encadenarlos y qué dice la comunidad Python sobre cuál elegir según cada caso.

  • PHP 0

    Metadatos de ficheros en PHP: file_exists, filesize, filemtime, is_file, is_dir

    Guía práctica de las funciones PHP para leer metadatos de ficheros: file_exists(), is_file(), is_dir(), filesize(), filemtime(), stat() y clearstatcache(). Con cuatro ejemplos reales: validar subidas de ficheros, cachés por tiempo, leer todos los metadatos a la vez y la trampa del caché de stat.

  • Javascript 0

    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.

  • Generales 0

    Los traits Send y Sync en Rust: qué tipos son seguros entre hilos

    Send y Sync son los dos traits que controlan el acceso a datos entre hilos en Rust. Send permite mover un valor a otro hilo; Sync permite compartirlo por referencia. Aprende qué tipos no los implementan, cómo funcionan los auto traits y por qué Rust detecta las carreras de datos en tiempo de c...