Структура курсу

Ця сторінка призначена для викладача курсу.

Основи Rust

Перші чотири дні складають Основи Rust. Дні протікають швидко, і ми багато робимо!

Структура курсу

  • День 1 Ранок (2 години 5 хвилин, включаючи перерви)
СегментТривалість
Ласкаво просимо5 хвилин
Hello World!15 хвилин
Типи та значення40 хвилин
Основи потоку керування40 хвилин
  • День 1 Полудень (2 години 35 хвилин, включаючи перерви)
СегментТривалість
Кортежі та масиви35 хвилин
Посилання55 хвилин
Типи, які визначаються користувачем50 хвилин
  • День 2 Ранок (2 години та 10 хвилин, включаючи перерви)
СегментТривалість
Ласкаво просимо3 хвилини
Зіставлення зразків1 година
Методи та Трейти50 хвилин
  • День 2 Полудень (3 години та 15 хвилин, включаючи перерви)
СегментТривалість
Узагальнені типи45 хвилин
Типи стандартної бібліотеки1 година
Трейти стандартної бібліотеки1 година та 10 хвилин
  • День 3 Ранок (2 години та 20 хвилин, включаючи перерви)
СегментТривалість
Ласкаво просимо3 хвилини
Управління пам'яттю1 година
Розумні вказівники55 хвилин
  • День 3 Полудень (1 година 55 хвилин, включаючи перерви)
СегментТривалість
Запозичення55 хвилин
Тривалість життя50 хвилин
  • День 4 Ранок (2 години та 40 хвилин, включаючи перерви)
СегментТривалість
Ласкаво просимо3 хвилини
Ітератори45 хвилин
Модулі40 хвилин
Тестування45 хвилин
  • День 4 Полудень (2 години та 20 хвилин, включаючи перерви)
СегментТривалість
Обробка помилок1 година та 5 хвилин
Небезпечний Rust1 година та 5 хвилин

Глибоке занурення

На додаток до 4-денного курсу з основ Rust, ми розглянемо ще кілька спеціалізованих тем:

Rust в Android

Rust в Android --- це напівденний курс з використання Rust для розробки на Android платформі. Сюди входить взаємодія з C, C++ та Java.

Вам знадобиться AOSP. Завантажте репозиторій курсу на той же комп'ютер, що і курс та перемістіть каталог src/android/ в кореневий каталог вашого AOSP. Це гарантує, що система збирання Android побачить файли Android.bp в src/android/.

Переконайтеся, що adb sync працює з вашим емулятором або реальним пристроєм, та попередньо зберіть усі приклади Android, використовуючи src/android/build_all.sh. Прочитайте скрипт, щоб побачити команди, які він запускає, і переконайтеся, що вони працюють, коли ви запускаєте їх вручну.

Rust в Chromium

Глибоке занурення Rust in Chromium — це південний курс із використання Rust як частини браузера Chromium. Він включає використання Rust у системі збирання gn Chromium, залучення сторонніх бібліотек ("крейтів") і взаємодію з C++.

Вам потрібно буде мати можливість зібрати Chromium --- налагодженна, компонентна побудова рекомендується для швидкості, але будь-яка збірка буде працювати. Переконайтеся, що ви можете запустити веб-переглядач Chromium, який ви побудували.

Rust на голому залізі

Rust на голому залізі: заняття на повний день з використання Rust для низькорівневої (embedded) розробки. Розглядаються як мікроконтролери, так і прикладні процесори.

Щодо частини мікроконтролерів, то вам потрібно буде заздалегідь придбати плату розробки BBC micro:bit v2. Усім потрібно встановити кілька пакетів, як описано на сторінці привітання.

Конкурентність в Rust

Конкурентність в Rust це цілий день занять з класичної, а також async/await конкурентності.

Вам знадобиться налаштований новий крейт, а також завантажені залежності готові до роботи. Потім ви сможете скопіювати приклади в src/main.rs, щоб поекспериментувати з ними:

cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run

Структура курсу

  • Ранок (3 години та 20 хвилин, включаючи перерви)
СегментТривалість
Потоки30 хвилин
Канали20 хвилин
Send та Sync15 хвилин
Спільний стан30 хвилин
Вправи1 година та 10 хвилин
  • Полудень (3 години та 20 хвилин, включаючи перерви)
СегментТривалість
Основи асинхронізації30 хвилин
Канали та потік управління20 хвилин
Підводні камені55 хвилин
Вправи1 година та 10 хвилин

Формат

Курс задуманий дуже інтерактивним, і ми рекомендуємо, щоб питання сприяли вивченню Rust!