Choisissez votre langue
Formation avancée en programmation Rust
+ de 400 000 professionnels sur la plateforme
Exclusif aux entreprises

Formation avancée en programmation Rust

Maîtrisez Rust, de son modèle de possession au déploiement en production, dans un cours complet et pratique. Vous aborderez la concurrence, les E/S asynchrones, la programmation système, WebAssembly et la conception d'API réelles en toute confiance. Conçu pour les développeurs qui exigent à la fois performance et exactitude, ce cours transforme la courbe d'apprentissage abrupte de Rust en un avantage concurrentiel.

Dedika pour les apprenants

Ce que votre équipe va maîtriser:

  • Configurez la chaîne d'outils Rust et appliquez la possession, l'emprunt et les durées de vie pour écrire du code sûr et efficace.

  • Construisez des modèles de données type-safe à l'aide de structures, d'énumérations, de génériques et de traits pour une conception de domaine expressive.

  • Concevez des API robustes avec des types d'erreur personnalisés, la propagation de Result et des crates de gestion des erreurs conformes aux normes de l'industrie.

  • Implémentez des programmes concurrents et parallèles à l'aide de threads, de canaux, de Rayon et de motifs atomiques sans verrou.

  • Construisez des services asynchrones non bloquants avec Tokio, y compris les flux, l'annulation et la logique d'arrêt gracieux.

  • Déployez des applications Rust de production empaquetées dans des conteneurs, validées par des benchmarks et renforcées pour la sécurité.

Comment votre équipe apprend de façon pratique Formation avancée en programmation Rust

Comment votre équipe pratique Formation avancée en programmation Rust

Des professionnels de ces entreprises apprennent sur Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Contenu du cours

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

Chapitre 1Voir les détails

Fondamentaux de Rust et Modèle de Possession

  • Leçon 1 • Règles d'Emprunt et de Référence

    Enseigne les références partagées et mutables ainsi que l'application du vérificateur d'emprunt. Développe le modèle mental nécessaire pour écrire des API concurrentes et sûres.

  • Leçon 2 • Syntaxe de Base et Types Primitifs

    Couvre les types scalaires, les types composés, les expressions et le contrôle de flux. Fournit le vocabulaire syntaxique nécessaire avant l'introduction des concepts de possession.

  • Leçon 3 • Règles de Possession et Sémantique de Déplacement

    Explique les règles de possession de Rust et comment les valeurs se déplacent entre les portées. Permet directement une gestion sécurisée de la mémoire sans ramasse-miettes.

  • Leçon 4 • Durées de Vie et Syntaxe d'Annotation

    Introduit les paramètres de durée de vie et comment le compilateur les utilise pour valider les références. Prépare les étudiants pour les API génériques et les structures de données à longue durée de vie.

  • Leçon 5 • Chaîne d'Outils Rust et Configuration de Projet

    Installez et configurez la chaîne d'outils Rust, Cargo et les outils d'édition. Établit l'environnement de développement nécessaire pour tout le travail ultérieur.

Chapitre 2Voir les détails

Structures, Énumérations et Conception Pilotée par les Types

  • Leçon 1 • Traits et Polymorphisme

    Définit les traits comme des contrats de comportement partagés et les implémente sur des types personnalisés. Fournit la base pour la programmation générique et la répartition dynamique.

  • Leçon 2 • Traits de la Bibliothèque Standard en Profondeur

    Explore Display, Debug, From, Into, Iterator et les traits standard associés. Connecte les types personnalisés aux conventions idiomatiques de l'écosystème Rust.

  • Leçon 3 • Énumérations et Filtrage par Motif Exhaustif

    Couvre les variantes d'énumération avec des données et les branches de match exhaustives. Permet la modélisation de machines d'état et de conditions d'erreur sans pointeurs nuls.

  • Leçon 4 • Structures et Méthodes Associées

    Définit les structures avec champs nommés, les structures tuple et unit avec blocs impl. Établit le bloc de construction principal pour la modélisation de domaine en Rust.

  • Leçon 5 • Génériques et Paramètres de Type

    Introduit les fonctions, structures et énumérations génériques avec des contraintes de paramètres de type. Permet une abstraction à coût nul sur plusieurs types concrets.

Chapitre 3Voir les détails

