Чему вы научитесь
- Читать и писать код на Rust, понимая модель владения и заимствования
- Описывать данные через структуры и перечисления, работать с сопоставлением образцов
- Обрабатывать ошибки через Option, Result и оператор вопроса
- Применять коллекции, обобщения и трейты для гибкого кода
- Разбивать проект на модули и крейты, подключать зависимости через Cargo
- Писать юнит-тесты, интеграционные тесты и doc-тесты
О курсе
Этот курс помогает освоить Rust с нуля и дойти до уровня, на котором можно уверенно писать надёжный системный и сетевой код. Мы не пересказываем документацию, а разбираем, как язык устроен изнутри и почему он заставляет думать о памяти и времени жизни данных ещё на этапе компиляции.
Программа построена от простого к сложному. Сначала идёт базовый синтаксис и владение, затем структуры и перечисления, обработка ошибок, коллекции, обобщения и трейты. Дальше вы научитесь делить проект на модули и крейты и покрывать код тестами, чтобы подготовиться к сетевой разработке.
Каждый урок заканчивается несколькими тестами и задачей на программирование с автоматической проверкой. Так теория сразу закрепляется на практике, а не остаётся набором правил.
Для кого этот курс
Начальные требования
Достаточно базового опыта программирования на любом языке: понимание переменных, условий, циклов и функций. Знать Rust заранее не нужно. Понадобится компьютер с установленными Rust и Cargo или готовность решать задачи в онлайн-редакторе.
Наши преподаватели
Как проходит обучение
Обучение идёт в своём темпе. Каждый урок начинается с короткой теории на понятном русском языке с примерами кода, а затем идёт практика. Сначала несколько тестов на понимание ключевых идей, потом задача на программирование, где нужно написать рабочий код на Rust. Решения проверяются автоматически на наборе тестовых данных, поэтому вы сразу видите, работает ли ваш код. Темы идут последовательно и без повторов, так что каждый шаг опирается на предыдущий.
Программа курса
Что вы получаете
- Понимание владения и заимствования, которое отличает Rust от других языков
- Навык писать безопасный по памяти код без сборщика мусора
- Опыт решения десятков задач на программирование с автоматической проверкой
- Умение организовать проект из модулей и крейтов и покрывать его тестами
- Фундамент для дальнейшего изучения асинхронного и сетевого Rust