Rust Professionnel 2/3

Cette formation Rust en 3 modules s'adresse aux développeurs ayant déjà une première expérience de la programmation fonctionnelle, qui souhaitent se construire une expertise avancée dans le langage Rust, qui joint à la fois performance et robustesse dans un seul langage, ce qui est en fait le langage de choix pour remplacer C et C++.

Ce second module aborde les concepts avancés du langage Rust, tels que les macros, les traits, l'ownership, ainsi que les outils les plus puissants de son écosystème.

Programme de la formation

Introduction au cas pratique et premiers pas

  • Spécification du cas pratique
  • Format d'entrée
  • Blocs de base

Manipuler les Traits

  • Règles d'implantation des traits
  • Monomorphisation
  • Polymorphisme contraint et extensibilité

Comprendre la relation entre Ownership et mémoire

  • Les durées de vie
  • L'encapsulation
  • Les sémantiques Copy et Clone

Créer des macros déclaratives

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

Maîtriser l'écosystème

  • Les meta-attributes cfg, doc, test, OS, features
  • La documentation
  • Les tests
  • Anatomie d'un gros projet

Aller plus loin avec les Traits

  • Traits et durée de vie (Add, Mul)
  • Types associés (Deref) et contraintes de polymorphisme
  • Implantation automatique de traits avec derive
  • Traits de haut niveau (Fn, FnOnce, FnMut, fn)

Le standard principal et les bibliothèques étendues (crates.io)

  • La gestion des erreurs avec error-chain
  • La gestion des arguments d'un programme avec clap
  • Sérialiser et désérialiser avec serde
  • Gérer la concurrence dans les itérateurs avec rayon

Cas pratique complexe

Ce cas pratique encapsule virtuellement tous les concepts abordés dans le cours dans un projet assez complexe.

Rust Professionnel 2/3

Durée: 2 jours Prix: 2000 EUR HT/pers Pratique: 50%
Prérequis
  • Prog. Fonctionnelle
  • Rust module 1
Public
  • Développeurs
Objectifs Pédagogiques
  • Introduction au cas pratique et premiers pas
  • Manipuler les Traits
  • Comprendre la relation entre Ownership et mémoire
  • Créer des macros déclaratives
  • Maîtriser l'écosystème
  • Aller plus loin avec les Traits
  • Le standard principal et les bibliothèques étendues (crates.io)
  • Cas pratique complexe

Adrien Champion (Rust)

Adrien est un développeur R&D senior chez OCamlPro depuis 2018 après avoir obtenu une thèse de doctorat et un post-doc au Japon. Adrien développe en Rust depuis les premières versions du compilateur Rust, et maintient plusieurs paquets open-source en Rust tel que hashconsing, rsmt2, zdd ou safe_index.

Évaluation des acquis

L'évaluation des acquis de la formation se fera en séance au travers d'ateliers, d'exercices et/ou de travaux pratiques. Dans le cas d'une formation officielle éditeur, veuillez nous consulter afin que nous vous fassions part des modalités d'évaluation.

A l'issue de la formation, vous sera transmis une évaluation à chaud de l'action de formation qui vous permettra de nous faire part de vos retours quant à votre expérience apprenant avec OCamlPro.

Prise en compte RQTH

Si vous êtes sujet à un handicap, prenez contact avec nos équipes pour que nous puissions définir ensemble comment nous pourrons aménager la session afin que vous puissiez vivre une expérience en formation inchangée.

Ressources pédagogiques

Les ressources pédagogiques sont produites par l'équipes OCamlPro en vue des formations. Les documents sont généralement en anglais, mais peuvent être traduits en français à la demande.

Financement en France

Nos formations ne sont pas éligibles au financement via OPCO (même si la prise en charge couvre la totalité du coût de la formation) en attendant la certification Qualiopi en cours. Non éligible au financement via CPF.

Formation en inter-entreprises

Les horaires pour nos formations inter-entreprises in-situ sont :

  • Début de la formation - 9h30
  • Pause déjeuner - 12h à 13h
  • Fin de la formation - 17h30