Artículos

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

  • PHP 0

    date() y mktime() en PHP: formatear fechas y crear timestamps Unix

    Aprende a manejar fechas en PHP con date(), mktime() y time(). Domina los caracteres de formato, construye timestamps Unix desde sus componentes, calcula expiraciones de tokens sumando segundos y evita el error del timezone que desplaza las horas de tu aplicación.

  • Javascript 0

    Generators y yield en JavaScript: funciones pausables e iteración controlada

    Aprende a usar generators en JavaScript: qué es function*, cómo funciona yield, comunicación bidireccional con next(valor), secuencias infinitas sin bloqueo, paginación perezosa con async generators, delegación con yield* y los errores más frecuentes al empezar.

  • Generales 0

    Traits esenciales de la stdlib de Rust: Display, Debug, From, Into, Iterator

    Guía práctica sobre los traits más usados de la stdlib de Rust: Display para formatear al usuario, Debug para depurar con {:?}, From e Into para conversiones automáticas, PartialEq y Ord para comparar y ordenar, y Default para valores iniciales. Con cuatro ejemplos y errores de compilación r...

  • Generales 0

    Phoenix LiveView en 2026: aplicaciones web reactivas sin escribir JavaScript

    Phoenix LiveView 1.0 permite construir interfaces web reactivas donde toda la lógica vive en el servidor Elixir. Actualizaciones del DOM vía WebSocket, sin bundlers, sin frameworks JS del cliente.

  • Python 0

    Context managers en Python: el protocolo with, __enter__ y __exit__

    Los context managers de Python no son solo para abrir ficheros. Aprende a implementar __enter__ y __exit__ en tus clases, a suprimir excepciones seleccionadas con __exit__, y a crear context managers rápidos con contextlib.contextmanager y yield. Incluye cuatro ejemplos reales.