A l’issue de la formation les participants seront capables de se familiariser avec l’écosystème Rust, les concepts clefs et les points forts et faibles du langage. Ces différents éléments seront abordés via des exemples et des cas pratiques que les participants pourront manipuler dans leur environnement avec l’assistance du formateur. Une attention particulière sera donnée aux sujets suivants : programmation multithread et concurrente et programmation réseau et HTTP
- Développement
- Développement web
Formation Découverte du langage Rust
Objectifs
Prérequis
● Accès de type Remote Desktop (port 3389) sur la machine d’adresse IP : 51.210.101.212
● Liste des IPs devant accéder à la machine (filtrage d’IPs)
Cette formation ne peut être financée que dans le cadre d’un projet d’entreprise (prise en charge entreprise ou OPCO). Les dossiers à financement personnel et CPF ne sont pas pris en compte.
Public
Développeurs pratiquant déjà un langage de la même catégorie tel que le langage C++.
Formation(s) associée(s)
Dernière mise à jour
Programme mis à jour le 03 octobre 2024
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.
Les Modules
de formation
Module1
Programme détaillé
● Qu’est-ce que Rust ?
○ Histoire, positionnement, paradigmes
○ Ses concurrents
● L’écosystème pour débuter
● Premier exemple trivial
● Quels chemins pour entrer dans Rust ?
● Démonstration non optimale mais simple
● Les concepts clefs
○ Safety
○ Zero cost abstraction
● Grandes différences avec C++ ?
○ L’anti-programmation orientée objet
○ Le borrow checker
○ La généricité
● Exemples
○ Opération numérique
○ Programmation concurrente
○ Performances
Module2
Chronologie des thèmes abordés
Seront couverts les éléments suivants (dans cet ordre):
● « Immutability », « Ownership », « Borrowing », « move semantics »
● « lifetime »
● structures et aux énumérations (avec « pattern matching » et destructuration)
● Traits et implémentations
● Deux structures clefs : « Vec » et « String » (et comparaison avec les « slices » et « str »)
● Les concepts de macro et les macros communes (dont derive(Debug, Clone, Copy))
● Gestion des résultats, des optionnels et des erreurs
● Mise en place de tests (assertions et leurs macros)
● cargo: un système de compilation, un gestionnaire de paquets et plus encore
● Les conventions de codage et de documentation (et outils : « cargo fmt », « cargo doc »)
● Le réseau à la ‘main’ avec les sockets puis avec un package classique
● L’allocation mémoire sur le tas avec Box
● La programmation mutlithread et concurrente
● Les mécanismes de partage et de synchronisation
○ cas single-thread: Rc
○ cas multi-thread: Arc, Mutex, « channel » (passage de messages)
○ « interior mutability » pour de la mutabilité au runtime
● La programmation générique
● Le style fonctionnel avec Rust (dont les « closures »)
● Découverte de la bibliothèque standard (organisation et principales structures)
● Utilisation de Rust depuis un autre langage (ici C++)
Module3
Orientations complémentaires possibles :
● Le parallélisme de données avec rayon
● La sérialisation de données avec serde
● Les données financières (virgule fixe sans approximation)
Les prochaines
sessions de formation
Sur demande
Vous souhaitez organiser cette formation à une date spécifique ?Contactez-nous en remplissant le formulaire ci-dessous
25 novembre 2024
13 janvier 2025
10 mars 2025
05 mai 2025