Artículos

  • Python 0

    Cómo detectar memory leaks en Python y en qué línea exacta empiezan

    Los memory leaks en Python existen aunque el lenguaje tenga recolector de basura: referencias circulares, cachés sin límite y closures que retienen objetos pueden hacer que tu proceso crezca en RAM sin parar. Aquí tienes las herramientas para encontrar la línea exacta que causa el problema.

  • C# 0

    Blazor en 2026: WebAssembly, Server y el modo híbrido que lo cambia todo

    Blazor ha madurado mucho desde sus primeras versiones: con .NET 8 y 9, puedes elegir el modo de renderizado componente a componente y mezclar Server, WebAssembly y estático en un mismo proyecto. Aquí tienes una guía práctica de cómo funciona todo en 2026.

  • Generales 0

    WebAssembly en 2026: WasmGC, WASI 0.3 y el Component Model cambian el ecosistema

    WebAssembly 3.0 fue estándar W3C en septiembre de 2025. En 2026, WasmGC elimina el problema del tamaño para lenguajes con GC, WASI 0.3 trae I/O asíncrono al Component Model, y el Component Model permite componer módulos de distintos lenguajes sin FFI. Google Sheets migró su motor de cálculo...

  • Java 0

    Hibernate 6 y JPA 3.x en Java: ORM moderno sin magia negra

    JPA es la especificación y Hibernate su implementación más usada: juntos te ahorran escribir SQL a mano para casi todo. Aprende a mapear entidades, gestionar transacciones, escribir consultas JPQL y evitar el problema N+1 con Hibernate 6 y Jakarta EE.

  • Javascript 0

    Clases en JavaScript ES6+: herencia, campos privados con # y métodos estáticos

    Aprende a usar clases en JavaScript moderno: herencia con extends y super, campos privados reales con #, métodos estáticos y getters/setters. Cuatro ejemplos progresivos con herencia real y los errores más habituales al trabajar con class en ES6+.

  • Generales 0

    Enums en Rust: mucho más que constantes, modela datos reales con variantes

    Los enums de Rust no son simples constantes: cada variante puede llevar datos de tipos distintos. Aprende a modelar IpAddr, Mensaje y Option con ejemplos reales, métodos con impl y por qué se llaman algebraic data types.

  • Python 0

    Técnicas de bucle en Python: enumerate, zip, items() y cómo no usar range(len())

    Aprende a escribir bucles más claros en Python: cuándo usar enumerate en lugar de range(len()), cómo recorrer dos listas con zip y zip_longest, acceder a clave y valor con dict.items(), y evitar modificar listas con sorted() y reversed().

  • Generales 0

    tlsscan: escáner de configuración TLS escrito en Go, licencia MIT y sin dependencias externas

    tlsscan es una reimplementación MIT de la SSL Labs Server Rating Guide escrita en Go con solo la biblioteca estándar. Detecta protocolos TLS/SSL, analiza el certificado, evalúa vulnerabilidades como POODLE y DROWN, y puede usarse como librería, CLI o servicio HTTP. Alternativa comercialmente ...

  • PHP 0

    str_pad y str_repeat en PHP: rellenar y repetir cadenas

    Guía práctica de str_pad y str_repeat en PHP: padding con ceros a la izquierda para pedidos y SKUs, alineación de columnas en texto plano, STR_PAD_BOTH para cabeceras y barras de progreso en scripts CLI. Incluye avisos sobre UTF-8 y mb_str_pad.

  • Generales 0

    Odin y Raylib: desarrollo de juegos 2D sin motor como alternativa ligera a Godot

    Odin incluye bindings de Raylib en su librería vendor de serie, sin instalación adicional. Este artículo cubre el camino desde el primer programa hasta un personaje con movimiento y gravedad, el uso de SOA nativo de Odin para sprites masivos, y por qué esta combinación es una alternativa rea...