Artículos

  • PHP 0

    number_format en PHP: mostrar números y precios formateados

    Guía práctica de number_format() en PHP: los 4 parámetros, cómo formatear precios en euros con coma decimal y punto de miles, combinar con sprintf, diferencia con money_format (eliminada en PHP 8) y por qué no resuelve la precisión de los floats.

  • Python 0

    uv en 2026: el gestor de paquetes Python más rápido que reemplaza a pip

    uv es un gestor de paquetes Python escrito en Rust que instala dependencias entre 10 y 100 veces más rápido que pip y unifica en un solo binario todo lo que antes necesitabas de pip, virtualenv, pyenv y Poetry.

  • Generales 0

    Concurrencia en V: spawn, canales, select y shared con lock

    Cuarta entrega de la serie sobre V: como lanzar hilos con spawn, recuperar resultados con wait(), canales tipados, la sentencia select y el modificador shared que obliga al compilador a proteger el estado compartido con lock y rlock.

  • Java 0

    Caché semántica con Spring AI y pgvector para reducir el coste de llamadas a LLM

    Aprende a montar una caché semántica en Java con Spring AI y pgvector. Así reutilizas respuestas de LLMs como OpenAI o Anthropic cuando las preguntas son parecidas y reduces el gasto en tokens.

  • Python 0

    Procesamiento de ficheros EPUB con Python: parsear, modificar y reconstruir

    Aprende a abrir, leer y modificar ficheros EPUB con Python usando ebooklib y BeautifulSoup: extrae texto, cambia metadatos, reemplaza imágenes y reconstruye el libro desde cero.

  • C# 0

    Records y pattern matching en C#: tipos inmutables y código más expresivo

    Los records de C# 9 son tipos inmutables con igualdad por valor que simplifican los modelos de datos. Combinados con el pattern matching moderno, permiten escribir código más claro y seguro sin renunciar a la expresividad.

  • Java 0

    Testing en Java en 2026: JUnit 5, Mockito y la cultura de tests que funciona

    Guía práctica de JUnit 5 y Mockito para escribir tests en Java que realmente detectan errores: estructura de módulos, mocks, tests parametrizados, integración con Spring Boot y cobertura con JaCoCo.

  • Javascript 0

    Spread y rest operators en JavaScript: tres puntos que lo cambian todo

    El operador ... en JavaScript actúa como rest cuando recoge parámetros sobrantes en un array, y como spread cuando expande iterables en argumentos, arrays u objetos. Aprende a clonar, fusionar y evitar el error de la copia superficial con ejemplos prácticos.

  • Generales 0

    match en Rust: pattern matching exhaustivo y potente

    Aprende a usar match en Rust: el compilador obliga a cubrir todos los casos posibles y eso elimina bugs enteros. Patrones con rangos, enums con datos, desestructuración, múltiples patrones con |, guards con if y match como expresión que devuelve valor.

  • Python 0

    Funciones lambda en Python: cuándo usarlas y cuándo no

    Las lambdas en Python son funciones anónimas de una expresión. Aprende cuándo usarlas con sorted(), filter() y closures, cuándo un def es mejor opción y cómo evitar el bug clásico de captura de variables en bucles.