Структура курса
Эта страница предназначена для преподавателя курса.
Основы 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 минут |
| Небезопасный код в Rust | 1 час 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 и Sync | 15 минут |
| Разделяемое состояние | 30 минут |
| Упражнения | 1 час 10 минут |
- После обеда (3 часа 30 минут, включая перерывы)
| Сегмент | Длительность |
|---|---|
| Основы асинхронности | 40 минут |
| Каналы и поток управления | 20 минут |
| Подводные камни | 55 минут |
| Упражнения | 1 час 10 минут |
Идиоматичный Rust
Углублённый курс Идиоматичный Rust — двухдневное занятие, посвящённое идиомам и паттернам Rust.
Перед началом этого курса вы должны освоить материал Основ Rust.
Расписание курса:
- Утро (14 часов 10 минут, включая перерывы)
| Сегмент | Длительность |
|---|---|
| Основы проектирования API | 3 часа 15 минут |
| Использование системы типов | 7 часов 30 минут |
| Полиморфизм | 3 часа 5 минут |
Unsafe (в работе)
Углублённый курс Unsafe — двухдневное занятие о небезопасном языке Rust. Он охватывает основы гарантий безопасности Rust, мотивацию для unsafe, процесс ревью небезопасного кода, основы FFI и построение структур данных, которые анализатор заимствований обычно отклоняет.
not found - {{%course outline Unsafe}}
Формат
Курс задуман очень интерактивным, и мы рекомендуем позволять вопросам направлять изучение Rust!