Formation Rust - Avancé

Durée 3 jours
Niveau Intermédiaire
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence RUSA
Éligible CPF Non

Cette formation Rust avancé s'adresse aux développeurs Rust qui souhaitent découvrir les aspects les plus avancés du langage tels que les traits, l'ownership, l'encapsulation, la concurrence, les collections, etc. Toutes les sections incluent des exercices que les participants résolvent en session, avec l'aide du formateur.

Aussi, ce module déplie un projet complet et ambitieux de bout en bout, qui permet aux participants de suivre et de contribuer à une base de code croissante effectuant des tâches non triviales pendant toute la formation. La version finale du projet compte environ 3500 lignes de code.

Objectif opérationnel : 

Savoir maîtriser les aspects les plus avancés du langage Rust.

Objectifs pédagogiques : 

A l'issue de cette formation Rust Avancé vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Créer ses propres macros déclaratives
  • Utiliser les traits et maîtriser l’ownership dans des cas avancés
  • Choisir les types les plus adaptés à ses applications
  • Écrire un programme concurrent multi-thread
  • Appeler Rust depuis C et inversement

Public :

Ce cours Rust Avancé s'adresse essentiellement aux développeurs.

Prérequis :

Pour suivre cette formation Rust Avancé, il est nécessaire de posséder bonnes notions préalables en programmation fonctionnelle et d'avoir déjà pratiqué en Rust.

Vous pouvez idéalement avoir suivi la formation Rust - Initiation (RUST).

Créer des macros déclaratives

Définir des macros déclaratives
Gérer la visibilité des macros
Règles d'hygiène

Aller plus loin avec les Traits

La Règle de cohérence des Traits
Les Traits fondamentaux de la librairie standard
Traits et durée de vie (Add, Mul)
Bornes de traits avancées

Ownership avancé

Plongeons dans les règles d'emprunt
Le sous-typage de lifetimes
Stocker des références
Implémenter des traits pour des références

Quelques notions de plus

État global: const et static
Le Turbo fish

Taille des types et boxing

Les types de taille fixe et de taille dynamique
Les types de données algébriques
Le reference counting

Les Collections

Types fondamentaux : Vec, HashMap, BTreeMap
Les traits fondamentaux : Iterator, IntoIterator, Collect

La mutabilité intérieure

Une discussion détaillée de RefCell
Utilisons rayons pour pousser RefCell à ses limites

Le dispatch dynamique

Les objets de trait
Des collections hétérogènes
Les bornes de lifetime pour les objets de trait

La Concurrence sans peur

Rc et Arc
Send et Sync
Lancer des threads et passer des messages

Le Rust Unsafe et la FFI

Les pouvoirs d'unsafe
Les pointeurs purs
Les traits et fonctions unsafe
Les bases de la FFI
Appeler Rust depuis C et inversement

Les travaux pratiques représentent 50% du temps de formation.

Date de mise à jour du programme : 18/03/2024


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB