Struktura kursu
Ta strona jest dla prowadzącego kurs.
Rust Fundamentals
The first four days make up Rust Fundamentals. The days are fast paced and we cover a lot of ground!
Course schedule:
- Day 1 Morning (3 hours, including breaks)
| Segment | Duration |
|---|---|
| Witamy | 5 minutes |
| Witaj świecie! | 20 minutes |
| Types and Values | 1 hour and 5 minutes |
| Kontrola przepływu | 1 hour |
- Day 1 Afternoon (2 hours and 55 minutes, including breaks)
| Segment | Duration |
|---|---|
| Tuples and Arrays | 1 hour |
| Referencje | 50 minutes |
| User-Defined Types | 50 minutes |
- Day 2 Morning (3 hours and 5 minutes, including breaks)
| Segment | Duration |
|---|---|
| Witamy | 3 minutes |
| Dopasowywanie wzorców | 50 minutes |
| Read i Write | 55 minutes |
| Generyki | 45 minutes |
- Day 2 Afternoon (3 hours, including breaks)
| Segment | Duration |
|---|---|
| Biblioteka standardowa | 1 hour and 10 minutes |
| Biblioteka standardowa | 1 hour and 40 minutes |
- Day 3 Morning (2 hours and 15 minutes, including breaks)
| Segment | Duration |
|---|---|
| Witamy | 3 minutes |
| Zarządzanie pamięcią | 1 hour and 10 minutes |
| Smart Pointers | 45 minutes |
- Day 3 Afternoon (2 hours and 20 minutes, including breaks)
| Segment | Duration |
|---|---|
| Pożyczanie | 1 hour |
| Czas życia | 1 hour and 10 minutes |
- Day 4 Morning (3 hours and 5 minutes, including breaks)
| Segment | Duration |
|---|---|
| Witamy | 3 minutes |
| Iteratory | 45 minutes |
| Moduły | 40 minutes |
| Testowanie | 1 hour and 5 minutes |
- Day 4 Afternoon (2 hours, including breaks)
| Segment | Duration |
|---|---|
| Obsługa błędów | 45 minutes |
| Niebezpieczny Rust | 1 hour and 5 minutes |
Deep Dives
In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:
Rust in Android
The Rust in Android deep dive is a half-day course on using Rust for Android platform development. This includes interoperability with C, C++, and Java.
You will need an AOSP checkout. Make a checkout of the course repository on the same machine and move the src/android/ directory into the root of your AOSP checkout. This will ensure that the Android build system sees the Android.bp files in src/android/.
Upewnij się, że adb sync działa z twoim emulatorem lub prawdziwym urządzeniem i prekompiluj wszystkie przykłady Androida używając src/android/build_all.sh. Przeczytaj skrypt, żeby zobaczyć polecenia, które uruchamia, i upewnij się, że działają, gdy uruchamiasz je ręcznie.
Rust in Chromium
The Rust in Chromium deep dive is a half-day course on using Rust as part of the Chromium browser. It includes using Rust in Chromium’s gn build system, bringing in third-party libraries (“crates”) and C++ interoperability.
You will need to be able to build Chromium — a debug, component build is recommended for speed but any build will work. Ensure that you can run the Chromium browser that you’ve built.
Bare-Metal Rust
The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.
For the microcontroller part, you will need to buy the BBC micro:bit v2 development board ahead of time. Everybody will need to install a number of packages as described on the welcome page.
Concurrency in Rust
The Concurrency in Rust deep dive is a full day class on classical as well as async/await concurrency.
You will need a fresh crate set up and the dependencies downloaded and ready to go. You can then copy/paste the examples into src/main.rs to experiment with them:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
Format
Kurs ma być bardzo interaktywny i zalecamy pozwalanie żeby pytania napędzały eksplorację Rusta!