03 20 61 95 06

Training Course Rust


  • CMRI
  • Durée : 3 jours
  • Tarif : 4500 € HT

96%

Taux de satisfaction clients
(sur 1596 évaluations du 19/05/21 au 16/12/24)

Voir les avis

Objectifs

A l’issue de la formation le participant sera capable de :
Understand Rust’s positioning and specificities
Set up a development environment
Apply Rust’s fundamental concepts
Document, test, and debug your code
Handle errors properly
Use some popular libraries

Prérequis

Experience in system development
One PC per person with administrative rights

Public

Developers
Engineers
Consultants

Researchers
Architects
Project managers

Dernière mise à jour

Programme mis à jour le 18 octobre 2024
enveloppe Cette formation vous intéresse ? Contactez-nous

Bon à savoir

Evaluez votre niveau

Pour vous aider à bien choisir votre formation, nous vous proposons soit un entretien avec le formateur soit un test d’évaluation. Cela vous assurera que vous disposez des connaissances nécessaires pour suivre la formation dans des conditions optimales.

Formations modulables

Toutes nos formations sont disponibles en présentiel comme en distanciel, en mode coaching individuel ou en groupe de 3 à 6 participants maximum.

Travaux pratiques

Nos formations comprennent de nombreux travaux pratiques pour un meilleur apprentissage (60 % de pratique). Nous proposons également de travailler sur vos données pour une meilleure expérience.
modules

Les Modules
de formation

Module1
Day 1

Ice Breaker

I want to learn Rust because…?
Introduction : In a brief, playful discussion, each participant quickly introduces themselves and elaborates on their reasons for learning Rust, its use case, and any potential fears or reservations about the language.
Discovering Rust
Brief historical overview
Rust in the current landscape : Why a new language ?
Rust’s key strengths : safety, performance, and productivity
Understand the language’s limitations
Setup and Getting Started
Detailed installation: Rustup, Cargo, and Rust
Setting up the development environment: tools you need
Your first Rust program : « Hello, World ! »
Workshop : Install Rust and Cargo via Rustup, then set up your workspace and IDE with VSCode and all the necessary extensions. Write, compile, and run your first Rust program.
Diving into the Ecosystem
Cargo : more than just a package manager
From writing to deployment: Compile and run your code
Ensuring quality : Document, test, and use Clippy for linting
Adopt best practices: auto-format your code
Efficiently manage dependencies
Workshop : Practice through two mini-applications (fibonacci & fizzbuzz), implement unit tests, fix warnings with Clippy, and document your project.
Data Typing
A rich and secure language: a detailed exploration of types
Complex data structures: Tuples, pointers, slices, vectors…
Working with strings: from unicode to Rust strings
Type conversions and aliases : Write safe and readable code
Exploring the Syntax
Language fundamentals : Variables, control structures, and functions
Understanding ownership and borrowing: shared and exclusive references
Complex structures: Structs, enums, and their uses
Idiomatic Rust : Pattern matching, implementations, and closures
Workshop : Develop a temperature conversion application, employing a variety of idiomatic structures and syntax, while always adhering to best practices in unit testing, formatting, and linting.
Module2
Day 2

Ice Breaker

I find Rust…?
Introduction : Each participant summarizes the key points that shape their view of Rust in a brief, playful discussion, followed by a recap quiz on concepts covered the previous day and a Q&A session.
Modularity in Rust
Writing a one-liner program is possible !
The four key words: readability, maintainability, reusability, and interoperability
Exploring import and modularization specifics and mechanisms
Creating Modules : Define, declare, and integrate modules into an application
Visibility and Scope: Access control and interaction between modules
Workshop : Reorganize the previously developed applications into cleanly structured modules and submodules. Use the appropriate visibility attributes and imports, and learn to design a prelude.
Error Handling
Rust’s error philosophy: true error management
Differentiating and handling recoverable and unrecoverable errors
The Error trait in depth : Centralizing error handling
Advanced techniques : Propagation, custom errors, and specialized libraries
Workshop: Design an idiomatic and comprehensive error management strategy, then implement it within the previously developed applications, anticipating various scenarios and choosing the most suitable library for the use case (ThisError, Anyhow, Eyre…).
Traits and Generics
Discover traits, sub-traits, and their central role
Generic functions: reuse code infinitely
Put all your fruits in the same basket with trait objects
Under the hood: monomorphization and dynamic dispatch
Advanced trait usage: associated types and generics
Workshop : Enhance the quality of the previously developed applications by implementing standard traits like Display, Debug, Default, Eq, Ord, From, and Into.
Module3
Day 3

Ice Breaker
I would like Rust to…?

Introduction : Each participant shares one or more expectations regarding Rust during a brief, playful discussion, followed by a recap quiz on concepts covered the previous day and a Q&A session.
Data Collections
Master the standard collections: Vectors, hashmaps, sets, and more
Access data elegantly and efficiently with Entries
Advanced techniques: Iterators and common operations
Build any collection from an iterator
Workshop : Leverage the power of the Iterator and IntoIterator traits by reimplementing fizzbuzz and fibonacci as iterators in two different ways.
Macros and Metaprogramming
(Re)Discover native macros
Macros in Rust: safety and hygiene
Declarative or procedural macros
Write your own macros with macro_rules !
Going Further with Rust
Advanced areas : unsafe code, parallelism, async, interoperability, and embedded development
Overview of popular libraries and resources for continuous learning
Workshop : Serialize and deserialize previously implemented structures with Serde in various formats (JSON, YAML, TOML, and many others) transparently. Explore interactions with other languages and platforms.
Final Practice Session
Workshop : Apply all the skills learned to solve a set of puzzles, mixing concepts covered throughout the training.
Wrap-up
After this training, Rust seems…?
Closing session : Each participant shares their impressions about Rust and the training in a brief, playful discussion, followed by a Q&A session and a final quiz to assess the acquired knowledge.

Les prochaines
sessions de formation

Sur demande
Vous souhaitez organiser cette formation à une date spécifique ?Contactez-nous en remplissant le formulaire ci-dessous
02 décembre 2024
20 janvier 2025
17 mars 2025
12 mai 2025

Cette formation vous intéresse ? Contactez-nous !

    Les données personnelles collectées sont destinées à Access IT Company et utilisées pour traiter votre demande et, lorsque vous ne vous y êtes pas opposé, vous communiquer nos offres commerciales. Les données obligatoires vous sont signalées sur le formulaire par un astérisque. L’accès aux données est strictement limité par Access IT Company aux collaborateurs en charge du traitement de votre demande. Conformément au Règlement européen n°2016/679/UE du 27 avril 2016 sur la protection des données personnelles et à la loi « informatique et libertés » du 6 janvier 1978 modifiée, vous bénéficiez d’un droit d’accès, de rectification, d’effacement, de portabilité et de limitation du traitement des donnés vous concernant ainsi que du droit de communiquer des directives sur le sort de vos données après votre mort. Vous avez également la possibilité de vous opposer au traitement des données vous concernant. Vous pouvez exercer vos droits en contactant le DPO à l’adresse suivante : [email protected] ou à l’adresse postale suivante 2, Allée Lavoisier, 59650 Villeneuve d’Ascq. Pour plus d’informations sur le traitement de vos données personnelles par Access IT Company, veuillez consulter notre politique de confidentialité disponible sur notre site internet à l’adresse suivante : https://formation.access-it.fr/politique-de-confidentialite/