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

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

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

Основы Rust

Первые четыре дня составляют Основы Rust. Темп занятий высокий, и мы охватываем широкий круг тем!

Расписание курса:

  • День 1, утро (2 часа 10 минут, включая перерывы)
СегментДлительность
Добро пожаловать5 минут
Привет, мир!15 минут
Типы и значения40 минут
Управляющие конструкции45 минут
  • День 1, после обеда (2 часа 45 минут, включая перерывы)
СегментДлительность
Кортежи и массивы35 минут
Ссылки55 минут
Определяемые пользователем типы1 час
  • День 2, утро (2 часа 50 минут, включая перерывы)
СегментДлительность
Добро пожаловать3 минуты
Шаблоны и сопоставление50 минут
Методы и трейты45 минут
Обобщения50 минут
  • День 2, после обеда (2 часа 50 минут, включая перерывы)
СегментДлительность
Замыкания30 минут
Стандартная библиотека: Типы1 час
Стандартная библиотека: Трейты1 час
  • День 3, утро (2 часа 20 минут, включая перерывы)
СегментДлительность
Добро пожаловать3 минуты
Управление памятью1 час
Умные указатели55 минут
  • День 3, после обеда (2 часа 30 минут, включая перерывы)
СегментДлительность
Заимствование1 час 15 минут
Время жизни ссылок1 час 5 минут
  • День 4, утро (2 часа 50 минут, включая перерывы)
СегментДлительность
Добро пожаловать3 минуты
Итераторы55 минут
Модули45 минут
Тестирование45 минут
  • День 4, после обеда (2 часа 20 минут, включая перерывы)
СегментДлительность
Обработка ошибок55 минут
Небезопасный код в Rust1 час 15 минут

Глубокое погружение

В дополнение к четырёхдневному курсу по основам Rust мы рассмотрим ещё несколько специализированных тем:

Rust в Android

Углублённый курс Rust в Android занимает полдня и посвящён использованию Rust для разработки на платформе Android. Включает взаимодействие с C, C++ и Java.

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

Убедитесь, что adb sync работает с вашим эмулятором или реальным устройством, и предварительно соберите все примеры Android, используя src/android/build_all.sh. Прочтите скрипт, чтобы увидеть команды, которые он запускает, и убедитесь, что они работают, когда вы запускаете их вручную.

Rust в Chromium

Углублённый курс Rust в Chromium занимает полдня и посвящён использованию Rust как части браузера Chromium. Он включает использование Rust в системе сборки gn Chromium, подключение сторонних библиотек («крейтов») и взаимодействие с C++.

Нужно уметь собрать Chromium: для скорости рекомендуется отладочная сборка в компонентном режиме (component build), но подойдёт любая сборка. Убедитесь, что вы можете запустить собранный браузер Chromium.

Bare-Metal Rust

Углублённый курс Bare-Metal Rust занимает целый день и посвящён использованию Rust для разработки bare-metal (встраиваемых систем). Рассматриваются как микроконтроллеры, так и прикладные процессоры.

Что касается части микроконтроллеров, то вам нужно будет заранее приобрести плату разработки 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 часа 30 минут, включая перерывы)
СегментДлительность
Основы асинхронности40 минут
Каналы и поток управления20 минут
Подводные камни55 минут
Упражнения1 час 10 минут

Идиоматичный Rust

Углублённый курс Идиоматичный Rust — двухдневное занятие, посвящённое идиомам и паттернам Rust.

Перед началом этого курса вы должны освоить материал Основ Rust.

Расписание курса:

  • Утро (14 часов 10 минут, включая перерывы)
СегментДлительность
Основы проектирования API3 часа 15 минут
Использование системы типов7 часов 30 минут
Полиморфизм3 часа 5 минут

Unsafe (в работе)

Углублённый курс Unsafe — двухдневное занятие о небезопасном языке Rust. Он охватывает основы гарантий безопасности Rust, мотивацию для unsafe, процесс ревью небезопасного кода, основы FFI и построение структур данных, которые анализатор заимствований обычно отклоняет.

not found - {{%course outline Unsafe}}

Формат

Курс задуман очень интерактивным, и мы рекомендуем позволять вопросам направлять изучение Rust!