Artículos

  • PHP 0

    Inyección CSV: la vulnerabilidad silenciosa en los botones de exportar

    Cuando exportas datos de usuario a CSV, ese fichero puede convertirse en un vector de ataque real. Te explico qué es la inyección CSV, por qué fputcsv no protege y cómo solucionarlo en PHP.

  • PHP 0

    RoadRunner y Swoole en 2026: PHP como servidor persistente de alto rendimiento

    PHP no tiene por qué morir con cada petición. RoadRunner, Swoole y FrankenPHP permiten arrancar el worker una sola vez y procesar miles de requests sin volver a cargar el framework, con una ganancia real en latencia que PHP-FPM clásico no puede igualar.

  • Generales 0

    mboxShell: visor de archivos MBOX para el terminal escrito en Rust, sin límite de tamaño

    mboxShell es una herramienta de línea de comandos escrita en Rust que abre archivos MBOX de cualquier tamaño sin cargarlos en memoria. Streaming con buffer de 1 MB, índice persistente, búsqueda avanzada por campo, soporte de etiquetas de Gmail, exportación a EML/CSV y binario único sin depe...

  • PHP 0

    trim en PHP: limpiar espacios y caracteres al inicio y al final

    Guía práctica de trim(), ltrim() y rtrim() en PHP: qué caracteres eliminan por defecto (espacios, tabs, null bytes), cómo usar el segundo argumento para limpiar caracteres personalizados, ejemplos con formularios, CSV y rutas de fichero, y la trampa con UTF-8 multibyte.

  • Generales 0

    Comprar Windows Server 2025 con licencia física

    La gesti?n del software empresarial exige cada vez m?s orden, trazabilidad y documentaci?n. En el caso de los servidores, esa necesidad resulta a?n m?s evidente, ya que el sistema operativo sostiene procesos internos, accesos, archivos, aplicaciones y servicios que pueden ser esenciales para la a...

  • Python 0

    Pydantic v2 en 2026: validación de datos en Python con el núcleo en Rust

    Pydantic v2 reescribió su núcleo en Rust y es entre 5 y 50 veces más rápido que la versión anterior. Aquí tienes todo lo que necesitas saber para migrar o empezar desde cero.

  • Java 0

    Caché resiliente con Redis en Java: estrategias más allá del cache miss básico

    Aprende a usar Redis como caché resiliente en Java con Spring Cache. TTL, cache stampede, cache-aside vs read-through, fallback cuando Redis cae y métricas con Micrometer.

  • Python 0

    LangGraph y agentes ReAct en producción: API multi-modelo con Python

    Aprende a construir agentes ReAct con LangGraph en Python y a desplegarlos como una API multi-modelo con FastAPI y LiteLLM, incluyendo gestión de errores, límites de seguridad y control de costes.

  • C# 0

    Entity Framework Core en 2026: mejoras, patrones modernos y cuándo no usarlo

    EF Core 9 y 10 traen operaciones masivas sin cargar entidades, mejor traducción de LINQ a SQL y soporte nativo para datos jerárquicos. Te explico qué usar y cuándo saltarte el ORM.

  • Python 0

    Ruff y ty: el linter, formatter y type checker de Python escritos en Rust

    Astral, la empresa detrás de uv, tiene dos herramientas más para el toolchain Python: Ruff, un linter y formatter que reimplementa más de 900 reglas de Flake8, isort y Black en Rust con análisis en milisegundos, y ty, el type checker alternativo a mypy y Pyright actualmente en beta. Los tres ...