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

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

Основи Rust

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

Course schedule:

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

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

На додаток до 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

Course schedule:

  • Morning (3 hours and 20 minutes, including breaks)
SegmentDuration
Потоки30 minutes
Канали20 minutes
Send та Sync15 minutes
Спільний стан30 minutes
Вправи1 hour and 10 minutes
  • Afternoon (3 hours and 20 minutes, including breaks)
SegmentDuration
Основи асинхронізації30 minutes
Канали та потік управління20 minutes
Підводні камені55 minutes
Вправи1 hour and 10 minutes

Формат

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