Artículos

  • PHP 0

    SplObserver y SplSubject en PHP: patrón Observer nativo con SPL

    PHP incluye en la SPL interfaces nativas para el patrón Observer sin dependencias externas. SplSubject gestiona observadores con attach, detach y notify; SplObserver reacciona con update. Aprende cuándo elegirlo frente a un array de listeners o al EventDispatcher de Symfony.

  • PHP 0

    Symfony Validator en PHP: validar objetos con constraints y grupos de validación

    Aprende a usar symfony/validator como componente independiente en PHP: constraints como atributos (#[NotBlank], #[Email], #[Range], #[Regex]), grupos de validación para crear/actualizar, colecciones con #[All] y constraints personalizadas con ejemplos reales.

  • PHP 0

    Flysystem en PHP: abstracción de sistemas de ficheros para local, S3 y SFTP

    Aprende a usar Flysystem para trabajar con ficheros locales, Amazon S3 y SFTP con la misma interfaz en PHP. Ejemplos reales de subida de imágenes, listado de directorios, conexión SFTP y testing con InMemoryFilesystemAdapter.

  • PHP 0

    FrankenPHP: el nuevo runtime PHP escrito en Go con workers, HTTP/3 y Mercure integrado

    FrankenPHP es un runtime PHP construido sobre Caddy (Go) con workers persistentes que eliminan el bootstrap cost de php-fpm. HTTP/2, HTTP/3, Mercure y Early Hints integrados. Compatible con Laravel y Symfony. Instalación con Docker en minutos.

  • PHP 0

    FFI en PHP 7.4+: llamar a funciones C y usar bibliotecas nativas desde PHP

    FFI permite llamar a funciones C y usar librerías nativas (.so/.dll) desde PHP 7.4+ sin escribir extensiones. Aprende a usar FFI::cdef(), FFI::load() y FFI::new() con ejemplos reales de libc, zlib y libsodium.

  • PHP 0

    Profiling en PHP: medir y mejorar el rendimiento con Xdebug, Blackfire y SPX

    Aprende a localizar los cuellos de botella reales en tu aplicación PHP con Xdebug en modo profiling, Blackfire.io y SPX. Cachegrind files, triggers para producción, comparativas de perfiles y medición puntual con microtime y memory_get_peak_usage.

  • Generales 0

    Patrones de concurrencia en Go: worker pool, fan-out/fan-in y pipeline

    Aprende a controlar la concurrencia en Go con tres patrones esenciales: worker pool para limitar goroutines activas, fan-out/fan-in para distribuir y recolectar trabajo, y pipeline para encadenar etapas de transformación. Ejemplos completos con sync.WaitGroup y errores típicos.

  • Generales 0

    select en Go: multiplexar canales, timeout con time.After y caso default

    Aprende a usar select en Go para esperar en múltiples canales a la vez: sintaxis básica, timeout con time.After, caso default para operaciones no bloqueantes, cancelación con canal done y bucles de procesado de mensajes. Con 4 ejemplos reales y el antipatrón del busy wait.

  • Generales 0

    sync en Go: Mutex, RWMutex, WaitGroup, Once, Pool y Map para concurrencia segura

    El paquete sync de Go resuelve las carreras de datos entre goroutines. Aprende a usar Mutex, RWMutex, WaitGroup, Once, Pool y sync.Map con ejemplos reales, y evita el error clásico de copiar un Mutex por valor.

  • Generales 0

    context en Go: cancelación, timeout, valores y propagación entre goroutines

    Guía práctica del paquete context de Go: cómo usar context.WithCancel, WithTimeout y WithValue para propagar cancelaciones y datos entre goroutines, con ejemplos reales en servidores HTTP y base de datos.