Artículos

  • Python 0

    Métodos de lista en Python: append, extend, insert, remove y pop

    Guía práctica de los métodos de lista más usados en Python: append, extend, insert, remove y pop. Aprende la diferencia clave entre append y extend, cuándo usar remove o pop, y el error clásico de modificar una lista mientras la iteras, con ejemplos reales.

  • Generales 0

    dnsscan: escáner de seguridad DNS en Go que evalúa DNSSEC, SPF, DMARC, CAA y MTA-STS

    dnsscan analiza la postura de seguridad DNS de un dominio evaluando DNSSEC, CAA, SPF, DMARC, MTA-STS y TLS-RPT. Devuelve un grade A+ a F con puntuación numérica. Licencia MIT, una sola dependencia externa, usable como librería Go, CLI o servicio HTTP. Motor DNS de HeaderForge publicado de form...

  • PHP 0

    sprintf en PHP: formatear cadenas con precisión

    Guía práctica de sprintf() en PHP: especificadores de formato %s %d %.2f, padding con ceros a la izquierda, formateo de precios con IVA, diferencias con printf() y cómo evitar errores con el orden de argumentos. Cuatro ejemplos reales con precios, referencias, logs y URLs.

  • Generales 0

    Odin: el lenguaje de programación que enamora a los que vienen de C

    Odin es un lenguaje de propósito general de bajo nivel creado por Bill Hall (GingerBill) como alternativa moderna a C. Sin GC, sin OOP, sin excepciones, con inicialización a cero por defecto, bounds checking activado y soporte nativo para SOA. ThePrimeagen lo probó en junio de 2026 y publicó ...

  • Javascript 0

    var, let y const en JavaScript: diferencias reales y cuándo usar cada uno

    Diferencias reales entre var, let y const en JavaScript moderno: scope de función vs. de bloque, hoisting, temporal dead zone y el error más frecuente con const (que no es inmutable). Ejemplos con casos reales y el bug clásico del bucle con var.

  • Generales 0

    Coroutines y Flow en Kotlin: concurrencia asíncrona sin callbacks ni RxJava

    Las coroutines de Kotlin permiten escribir código asíncrono de forma secuencial, sin callbacks ni cadenas de operadores. Con Flow añades streams de datos reactivos que se integran de forma natural con el resto del lenguaje.

  • Javascript 0

    strict mode en TypeScript: por qué activarlo y cómo sobrevivir al compilador

    Activar "strict": true en tsconfig no es opcional si quieres que TypeScript sirva de algo. Aquí tienes qué flags activa, cuáles duelen más y cómo migrar un proyecto existente sin volverse loco.

  • Generales 0

    Goroutines y channels en Go: concurrencia sin dolores de cabeza

    Go hace que la concurrencia sea accesible de verdad: goroutines ligeras, channels para comunicar datos y un runtime que gestiona los threads por ti. Esta guía explica cómo funciona todo y cuándo usar cada herramienta.

  • Generales 0

    async fn en traits en Rust: cómo usarlos correctamente ahora que son estables

    Desde Rust 1.75, puedes escribir async fn directamente dentro de un trait sin depender de la crate async-trait. Te explicamos cómo funciona, qué limitaciones tiene con el dispatch dinámico y cuándo sigue valiendo la pena usar async-trait.

  • Javascript 0

    Decoradores JavaScript: qué son, cuándo llegan y cómo empezar a usarlos

    Los decoradores de JavaScript llevan años en TypeScript y Angular, pero la propuesta oficial TC39 —que ya funciona en Bun y Chrome— tiene una semántica completamente distinta. Te explicamos qué cambia y cómo usarlos hoy.