Gestion des Erreurs et API Robuste

  • Leçon 1 • Paniques, Déroulement et Abandon

    Distingue les erreurs récupérables des paniques et explique le déroulement (unwinding) par rapport à l'abandon. Guide les étudiants pour décider quand la panique est appropriée par rapport au renvoi d'erreurs.

  • Leçon 2 • Types d'Erreur Personnalisés

    Enseigne la définition d'énumérations d'erreur spécifiques au domaine et l'implémentation du trait Error. Permet un rapport d'erreur précis et lisible par machine dans les API de bibliothèque.

  • Leçon 3 • Crates de Gestion d'Erreurs

    Introduit thiserror pour les erreurs de bibliothèque et anyhow pour les erreurs d'application. Réduit le code passe-partout tout en maintenant des informations d'erreur structurées.

  • Leçon 4 • Result et l'Opérateur Point d'Interrogation

    Couvre les combinateurs Result et l'opérateur ? pour une propagation concise. Établit le modèle idiomatique pour les opérations faillibles en Rust.

Chapitre 4Voir les détails

Collections, Itérateurs et Modèles Fonctionnels

  • Leçon 1 • Itérateurs et Adaptateurs Personnalisés

    Implémente Iterator sur des types personnalisés et construit des structures d'adaptateur réutilisables. Approfondit la compréhension de l'abstraction à coût nul et de la composition d'itérateurs.

  • Leçon 2 • Traitement des Chaînes de Caractères et des Octets

    Couvre String, str, les tranches d'octets et l'itération consciente d'Unicode. Prépare les étudiants pour les tâches d'analyse syntaxique de texte et d'implémentation de protocole.

  • Leçon 3 • Aperçu des Collections Standard

    Passe en revue Vec, HashMap, HashSet, BTreeMap, VecDeque et leurs compromis. Fournit le vocabulaire pour choisir la collection adaptée à chaque cas d'utilisation.

  • Leçon 4 • Fermetures et Fonctions d'Ordre Supérieur

    Couvre les modes de capture des fermetures, les traits Fn et les modèles de fonctions d'ordre supérieur. Connecte les fermetures aux adaptateurs d'itérateur et aux API basées sur les rappels.

  • Leçon 5 • Trait Iterator et Évaluation Paresseuse

    Explique le trait Iterator, les adaptateurs paresseux et les consommateurs terminaux. Permet une transformation de données efficace et lisible sans allocations intermédiaires.

Chapitre 5Voir les détails

Concurrence et Parallélisme en Rust

  • Leçon 1 • État Partagé avec Mutex et RwLock

    Utilise Arc, Mutex et RwLock pour partager un état mutable entre les threads. Démontre les modèles d'acquisition de verrou et les stratégies d'évitement d'interblocage.

  • Leçon 2 • Rayon et Parallélisme de Données

    Applique la crate Rayon pour paralléliser les pipelines d'itérateurs avec des modifications de code minimales. Démontre l'ordonnancement par vol de travail et les modèles de fold parallèle.

  • Leçon 3 • Opérations Atomiques et Modèles sans Verrou

    Couvre les types atomiques, la sémantique d'ordonnancement mémoire et les opérations compare-and-swap. Permet la création de structures de données et de compteurs haute performance sans verrou.

  • Leçon 4 • Threads et Traits Send et Sync

    Crée des threads OS et explique les traits marqueurs Send et Sync. Établit les garanties à la compilation qui empêchent les courses de données.

  • Leçon 5 • Passage de Messages avec les Canaux

    Implémente des pipelines producteur-consommateur en utilisant les canaux std et crossbeam. Compare la conception basée sur les canaux avec la concurrence par état partagé.

Chapitre 6Voir les détails

