Gestion d'erreurs en Rust avec thiserror et anyhow
Utilisez thiserror pour définir des types d'erreurs structurés pour votre bibliothèque, anyhow pour regrouper les erreurs et ajouter du contexte pour votre application, et combinez les deux.
Utilisez thiserror pour définir des types d'erreurs structurés pour votre bibliothèque, anyhow pour regrouper les erreurs et ajouter du contexte pour votre application, et combinez les deux.
Comment partager des données entre threads avec Arc<Mutex<T>>, transmettre des messages via mpsc channel, et éviter deadlock, poisoning et autres erreurs courantes.
Construire une REST API CRUD avec Axum 0.8, en passant par le routing, les extractors, l'état partagé, la gestion des erreurs avec IntoResponse et les tests de handler sans avoir besoin d'ouvrir un port réseau.
Quand utiliser Box, Rc ou Arc dans Rust : allocation heap, partage d'ownership dans un thread et entre plusieurs threads, avec Weak, RefCell et Mutex.
Guide de programmation asynchrone en Rust avec Tokio, couvrant async/await, spawn task, join!, select!, timeout, channel, spawn_blocking et comment tester du code async.
Guide pour utiliser Cargo afin de créer des projets Rust, ajouter correctement des dépendances, écrire des tests et regrouper plusieurs crates dans un workspace.
Comment définir des énums avec données, utiliser match, if let, let else pour gérer chaque cas de manière sûre, ainsi que les erreurs courantes lors du travail avec les énums en Rust.
Découvrez les closures, les trois traits Fn/FnMut/FnOnce, comment utiliser les adaptateurs d'itérateur comme map, filter, collect et comment écrire votre propre itérateur en Rust.
Apprenez à définir et implémenter les traits en Rust, utiliser les trait bounds, impl Trait, dyn Trait et éviter les erreurs courantes comme l'orphan rule.
Explication du borrowing, du borrow checker et des lifetime annotations en Rust avec des exemples Order, Customer faciles à comprendre, accompagnés des erreurs courantes.
Explorez Option<T> et Result<T, E> en Rust : comment représenter une valeur manquante, une erreur possible, et propager les erreurs avec l'opérateur ? au lieu d'exception.
Découvrez le mécanisme d'Ownership de Rust — comment ce langage gère la mémoire de façon sécurisée à la compilation sans garbage collector.