Чему вы научитесь
- проектировать владение, заимствование и времена жизни без лишних копирований
- строить выразительные цепочки замыканий и итераторов и создавать собственные итераторы
- применять продвинутые трейты, дженерики, trait objects и умные указатели
- создавать собственные ошибки и выбирать thiserror, anyhow либо типизированный Result
- писать unit, integration, doc и property-based тесты и измерять производительность
- строить CLI, сериализовать данные, работать с потоками, каналами и async/Tokio
О курсе
Rust для middle: lifetimes, замыкания, итераторы, трейты, smart pointers, ошибки, тесты, serde, clap, потоки, async/Tokio и итоговый CLI-проект.
Для кого этот курс
Rust-разработчики уровня junior, готовые перейти от учебных примеров к приложениям; backend- и системные разработчики, которым нужны lifetimes, traits и async Rust; разработчики C++, Go или Java с базовым знанием синтаксиса и владения Rust; инженеры, готовящиеся к middle-собеседованиям и командной разработке на Rust.
Начальные требования
уверенная junior-база Rust: владение, заимствование, структуры, enum, Option, Result и коллекции стабильный Rust toolchain, Cargo, терминал, Git и привычка запускать тесты понимание потоков, HTTP и сериализации полезно, но ключевые связки разбираются в курсе
Преподаватели курса
Как проходит обучение
Каждый урок проходится по циклу: понять идею, запустить и изменить пример, ответить на тест, самостоятельно решить практику и только затем свериться с разбором.
Материал выстроен последовательно, без обязательных дедлайнов. Рекомендуется вести учебный репозиторий и журнал ошибок.
Формат курса
Самостоятельный текстовый курс: подробная теория, запускаемые примеры, тесты для самопроверки, практические задачи с решениями и итоговый проект.
Что вы получите
- полный текстовый конспект курса с рабочими примерами
- 808 тестовых вопросов для самопроверки
- 511 практических задач с решениями
- итоговый проект: CLI-менеджер задач с clap и serde: типизированная модель и ошибки, JSON-хранилище, добавление, просмотр, редактирование, удаление и фильтрация, unit и integration tests, рефакторинг и финальная полировка интерфейса.
Нагрузка
120-190 часов