
Formation Rust Intermédiaire et Avancée
Faites passer vos compétences Rust de fonctionnelles à redoutables. Ce cours explore en profondeur les modèles de propriété avancés, la programmation asynchrone, les primitives de concurrence et le Rust unsafe — vous offrant les outils nécessaires pour construire des systèmes de qualité production en toute confiance. Maîtrisez les concepts qui distinguent les développeurs Rust compétents des développeurs exceptionnels.
Ce que vous allez apprendre:
Appliquez des annotations de durée de vie avancées et des règles d'emprunt pour concevoir des API robustes et efficaces en termes d'allocation.
Construisez des programmes concurrents à l'aide de threads, de canaux, de Mutex et des garanties Send et Sync de Rust.
Implémentez des pipelines async/await et comprenez le fonctionnement interne des exécuteurs pour les applications réseau non bloquantes.
Construisez des itérateurs personnalisés, des fermetures et des pipelines fonctionnels qui éliminent les allocations inutiles sur le tas.
Concevez et auditez des abstractions unsafe, y compris la manipulation de pointeurs bruts et l'interopérabilité avec le C via FFI.
Configurez des espaces de travail Cargo, des indicateurs de fonctionnalités et des pipelines CI pour gérer des projets Rust de qualité production.
Comment vous étudiez de façon pratique Formation Rust Intermédiaire et Avancée
Comment vous pratiquez Formation Rust Intermédiaire et Avancée
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsRust Ownership et Borrowing Refresher
Rust Ownership et Borrowing Refresher
Leçon 1 • Ownership Rules et Move Semantics
Couvre l'invariant de possesseur unique, les types par déplacement vs. par copie, et l'ordre de libération. Établit la base de sécurité mémoire dont dépend tout le cours.
Leçon 2 • Interior Mutability Patterns
Explique Cell, RefCell et leur vérification de prêt à l'exécution pour les cas où les règles de compilation sont trop restrictives. Fait le pont entre les fondamentaux de la possession et les schémas avancés d'état partagé.
Leçon 3 • Slices, References et String Types
Distingue les types str, String et slice ainsi que leur sémantique de référence. Renforce les concepts de prêt à travers la manipulation pratique de chaînes et de tableaux.
Leçon 4 • Borrowing et Reference Rules
Enseigne les références partagées et exclusives, les règles d'alias et les retours du vérificateur de prêt. Prépare directement les étudiants aux annotations de durée de vie dans les sections suivantes.
Leçon 5 • Lifetime Annotations et Elision
Introduit la syntaxe explicite des durées de vie, les règles d'ellipse et les relations de durée de vie dans les structures. Permet aux étudiants d'écrire des API qui compilent sans clonage inutile.
Chapitre 2MasquerCacher les détailsVoir les détailsFonctionnalités avancées du système de types
Fonctionnalités avancées du système de types
Leçon 1 • Types Associés et Familles de Types
Distingue les types associés des paramètres génériques et montre quand chacun est approprié. Prépare les étudiants à lire et écrire correctement les traits d'itérateur et d'opérateur.
Leçon 2 • Generic Types et Monomorphization
Couvre les structures, énumérations et fonctions génériques ainsi que les compromis de coût de la monomorphisation. Fournit le vocabulaire nécessaire pour comprendre les limites de traits et la spécialisation.
Leçon 3 • Trait Objects et Dynamic Dispatch
Explique dyn Trait, les vtables, les règles de sécurité des objets et les implications de performance. Équipe les étudiants pour choisir délibérément entre la répartition statique et dynamique.
Leçon 4 • Trait Bounds et Where Clauses
Enseigne les limites en ligne, les clauses where et les limites de traits de rang supérieur pour des API flexibles. Permet directement les schémas de traits avancés couverts dans les sections suivantes.
Leçon 5 • Operator Overloading et Newtype Pattern
Implémente les traits d'opérateur standard et l'idiome newtype pour des wrappers types-safe. Renforce les types associés tout en introduisant des techniques de conception d'API ergonomiques.
Chapitre 3MasquerCacher les détailsVoir les détailsStratégies de gestion des erreurs
Stratégies de gestion des erreurs
Leçon 1 • Panic, Unwinding et Recovery
Distingue les erreurs récupérables des paniques, explique le déroulement vs. l'arrêt et couvre catch_unwind. Complète le tableau de la gestion des erreurs avec des stratégies de sécurité pour les cas limites.
Leçon 2 • Error Libraries et Ergonomics
Examine thiserror pour dériver des types d'erreur et anyhow pour les erreurs au niveau application. Enseigne quand utiliser chaque approche selon le contexte bibliothèque vs. application.
Leçon 3 • L'Opérateur Point d'Interrogation
Explique comment ? se désucre, les conversions From et la sémantique de retour anticipé en détail. Permet aux étudiants d'écrire du code de propagation concis à travers plusieurs types d'erreur.
Leçon 4 • Result et Option Combinators
Couvre map, and_then, unwrap_or et les combinateurs associés pour une gestion ergonomique des erreurs. Établit des schémas idiomatiques avant d'introduire l'opérateur point d'interrogation.
Leçon 5 • Types d'Erreurs Personnalisés
Conçoit des énumérations implémentant Error, Display et le chaînage de source pour des diagnostics riches. Se connecte à l'opérateur ? en implémentant les conversions From nécessaires.
Chapitre 4MasquerCacher les détailsVoir les détailsClosures, Iterators et Functional Patterns
Closures, Iterators et Functional Patterns
Leçon 1 • Iterator Trait et Lazy Evaluation
Implémente le trait Iterator depuis zéro et explique le chaînage d'adaptateurs paresseux. Montre comment les abstractions à coût zéro éliminent les allocations intermédiaires.
Leçon 2 • Closure Capture et Fn Traits
Explique Fn, FnMut, FnOnce, la capture par référence vs. par déplacement et la taille des fermetures. Fournit la connaissance des traits nécessaire pour passer des fermetures à travers les frontières des API.
Leçon 3 • Custom Iterators et Adapters
Construit des itérateurs personnalisés avec état et des structures d'adaptateur qui enveloppent des itérateurs existants. Renforce les compétences de possession et de durée de vie tout en étendant l'écosystème des itérateurs.
Leçon 4 • Adaptateurs d'Itérateur Courants
Couvre map, filter, flat_map, zip, enumerate et take en profondeur avec des exemples réels. Développe l'aisance avec le vocabulaire des adaptateurs utilisé dans tout le code Rust idiomatique.
Leçon 5 • Consuming Adapters et Collectors
Enseigne fold, sum, collect, partition et unzip pour terminer les pipelines d'itérateurs. Connecte l'évaluation paresseuse aux types de sortie concrets via le trait FromIterator.
Chapitre 5MasquerCacher les détailsVoir les détailsSmart Pointers et Memory Management
Smart Pointers et Memory Management
Leçon 1 • Combinaison de Pointeurs Intelligents
Montre Rc<RefCell<T>> et Arc<Mutex<T>> pour l'état mutable partagé. Connecte la mutabilité intérieure du Chapitre 1 aux scénarios multi-possesseurs.
Leçon 2 • Mise en œuvre de pointeurs intelligents personnalisés
Construit un pointeur intelligent personnalisé en implémentant Deref, DerefMut et Drop. Approfondit la compréhension du fonctionnement interne des pointeurs de la bibliothèque standard.
Leçon 3 • Memory Layouts et Allocators
Examine le layout des structures, le remplissage, l'alignement et l'interface de l'allocateur global. Équipe les étudiants pour optimiser l'utilisation de la mémoire et intégrer des allocateurs personnalisés.
Leçon 4 • Reference Counting avec Rc et Arc
Compare Rc pour la possession partagée mono-thread et Arc pour la possession partagée multi-thread. Prépare les étudiants à la programmation concurrente en introduisant les contraintes de sécurité des threads.
Leçon 5 • Box et Heap Allocation
Explique Box<T> pour l'allocation sur le tas, les types récursifs et le stockage d'objets traits. Établit le pointeur intelligent le plus simple avant d'introduire les variantes à comptage de références.
Chapitre 6MasquerCacher les détailsVoir les détailsConcurrency et Parallelism
Concurrency et Parallelism
Leçon 1 • Atomic Operations et Lock-Free Patterns
Explique les types atomiques, l'ordonnancement mémoire et le compare-and-swap pour les algorithmes sans verrou. Prépare les étudiants à raisonner sur les modèles de mémoire matérielle dans le code critique en performance.
Leçon 2 • Parallel Iterators et Data Parallelism
Introduit le parallélisme de données via les schémas d'itérateurs parallèles et les ordonnanceurs à vol de travail. Connecte les compétences d'itérateur du Chapitre 4 à l'optimisation de performance multi-cœur.
Leçon 3 • Message Passing avec Channels
Implémente des schémas producteur-consommateur en utilisant les canaux mpsc et explique la contre-pression. Fournit une alternative sûre à l'état partagé pour la communication inter-threads.
Leçon 4 • Primitives de synchronisation d'état partagé
Couvre Mutex, RwLock, Condvar et Barrier pour coordonner l'accès des threads aux données partagées. S'appuie sur Arc du Chapitre 5 pour implémenter des structures de données concurrentes sûres.
Leçon 5 • Threads et the Send et Sync Traits
Couvre thread::spawn, JoinHandle, et les traits marqueurs Send/Sync qui imposent la sécurité des threads. Établit les garanties de concurrence au moment de la compilation propres à Rust.
Chapitre 7MasquerCacher les détailsVoir les détailsAsync Rust et the Executor Model
Async Rust et the Executor Model
Leçon 1 • Async et Await Syntax
Couvre async fn, les blocs async, .await et comment ils se composent en pipelines plus grands. Développe l'aisance pratique avant d'introduire les détails de l'exécuteur et du runtime.
Leçon 2 • E/S asynchrone et Réseautage
Implémente des clients et serveurs TCP asynchrones utilisant des E/S non bloquantes et des flux asynchrones. Applique la connaissance de l'exécuteur à des scénarios réels de programmation réseau.
Leçon 3 • Async Patterns et Pitfalls
Aborde les erreurs courantes en asynchrone : appels bloquants dans un contexte asynchrone, sécurité d'annulation et limites Send. Équipe les étudiants pour déboguer et optimiser le code asynchrone en production.
Leçon 4 • Futures et the Future Trait
Explique le trait Future, Poll, Waker et la transformation en machine d'état des fonctions asynchrones. Fournit la base conceptuelle pour tous les schémas asynchrones qui suivent.
Leçon 5 • Executors et Runtimes
Compare les exécuteurs mono-thread et multi-thread, l'ordonnancement des tâches et la configuration du runtime. Permet aux étudiants de sélectionner et configurer le runtime adapté à leur charge de travail.
Chapitre 8MasquerCacher les détailsVoir les détailsUnsafe Rust et FFI
Unsafe Rust et FFI
Leçon 1 • The Unsafe Keyword et Superpowers
Définit les cinq opérations unsafe, le contrat unsafe et le principe de surface unsafe minimale. Établit le modèle mental pour tous les sujets unsafe qui suivent.
Leçon 2 • Mettre en œuvre les abstractions non sécurisées
Construit des abstractions sûres sur du code unsafe, y compris un tampon minimal de type Vec. Montre comment encapsuler les invariants pour que les appelants n'aient jamais besoin d'unsafe.
Leçon 3 • Exposer Rust vers C et auditer le code unsafe
Exporte des fonctions Rust pour la consommation en C et introduit des outils pour auditer le code unsafe. Complète le tableau FFI et inculque une discipline de révision de sécurité.
Leçon 4 • Raw Pointers et Pointer Arithmetic
Couvre la création de *const T et *mut T, le déréférencement et les règles d'arithmétique de pointeurs. Prépare les étudiants à la gestion manuelle de la mémoire et à la manipulation de pointeurs FFI.
Leçon 5 • Notions de base sur l'interface de fonctions étrangères
Déclare des fonctions extern C, gère les types C et gère la possession à travers la frontière FFI. Permet aux étudiants d'appeler des bibliothèques C existantes depuis Rust en toute sécurité.
Votre certificat valide de réussite
Ce cours est pour vous :
Ingénieurs back-end : cherchant à remplacer le C ou le C++ par du code système plus sûr.
Développeurs embarqués : prêts à appliquer Rust aux environnements bare-metal et no_std.
Contributeurs open-source : souhaitant lire et écrire les internes avancés des bibliothèques logicielles Rust.
Architectes logiciels : concevant des systèmes distribués à haut débit et économes en mémoire.
Diplômés en informatique : faisant le pont entre les connaissances académiques et les patrons de production Rust.
Programmeurs amateurs : qui ont terminé des projets Rust pour débutants et veulent un vrai défi.
Ce que disent nos apprenants
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Cameroun ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















