Artículos

  • Python 0

    f-strings en Python: formateo moderno, expresiones y el truco del = para depurar

    Aprende a usar f-strings en Python: sintaxis básica, expresiones dentro de {}, format spec para decimales y alineación, conversiones !r y !s, el truco f'{var=}' de Python 3.8 para depurar, y por qué nunca debes usar f-strings para construir consultas SQL.

  • Generales 0

    Error handling en Zig: error unions, try y cómo evitar las excepciones

    En Zig los errores son parte del tipo de retorno de la función. Aprende a usar error unions (!T), try para propagarlos, catch para manejarlos localmente y errdefer para limpiar recursos solo en caso de fallo.

  • PHP 0

    strtotime() en PHP: convertir cadenas de texto en timestamps

    Aprende a usar strtotime() en PHP para convertir cadenas de texto en timestamps Unix. Cadenas absolutas, relativas y combinadas, con ejemplos reales: calcular vencimientos, validar fechas de usuario y cuándo usar DateTimeImmutable en su lugar.

  • Generales 0

    Flutter Web en 2026: WebAssembly estable, cuándo tiene sentido y cuándo no

    Flutter Web con WebAssembly es estable desde Flutter 3.24 (agosto 2024). Análisis honesto de qué ganas con Wasm, qué sigue sin resolverse y en qué proyectos tiene sentido apostar por Flutter Web.

  • Ruby 0

    Sorbet y RBS en Ruby: tipado estático en el lenguaje más dinámico

    Sorbet es el type checker de Stripe para Ruby; RBS es el formato oficial de firmas de tipo desde Ruby 3.0. Te explicamos cómo funcionan, cuándo conviene adoptarlos y cuáles son sus diferencias prácticas.

  • Generales 0

    async/await en Swift: concurrencia moderna con structured concurrency

    async/await en Swift 5.5 junto con async let, TaskGroup y AsyncSequence forman el modelo de concurrencia estructurada. Aprende cómo funciona y cuándo usar cada herramienta.

  • Javascript 0

    Iteradores y el protocolo iterable en JavaScript: for...of desde dentro

    Qué es el protocolo iterable de JavaScript, para qué sirve Symbol.iterator y cómo funciona el objeto iterador con next(). Incluye ejemplos para hacer iterable cualquier objeto propio y el error típico al confundir iterable con array-like.

  • Otros lenguajes 0

    12 funciones y patrones de Rust que casi nadie usa (y deberías)

    Doce funciones del lenguaje y patrones idiomaticos de Rust poco conocidos: let-else, metodos de Option y Result, std::mem::take, Newtype, extension traits, must_use, Cow, builder pattern, type-state y Pin. Con ejemplos de codigo antes y despues.

  • Generales 0

    Closures en Rust: funciones anónimas que capturan el entorno

    Los closures de Rust son funciones anónimas que capturan variables del entorno. Aprende la sintaxis básica, los tres modos de captura (referencia, mutable, move) y los traits Fn, FnMut y FnOnce con ejemplos progresivos que incluyen closures como parámetros, retorno y combinados con iteradores.

  • Python 0

    Leer y escribir ficheros en Python: open(), modos, encoding y gestión con with

    Aprende a leer y escribir ficheros en Python con open(), los modos r, w, a y b, encoding UTF-8 siempre explícito y el bloque with para cierre automático. Ejemplos reales con logs de Nginx, CSV, pathlib.Path y los errores más habituales.