Artículos

  • 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 ...

  • Java 0

    Maven y Gradle en 2026: cuál elegir y cómo sacarles partido en Java

    Maven y Gradle siguen siendo las dos herramientas de build más usadas en Java. Te explico qué hace cada una, en qué se diferencian y cuándo tiene sentido elegir una u otra.

  • Javascript 0

    bind(), call() y apply() en JavaScript: controlar el valor de this

    call(), apply() y bind() te permiten controlar el valor de this en JavaScript. Aprende la diferencia entre los tres métodos, cuándo usar cada uno, el truco de slice.call(arguments) para convertir arguments en array y por qué bind() no funciona con arrow functions.

  • Generales 0

    Los traits Copy y Clone en Rust: cuándo copiar y cuándo clonar

    Aprende cuándo Rust copia valores de forma implícita con Copy y cuándo necesitas pedirlo tú con .clone(). Descubre por qué String no es Copy, cómo implementar ambos traits y cuándo usar Arc en lugar de duplicar datos.

  • Python 0

    Sets en Python: conjuntos, unión, intersección y diferencia

    Los sets de Python son colecciones sin duplicados y sin orden. Aprende a crearlos con literales y set comprehensions, a usar unión, intersección y diferencia, cuándo son más rápidos que las listas y qué hace frozenset diferente.

  • PHP 0

    strpos en PHP: buscar texto en cadenas sin confundir el cero

    Aprende a usar strpos(), strrpos() y stripos() en PHP sin el error más habitual: confundir la posición 0 con false. Con ejemplos de $offset, búsqueda insensible a mayúsculas y cuándo cambiar a str_contains en PHP 8.