Choisissez votre langue
Formation Rust Intermédiaire et Avancée
Plus de 2 millions d'apprenants dans le monde

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.

Dedika pour entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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