Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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)
SegmentDuration
Witamy5 minutes
Witaj świecie!20 minutes
Types and Values1 hour and 5 minutes
Kontrola przepływu1 hour
  • Day 1 Afternoon (2 hours and 55 minutes, including breaks)
SegmentDuration
Tuples and Arrays1 hour
Referencje50 minutes
User-Defined Types50 minutes
  • Day 2 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Witamy3 minutes
Dopasowywanie wzorców50 minutes
Read i Write55 minutes
Generyki45 minutes
  • Day 2 Afternoon (3 hours, including breaks)
SegmentDuration
Biblioteka standardowa1 hour and 10 minutes
Biblioteka standardowa1 hour and 40 minutes
  • Day 3 Morning (2 hours and 15 minutes, including breaks)
SegmentDuration
Witamy3 minutes
Zarządzanie pamięcią1 hour and 10 minutes
Smart Pointers45 minutes
  • Day 3 Afternoon (2 hours and 20 minutes, including breaks)
SegmentDuration
Pożyczanie1 hour
Czas życia1 hour and 10 minutes
  • Day 4 Morning (3 hours and 5 minutes, including breaks)
SegmentDuration
Witamy3 minutes
Iteratory45 minutes
Moduły40 minutes
Testowanie1 hour and 5 minutes
  • Day 4 Afternoon (2 hours, including breaks)
SegmentDuration
Obsługa błędów45 minutes
Niebezpieczny Rust1 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!