Rust Asynchrone et l'Exécuteur Tokio

  • Leçon 1 • Annulation, Délais d'Attente et Gestion des Erreurs

    Implémente l'annulation de tâches, les délais d'attente et les modèles de concurrence structurée. Garantit que les services asynchrones se dégradent gracieusement en cas de défaillance.

  • Leçon 2 • Exécuteur Tokio et Création de Tâches

    Configure l'exécuteur Tokio et crée des tâches concurrentes. Connecte les fondamentaux asynchrones à un ordonnanceur multi-thread prêt pour la production.

  • Leçon 3 • E/S Asynchrones et Réseau

    Utilise les API asynchrones TCP, UDP et d'E/S fichier de Tokio pour des opérations non bloquantes. Développe les compétences nécessaires à l'implémentation de services réseau.

  • Leçon 4 • Fondamentaux de Async et Await

    Explique les futures, la syntaxe async/await et le modèle d'exécuteur. Fournit les bases conceptuelles avant d'introduire un exécuteur spécifique.

  • Leçon 5 • Flux, Éviers (Sinks) et Contre-Pression

    Couvre le trait Stream, l'itération asynchrone et les mécanismes de contre-pression. Permet le traitement de sources de données continues dans des pipelines asynchrones.

Chapitre 7Voir les détails

Programmation Système et Rust Non Sûr (Unsafe)

  • Leçon 1 • Pointeurs Bruts et Mémoire Manuelle

    Couvre la création de pointeurs bruts, le déréférencement et l'allocation manuelle avec l'API d'allocateur. Prépare les étudiants pour les allocateurs personnalisés et les cibles embarquées.

  • Leçon 2 • Pointeurs Intelligents Personnalisés

    Implémente Deref, Drop et des types de pointeurs intelligents personnalisés à partir de zéro. Approfondit la compréhension du fonctionnement interne de Box, Rc et Arc.

  • Leçon 3 • Environnements Embarqués et Sans-Standard (No-Std)

    Configure les crates no_std, utilise core et alloc, et cible le matériel nu (bare-metal). Démontre l'applicabilité de Rust au-delà des systèmes d'exploitation hôtes.

  • Leçon 4 • Rust Non Sûr (Unsafe) et ses Invariants

    Définit les cinq super-pouvoirs unsafe et les invariants qui doivent être respectés. Établit la discipline requise avant d'écrire un bloc unsafe.

  • Leçon 5 • Interface avec les Fonctions Étrangères (FFI) pour C

    Déclare des fonctions C externes, gère les chaînes C et assure la compatibilité ABI. Permet à Rust d'appeler et d'être appelé par des bases de code C existantes.

Chapitre 8Voir les détails

Construction et Déploiement d'Applications du Monde Réel

  • Leçon 1 • Conteneurisation et Déploiement

    Empaquète les binaires Rust dans des images conteneur minimales et configure des pipelines CI. Livre un artefact déployable à partir d'un projet Rust de production.

  • Leçon 2 • Stratégies de Test et Organisation des Tests

    Couvre les tests unitaires, les tests d'intégration, les tests de documentation et les tests basés sur les propriétés. Garantit la correction à tous les niveaux d'une application Rust de production.

  • Leçon 3 • Architecture de Projet et Structure de l'Espace de Travail

    Organise les espaces de travail Cargo multi-crates, les indicateurs de fonctionnalités et la gestion des dépendances. Établit une structure de projet évolutive pour le développement en équipe.

  • Leçon 4 • Profilage de Performance et Évaluation de Performance

    Utilise Criterion pour les micro-évaluations et perf ou flamegraph pour le profilage. Identifie et élimine les goulots d'étranglement dans les chemins de code chauds.

  • Leçon 5 • Développement d'Applications CLI

    Construit un outil CLI complet en utilisant clap, des fichiers de configuration et une journalisation structurée. Démontre la conception d'application de bout en bout, de l'analyse des arguments à la sortie.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Ingénieurs back-end : recherchant des gains de performance que les langages à mémoire gérée ne peuvent pas offrir.

  • Programmeurs systèmes : passant du C ou du C++ et souhaitant des garanties de sécurité à la compilation plus solides.

  • Ingénieurs DevOps : construisant des outils internes et de l'automatisation qui exigent une fiabilité à grande échelle.

  • Étudiants en informatique : faisant le pont entre la théorie académique et les compétences pratiques en Rust pertinentes pour l'industrie.

  • Contributeurs open-source : visant à participer aux projets de l'écosystème Rust avec une crédibilité réelle.

  • Personnes en reconversion professionnelle : entrant dans le développement logiciel par un langage qui bénéficie d'une forte demande du marché du travail.

Cours associés

FAQ

Qui est Dedika ?

Le certificat est-il valable en Côte d’Ivoire ?

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