cours dans Rust Skill Tree
Laboratoires de pratique Rust
Débutant
Ce cours contient de nombreux laboratoires pour Rust. Chaque laboratoire est un petit projet Rust avec des instructions détaillées et des solutions. Vous pouvez améliorer vos compétences en Rust en complétant ces laboratoires, développer vos compétences en programmation et apprendre à écrire un code propre et efficace.
linux
💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici
- Introduction
- Programme
Définir des modules pour contrôler la portée et la confidentialité
Réfutabilité dans la correspondance de motifs en Rust
La métaprogrammation Rust avec des macros
Désactiver les avertissements de code non utilisé en Rust
Compilation de fonction Rust conditionnelle
Concepts de durée de vie en programmation Rust
Domain Specific Languages
Interfaces variadiques en programmation Rust
Espaces de noms Rust avec la déclaration use
Déclaration de liaisons de variables en Rust
Fondamentaux de la programmation Rust : Liaisons de variables et Expressions
Liaisons de variables mutables en Rust
La liaison de données immuables en Rust
Retour de boucles
Un exemple de programme utilisant des structs
Contrôler la façon dont les tests sont exécutés
Elision de la durée de vie du vérificateur d'emprunt Rust
Liaisons de variables et inférence de type en Rust
Imbrication et étiquettes
Programmation de boucle FizzBuzz en Rust
Flux de contrôle concis avec if let
Exploration des constantes Rust
Création d'une bibliothèque
Répétition de macros en Rust
Explorer les boucles infinies en Rust
Constantes littérales et spécification de type en Rust
Démonstration de la propriété et de la mutabilité en Rust
Surcharge des macros Rust avec macro_rules!
Erreurs irrécupérables avec panic
Découpage et déréférencement en Rust
Explorer les espaces de travail Cargo en Rust
Gestion des durées de vie dans les structs de Rust
Annotation de durée de vie dans les traits Rust
Abort et Unwind
Attributs Cargo dans le développement Rust
Compilation conditionnelle avec l'attribut cfg de Rust
Portée et ombrage
Découpage de tuples en Rust
Lecture d'un fichier
Qu'est-ce que la propriété?
Le type de tranche
Types imprimables dans la bibliothèque standard de Rust
Attendre la fin d'un processus enfant
Découpage de structs Rust avec correspondance de motifs
Validation des références avec des durées de vie
Exemples d'utilisation des énumérations Rust
Annotations de durée de vie et vérificateur d'emprunts en Rust
Exploration de la coercition de durée de vie en Rust
Exploration des types primitifs de Rust
Bornes de durée de vie et de trait en Rust
Fermetures Rust avec contraintes de type générique
Exploration des multiples contraintes en Rust
Concurrency d'état partagé en Rust
Définition et instanciation de structs
Documenter les projets Rust avec Markdown
Gestion des dépendances Cargo en Rust
Publication d'une boîte à outils sur Crates.io
Emprunt mutable dans le livre Rust
Personnaliser la sortie d'une structure Rust avec fmt::Display
Découpage de tableaux et de slices en Rust
En tant que paramètres de sortie
Création de threads natifs en Rust
Découpage et utilisation des énumérations en Rust
Types de commentaires et documentation en Rust
Boucles et plages en Rust
Le motif ref
Alias pour Result
Explorer les capacités fonctionnelles de Rust
Gérer les erreurs avec des retours anticipés en Rust
Références et Emprunt
Exemple de gestion des erreurs panic en Rust
Exploration de la visibilité des modules Rust
Plusieurs types d'erreurs
Affecter des chemins à la portée avec le mot-clé use
Aliasage en Rust : Amélioration de la lisibilité du code
Explorer les closures et la capture d'environnement en Rust
Option & Unwrap
Exécution de processus enfants en Rust
Exploration du concept d'aliasing en Rust
Utiliser les threads pour exécuter du code simultanément
Héritage et composition de traits Rust
Gestion chaînée d'Option avec and_then()
Closures en tant que paramètres de fonction
Explorer le type Result de Rust
La déclaration Use
Accepting Command Line Arguments
Messages d'erreur Rust sur la sortie d'erreur standard
Explorer le mécanisme de comptage de références de Rust
Accéder aux arguments de ligne de commande en Rust
Pratiques de la syntaxe des motifs Rust
Explorer les types de structures Rust et leurs applications
New Type Idiom
Packages and Crates
Génération et test de la documentation avec Cargo
La structure de contrôle de flux match
Stockage de paires clé-valeur avec les tables de hachage Rust
Utiliser Box<T> pour les données stockées sur le tas
Rc<T>, le pointeur intelligent à comptage de références
Fonctions et closures avancées
Cloner des structs Rust avec le trait Clone
Séparer les modules dans des fichiers différents
Explorer les tuples Rust et transposer des matrices
Organisation de fichiers Rust modulaire
Signatures de fonctions Rust avec des durées de vie
Explorer les opérations non sécurisées de Rust
Utilisation d'une bibliothèque
Traiter les pointeurs intelligents comme des références normales
Factoriser la répétition avec les macros Rust
Prise en main de la syntaxe des méthodes en Rust
Présentation des désignateurs dans les macros Rust
La liaison et la déstructuration en Rust
Types de clés alternatifs/ personnalisés
Conversions entre chaînes de caractères
Exploration de la correspondance de motifs en Rust
Super et Self
Box, Pile et Tas
Fondamentaux des tests logiciels en Rust
Littéraux et opérateurs
Itération sur des Résultats
Impression formatée en Rust
Stockage de listes de valeurs avec des vecteurs
Gestion des erreurs en Rust avec le point d'interrogation
Fonctionnalité de bibliothèque Rust avec développement guidé par les tests
Lecture de fichiers efficace en Rust
Map pour Result
Création d'un serveur web mono-fil
Fondamentaux de la propriété et de l'emprunt en Rust
Correspondance de motifs Rust concise avec Let-Else
Explorer les traits Rust pour des méthodes personnalisées
Exemple avancé d'inférence de type en Rust
Transfert de données concurrentes avec les canaux Rust
Chemins dans l'arborescence de modules Rust
Propriété partagée avec Arc Rust
Stockage de texte encodé en UTF-8 avec des chaînes de caractères
Laboratoire du Livre Rust : Tests unitaires et d'intégration
Écrire des fonctions en Rust
Opérations sur le système de fichiers en Rust
Itération concise des Options Rust avec While Let
Extraire les résultats des options
Explorer les opérations de HashSet en Rust
Analyse d'arguments de ligne de commande en Rust
Définir des fonctions génériques en Rust
Instructions conditionnelles en Rust
Explorer la fonctionnalité des génériques en Rust
Présentation des identifiants bruts en Rust
Paramètres de type fantôme
Gérer les erreurs réparables avec Result
Démonstration de l'utilisation des méthodes en Rust
Explorer la structure Path immuable de Rust
To Panic or Not to Panic
Comment écrire des tests
Implémenter le trait générique de double désallocation
Explorer le trait Drop de Rust
L'opérateur Rust simplifie la gestion des erreurs
Fonctions divergentes en Rust
Visibilité des champs de structs en Rust
Nettoyage avec le trait Drop de Rust
Les cycles de référence peuvent fuitier la mémoire
Implémenter fmt::Display pour List en Rust
TryFrom et TryInto
Explorer la fonction any de l'itérateur Rust
Contraintes de type pour les génériques Rust
Testcase : Bornes vides
Explorer la fonctionnalité impl Trait de Rust
Recherche dans les itérateurs
Surchargement d'opérateurs en Rust
Implémentation d'un patron de conception orienté objet
Interface de Fonctions Étrangères
Simplifier la gestion des types Option en Rust avec Map
Fondamentaux des tests d'intégration en Rust
Gérer les erreurs avec Box en Rust
From et Into
Vecteurs Rust : éléments essentiels des tableaux redimensionnables
Explorer les closures Rust et le comportement de capture
Formatage et trait Display en Rust
Explorer l'énumération Result de Rust
Propriété et Mouvements
Gestion de l'échec avec l'enum Option en Rust
Lecture de fichiers en Rust
Créer un fichier avec la bibliothèque standard de Rust
Interaction entre un processus enfant et des tubes
Gestion des panneaux et sécurité mémoire en Rust
Testcase : Clarification d'unité
Closures: Anonymous Functions That Capture Their Environment
Tableaux et tranches
Déballez les options et utilisez les valeurs par défaut
Disambiguïsation des traits imbriqués
Traitement parallèle des données en Rust
Implémentation de traits génériques pour des conteneurs
Travailler avec les variables d'environnement
Retourner des traits avec Dyn
Explorer la construction if let de Rust
La décomposition avec déplacement partiel en Rust
Fondamentaux des tests unitaires en Rust
Utilisation des vérifications de correspondance en Rust
Objets de trait pour des valeurs hétérogènes
Traiter une série d'éléments avec des itérateurs
Traits de dérivation dans les structs tuple de Rust
Définition d'un Enum
Définition d'un type d'erreur personnalisé
Tous les endroits où les motifs peuvent être utilisés
Explorer les types associés de Rust
Implémentation de types génériques en Rust
Typage explicite en Rust : Conversion de type explicite
Fonctions associées et méthodes
Gestion des ressources RAII en Rust
Caractéristiques des langages orientés objet
Explorer le concept de 'static' en Rust
Refactoring pour améliorer la modularité et la gestion des erreurs
Implémentation d'itérateurs en Rust
Exploration avancée des traits Rust
Autres utilisations de?
Encapsulation d'erreurs avec un type personnalisé
Explorer les concepts de chaînes de caractères en Rust
En tant que paramètres d'entrée
Amélioration de notre projet E/S
Traits : Définition de Comportement Partagé
Explorer les pouvoirs surnaturels du Rust non sécurisé
Tutoriel sur le stockage de données avec HashMap en Rust
Génériques Rust expressifs avec la clause where
Déballez les options avec?
Suppression de la duplication en extrayant une fonction
Pratiques sur les types avancés de Rust
Concepts des énumérations et des alias de type en Rust
Implémentation d'une liste chaînée en Rust
Communication par canaux asynchrones en Rust
Explorer l'utilisation de l'assemblage en ligne en Rust
Développement de serveurs multi-threaded en Rust
Exploration des macros Rust dans LabEx
Arrêt propre et nettoyage
RefCell<T> et le modèle de mutabilité interne
Enseignant
Labby
Labby is the LabEx teacher.
Partager sur Google Classroom
Rejoignez notre Discord et apprenez ensemble
Rejoindre maintenantAvis des Utilisateurs
" You people are doing wonderful job"
— Israel O.
" pretty simple, easy and straight forward. :)"
— Phobia
Recommandé pour vous

