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

Formation en programmation Rust avancée

Maîtrisez Rust, de son modèle de propriété au déploiement en production, en un seul cours complet et pratique. Vous aborderez la concurrence, les E/S asynchrones, la programmation système, WebAssembly et la conception d'API du monde réel en toute confiance. Conçu pour les développeurs qui exigent à la fois performance et correction, 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 propriété, 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 du secteur.

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

  • 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 conditionné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 en programmation Rust avancée

Comment votre équipe s’exerce Formation en programmation Rust avancée

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 propriété

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

    Enseigne les références partagées, les références mutables et l'application des règles par le vérificateur d'emprunt. Construit le modèle mental nécessaire pour écrire des API concurrentes et sécurisées.

  • Leçon 2 • Syntaxe de base et types primitifs

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

  • Leçon 3 • Règles de propriété et sémantique de déplacement

    Explique les règles de propriété 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 la manière dont le compilateur les utilise pour valider les références. Prépare les étudiants aux API génériques et aux 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 tous les travaux ultérieurs.

Chapitre 2Voir les détails

Structures, énumérations et conception basée sur 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 de la programmation générique et de la répartition dynamique.

  • Leçon 2 • Traits de la bibliothèque standard en profondeur

    Explore Display, Debug, From, Into, Iterator et les traits standards 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 charges utiles de données et les branches 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 à champ nommé, tuple et unité avec des 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 sans coût sur plusieurs types concrets.

Chapitre 3Voir les détails

Gestion des erreurs et API robustes

  • Leçon 1 • Paniques, déroulement et abandon

    Distingue les erreurs récupérables des paniques et explique le déroulement par rapport à l'abandon. Guide les étudiants pour décider quand une panique est appropriée par rapport au retour 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 motif idiomatique pour les opérations faillibles en Rust.

Chapitre 4Voir les détails

Collections, itérateurs et motifs 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 sans coût et de la composition d'itérateurs.

  • Leçon 2 • Traitement des chaînes et des octets

    Couvre String, str, les slices d'octets et l'itération consciente d'Unicode. Prépare les étudiants aux tâches d'analyse de texte et d'implémentation de protocoles.

  • 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 motifs de fonctions d'ordre supérieur. Connecte les fermetures aux adaptateurs d'itérateurs 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 threads. Présente les motifs d'acquisition de verrou et les stratégies pour éviter les interblocages.

  • 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 minimales du code. Démontre l'ordonnancement par vol de travail et les motifs de pliage parallèle.

  • Leçon 3 • Opérations atomiques et motifs sans verrou

    Couvre les types atomiques, la sémantique d'ordre mémoire et les opérations de comparaison et d'échange. Permet des structures de données et des compteurs haute performance sans verrouillage.

  • 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 aux 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 motifs 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 et réseau asynchrones

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

  • Leçon 4 • Principes fondamentaux d'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, 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 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 aux allocateurs personnalisés et aux 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 no_std

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

  • Leçon 4 • Rust unsafe et ses invariants

    Définit les cinq superpouvoirs du code unsafe et les invariants qui doivent être respectés. Établit la discipline requise avant d'écrire tout bloc unsafe.

  • Leçon 5 • Interface de fonctions étrangères avec C

    Déclare les fonctions externes C, gère les chaînes C et 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 réelles

  • Leçon 1 • Conteneurisation et déploiement

    Empaquète les binaires Rust dans des images de 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 l'exactitude à tous les niveaux d'une application Rust de production.

  • Leçon 3 • Architecture de projet et disposition de l'espace de travail

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

  • Leçon 4 • Profilage des performances et évaluation comparative

    Utilise Criterion pour les micro-benchmarks 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. 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 backend : recherchant des gains de performance que les langages à mémoire gérée ne peuvent pas offrir.

  • Programmeurs système : 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 une automatisation qui exige une fiabilité à grande échelle.

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

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

  • Personnes en reconversion professionnelle : entrant dans le développement logiciel par le biais d'un langage fortement demandé sur le marché de l'emploi.

Cours associés

FAQ

Qui est Dedika ?

Le certificat est-il valable en Algérie ?

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