Course Outline
# 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
Getuigenissen (5)
Ik vond de interactieve voorbeelden waaraan we werkten leuk, de trainer was uiterst deskundig in bijna elk onderwerp waar we vragen over hadden, en gaf uitstekend advies voor onze praktijkvoorbeelden met betrekking tot een deel van het materiaal in de training.
Tracy - GenesysGo
Cursus - Rust Advanced
Machine Translated
De kennis van de trainer is zeer hoog, de betrokkenheid bij het gesprek en de overdracht van kennis is enorm. Goed contact met de deelnemers. Zeer goed voorbereid materiaal, veel dia's, beschrijvingen van oefeningen, je kon veel voorbereiding op de training zien, ondanks mijn opmerkingen beoordeel ik de training nog steeds erg goed. Mijn opmerkingen zijn slechts een aanvulling die kan worden gegeven op de training, die op een zeer goed niveau was. Naar mijn mening kan de training met de deelnemers uit de omgeving C# en de aangebrachte correcties op het ideale niveau zijn ;-)
Sławek - Sonova Warsaw Service Center Sp z o o
Cursus - Rust Programming
Machine Translated
The teacher addressed many relevant topics for clean coding with practical examples.
Ben van Oeveren - Movella
Cursus - Clean Code
Een grote hoeveelheid praktische kennis getoond in praktijkvoorbeelden.
Kamil - Streamsoft Kraków
Cursus - Java Advanced
Machine Translated
Regelmatig wijzigingen pushen, want op dag 3 begon ik meer te verdwalen dan voorheen en was het moeilijker om een fout snel op te sporen, ik kon snel uitchecken voor de laatste wijziging en op de hoogte zijn van het materiaal
Paulina
Cursus - Advanced Java Security
Machine Translated