Manejo de errores en Rust con thiserror y anyhow
Usa thiserror para definir tipos de error claros para tu librería, anyhow para agrupar errores y agregar contexto para la aplicación, y combina ambos.
Usa thiserror para definir tipos de error claros para tu librería, anyhow para agrupar errores y agregar contexto para la aplicación, y combina ambos.
Cómo compartir datos entre threads con Arc<Mutex<T>>, pasar mensajes con mpsc channel, y evitar deadlock, envenenamiento y otros errores comunes.
Construir una REST API CRUD con Axum 0.8, incluyendo enrutamiento, extractors, estado compartido, manejo de errores con IntoResponse y pruebas de handlers sin necesidad de abrir puertos de red.
Cuándo usar Box, Rc o Arc en Rust: asignación en heap, compartición de ownership en un thread y entre múltiples threads, junto con Weak, RefCell y Mutex.
Guía de programación asincrónica en Rust con Tokio, que incluye async/await, spawn task, join!, select!, timeout, channel, spawn_blocking y cómo testear código async.
Guía para usar Cargo, crear proyectos Rust, agregar dependencias correctamente, escribir tests y organizar múltiples crates en un workspace.
Cómo definir enum con datos, usar match, if let, let else para manejar cada caso de forma segura, junto con los errores comunes al trabajar con enum en Rust.
Aprende sobre closures, los tres traits Fn/FnMut/FnOnce, cómo usar adaptadores de iteradores como map, filter, collect y cómo escribir tu propio iterador en Rust.
Aprende a definir e implementar trait en Rust, a usar trait bound, impl Trait y dyn Trait, y evita errores comunes como orphan rule.
Explica borrowing, borrow checker y lifetime annotation en Rust mediante ejemplos de Order, Customer fáciles de comprender, incluyendo errores comunes.
Aprende sobre Option<T> y Result<T, E> en Rust: cómo representar valores ausentes, errores potenciales, y propagar errores con el operador ? en lugar de excepciones.
Descubre el mecanismo de Ownership de Rust — cómo este lenguaje gestiona la memoria de forma segura en compile-time sin necesidad de garbage collector.