Plan du cours
# Day 1
- Introduction
- Installation
- rustup
- cargo, rustc
- crates.io
- create a first project
- creating a library or executable
- Cargo.toml
- Cargo.lock
- exploring the source
- cargo tools
- hello world program
- Basic syntax
- functions
- variables
- types
- structs and enums
- control flow: if, loops, pattern matching
- exercise: the guessing game
- Ownership
- moves
- mutability
- borrowing
- lifetimes
- exercise: fixing borrow checker compilation errors
- Modules
- importing code
- visibility
- source code organisation
- Traits and generics
- methods
- generic types, functions and methods
- type aliases
- Standard library
- Option
- Result
- collections: Vec, HashMap
- iterators
- exercise: start building a small in memory database
# Day 2
- Tools
- importing crates
- unit tests
- benchmarks
- fuzzing
- documentation
- attributes
- exercise: integrate unit tests, CI and other tools for the database example
- Strings and slices
- String
- &str
- &[u8]
- Iterators
- Closures
- exercise: start implementing queries
- Destructuring
- if let
- API design
- Usual traits
- Clone and Copy
- Debug and Display
- PartialEq, Eq
- Drop
- Static VS dynamic dispatch
- Associated types
- Deref
- Into
- I/O
- exercise: add optional file storage for the database
- Concurrency
- threads
- channels
- Send, Sync
- mutability
- Arc, Mutex
- exercise: multiple clients querying the database while storing regularly
# Day 3
- FFI
- repr(C)
- exporting functions and structures
- unsafe
- Box
- rusty-cheddar and rust-bindgen
- linking
- cargo-vendor
- exercise: making a C interface for our in memory database
- common libraries and interfaces (adaptable depending on what the students want to focus on)
- docs.rs
- Command
- clap
- serde
- log
- tokio
- rocket
- lazy_static
- nom
Nos Clients témoignent (4)
Connaissances du formateur très élevées, participation à la conversation et au transfert de connaissances excellentes. Bon contact avec les participants. Matériel très bien préparé, beaucoup de diapositives, descriptions d'exercices, on pouvait voir beaucoup de préparation pour la formation, malgré mes commentaires, j'estime que la formation est très bonne. Mes commentaires ne sont qu'un ajout qui peut être fait à la formation, qui était d'un très bon niveau. A mon avis, avec des participants de la zone C# et les améliorations apportées, la formation pourrait être à un niveau idéal ;-)
Sławek - Sonova Warsaw Service Center Sp z o o
Formation - Rust Programming
Traduction automatique
J'ai aimé les exemples interactifs sur lesquels nous avons travaillé, le formateur était extrêmement compétent sur presque tous les sujets sur lesquels nous avions des questions, et il a donné d'excellents conseils pour nos cas d'utilisation dans le monde réel en rapport avec certains éléments de la formation.
Tracy - GenesysGo
Formation - Rust Advanced
Traduction automatique
Beaucoup de connaissances pratiques illustrées par des exemples concrets.
Kamil - Streamsoft Kraków
Formation - Java Advanced
Traduction automatique
Les changements sont apportés à la volée, car le troisième jour, je commençais déjà à être plus perdue qu'avant et il était plus difficile de rattraper rapidement une erreur.
Paulina
Formation - Advanced Java Security
Traduction automatique