Artículos

  • Generales 0

    Tokio avanzado: channels async, Mutex async, streams y manejo de errores en tareas

    Aprende a coordinar tareas async en Rust con tokio::sync::mpsc, oneshot y Mutex async. Ejemplos reales de JoinSet con timeout, servidor TCP concurrente, scraper paralelo y cancelación limpia de tareas con abort().

  • Generales 0

    async/await en Rust con Tokio: fundamentos del runtime y tareas asíncronas

    Aprende a usar async/await en Rust con Tokio: cómo funcionan los futures, tokio::main para arrancar el runtime, tokio::spawn para tareas concurrentes, join! para esperar múltiples peticiones HTTP a la vez y select! para implementar timeouts. Ejemplos reales con reqwest.

  • Generales 0

    Concurrencia en Rust: Mutex, RwLock, channels y Arc para estado compartido seguro

    Aprende a escribir código concurrente en Rust sin data races: Arc Mutex para estado mutable compartido, RwLock para lecturas paralelas, channels mpsc con múltiples productores y Barrier para sincronización por fases. Con cuatro ejemplos reales y el error de compilación más frecuente.

  • Generales 0

    thiserror y anyhow en Rust: manejo de errores idiomático con las librerías más usadas

    Aprende a usar thiserror y anyhow en Rust para manejar errores sin código repetitivo. thiserror crea tipos de error tipados con derive macros; anyhow simplifica la propagación en aplicaciones con contexto. Con cuatro ejemplos reales y la regla de cuándo usar cada uno.

  • Generales 0

    Lifetimes avanzados en Rust: 'static, elision rules, lifetimes en structs y en impl

    Aprende lifetimes avanzados en Rust: reglas de elisión, anotaciones en structs e impl blocks, lifetime subtyping con 'a:'b, el lifetime 'static para hilos y datos globales, y Higher-Ranked Trait Bounds con for. Cuatro ejemplos progresivos y el error típico de struct que sobrevive a su referencia.

  • Generales 0

    Traits avanzados en Rust: tipos asociados, implementaciones por defecto y trait objects

    Los traits de Rust van mucho más allá de lo básico. Aprende a usar tipos asociados, implementaciones de métodos por defecto, supertraits y trait objects con dyn Trait para añadir polimorfismo dinámico a tus proyectos con control total.

  • Generales 0

    Closures en Rust: Fn, FnMut, FnOnce, capturas y la diferencia con funciones

    Los closures en Rust son funciones anónimas que capturan variables del entorno. Aprende a usar Fn, FnMut y FnOnce con ejemplos reales: acumular estado, consumir valores y lanzar hilos con move. Cuándo elegir impl Fn frente a Box dyn Fn como parámetros de función.

  • Generales 0

    Iteradores avanzados en Rust: map, filter, fold, chain, zip, flat_map y take

    Aprende a usar los adaptadores del trait Iterator en Rust: map, filter, fold, chain, zip, flat_map, enumerate, take y collect. Guía con ejemplos reales de pedidos, rankings y colecciones, más los errores más comunes con el lazy evaluation.

  • Generales 0

    RefCell y Cell en Rust: mutabilidad interior y el borrow checker en runtime

    Cell y RefCell en Rust permiten modificar datos a través de referencias inmutables. Cell trabaja con tipos Copy sin overhead; RefCell aplica las reglas del borrow checker en runtime y entra en pánico si las viola. Incluye el patrón Rc con RefCell para múltiples propietarios.

  • Generales 0

    Rc y Arc en Rust: múltiple ownership con conteo de referencias

    Aprende a usar Rc y Arc en Rust para compartir ownership entre varios propietarios. Ejemplos de Rc::clone, Arc::Mutex para concurrencia, Weak para romper ciclos de referencia y el error de compilación que verás si mezclas Rc con hilos.