Курс на Stepik
Обложка курса «Rust с нуля до многопоточности: владение, трейты, async» на Stepik
900 ₽

Rust с нуля до многопоточности: владение, трейты, async ★ 5.000

Открыть на
STEPIK.ORG

Полный курс по Rust для тех, кто хочет изучить этот мощный язык. Разберем владение и заимствование — то, на чем спотыкается большинство новичков, — и дойдем до трейтов, обобщений, обработки ошибок, многопоточности и async, а множество заданий поможет закрепить все знания на практике.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Rust с нуля до многопоточности: владение, трейты, async»Учеников на курсе 155
Сертификаты, выданные на курсе «Rust с нуля до многопоточности: владение, трейты, async»Сертификатов выдано 10
Отзывы о курсе «Rust с нуля до многопоточности: владение, трейты, async»Отзывов получено 1
Рейтинг курса «Rust с нуля до многопоточности: владение, трейты, async»Рейтинг курса 5.000
Уроки в курсе «Rust с нуля до многопоточности: владение, трейты, async»Количество уроков 114
Тесты в курсе «Rust с нуля до многопоточности: владение, трейты, async»Количество квизов 207
Задачи с кодом в курсе «Rust с нуля до многопоточности: владение, трейты, async»Количество задач с кодом 214
Время прохождения курса «Rust с нуля до многопоточности: владение, трейты, async»Время прохождения курса —
Стоимость курса «Rust с нуля до многопоточности: владение, трейты, async»Стоимость курса 900 ₽ —
Обновления курса «Rust с нуля до многопоточности: владение, трейты, async»Обновления курса — —
Дата публикации курса «Rust с нуля до многопоточности: владение, трейты, async»Дата публикации курса — ———
Последнее обновление курса «Rust с нуля до многопоточности: владение, трейты, async»Последнее обновление — ———
Сложность easy — ———

Содержание курса

Разделы в курсе «Rust с нуля до многопоточности: владение, трейты, async» 27 разделов Уроки в курсе «Rust с нуля до многопоточности: владение, трейты, async» 114 уроков Тесты в курсе «Rust с нуля до многопоточности: владение, трейты, async» 207 тестов Задачи в курсе «Rust с нуля до многопоточности: владение, трейты, async» 214 задач Время прохождения курса «Rust с нуля до многопоточности: владение, трейты, async» 23 ч. Последнее обновление курса «Rust с нуля до многопоточности: владение, трейты, async» обн. 27 августа 2026

Введение

1 урок
1. О курсе ↗

Начало работы

5 уроков
1. Начало работы ↗
2. Установка ↗
3. Привет, мир! ↗
4. Привет, Cargo! ↗
5. Настройка сборки с помощью профилей выпуска ↗

Программируем игру «Угадай число»

5 уроков
1. Настройка проекта Cargo ↗
2. Получение пользовательского ввода ↗
3. Генерация секретного числа ↗
4. Сравнение догадки с числом ↗
5. Несколько попыток: цикл ↗

Общие концепции программирования

5 уроков
1. Общие концепции программирования ↗
2. Переменные и изменяемость ↗
3. Типы данных ↗
4. Функции ↗
5. Поток управления ↗

Владение (ownership)

4 урока
1. Знакомство с владением ↗
2. Что такое владение? ↗
3. Ссылки и заимствование ↗
4. Срезы (slices) ↗

Структуры

4 урока
1. Структуры для организации связанных данных ↗
2. Определение и создание структур ↗
3. Пример программы со структурами ↗
4. Синтаксис методов ↗

Перечисления и сопоставление с образцом

4 урока
1. Перечисления и сопоставление с образцом ↗
2. Определение перечисления ↗
3. Конструкция управления потоком match ↗
4. Краткое управление потоком с if let и let...else ↗

Пакеты, крейты и модули

6 уроков
1. Пакеты, крейты и модули ↗
2. Пакеты и крейты ↗
3. Определение модулей: область видимости и приватность ↗
4. Пути для обращения к элементу в дереве модулей ↗
5. Подключение путей в область видимости с помощью use ↗
6. Разделение модулей по разным файлам ↗

Стандартные коллекции

4 урока
1. Стандартные коллекции ↗
2. Хранение списков значений в векторах ↗
3. Хранение текста в кодировке UTF-8 в строках ↗
4. Хранение ключей со связанными значениями в хеш-таблицах ↗

Обработка ошибок

4 урока
1. Обработка ошибок ↗
2. Невосстановимые ошибки и макрос panic! ↗
3. Восстановимые ошибки и тип Result ↗
4. Паниковать или не паниковать? ↗

Обобщения, трейты и время жизни

4 урока
1. Обобщенные типы, трейты и время жизни ↗
2. Обобщенные типы данных ↗
3. Трейты: определение общего поведения ↗
4. Проверка ссылок с помощью времен жизни ↗

Автоматические тесты

4 урока
1. Автоматические тесты ↗
2. Как писать тесты ↗
3. Управление запуском тестов ↗
4. Организация тестов ↗

Проект ввода-вывода: программа командной строки

7 уроков
1. Проект ввода-вывода: программа командной строки ↗
2. Принимаем аргументы командной строки ↗
3. Чтение файла ↗
4. Рефакторинг для улучшения модульности и обработки ошибок ↗
5. Добавляем функциональность через разработку через тесты (TDD) ↗
6. Работаем с переменными окружения ↗
7. Перенаправление ошибок в стандартный поток ошибок ↗

Функциональные возможности: итераторы и замыкания

5 уроков
1. Функциональные возможности: итераторы и замыкания ↗
2. Замыкания: анонимные функции, захватывающие окружение ↗
3. Обработка последовательности элементов с помощью итераторов ↗
4. Совершенствуем проект ввода-вывода с помощью итераторов ↗
5. Сравнение производительности: циклы и итераторы. Итоги раздела ↗

Умные указатели

6 уроков
1. Умные указатели ↗
2. Использование Box для размещения данных в куче ↗
3. Трейт Deref: умные указатели как обычные ссылки ↗
4. Трейт Drop: запуск кода при очистке ↗
5. Rc: умный указатель с подсчетом ссылок ↗
6. RefCell и паттерн внутренней изменяемости ↗

Трейт-объекты

1 урок
1. Трейт-объекты: абстракция над общим поведением ↗

Бесстрашная многопоточность

5 уроков
1. Бесстрашная многопоточность ↗
2. Запуск кода одновременно с помощью потоков ↗
3. Передача данных между потоками с помощью сообщений ↗
4. Многопоточность с разделяемым состоянием ↗
5. Расширяемая многопоточность с трейтами Send и Sync ↗

Асинхронность: async, await, futures и streams

6 уроков
1. Основы асинхронного программирования ↗
2. Futures и синтаксис async ↗
3. Применяем конкурентность с async ↗
4. Работа с произвольным числом futures ↗
5. Потоки (streams): futures по очереди ↗
6. Futures, задачи и потоки: собираем все вместе ↗

Финальный проект: многопоточный веб-сервер

4 урока
1. Финальный проект: многопоточный веб-сервер ↗
2. Создание однопоточного веб-сервера ↗
3. От однопоточного сервера к многопоточному ↗
4. Корректное завершение и очистка ↗

Бонус: Cargo глубже

5 уроков
1. Cargo и Crates.io подробнее ↗
2. Публикация крейта на Crates.io ↗
3. Рабочие пространства Cargo ↗
4. Установка бинарных файлов с помощью cargo install ↗
5. Расширение Cargo пользовательскими командами ↗

Бонус: Rc, RefCell и циклы ссылок

1 урок
1. Циклы ссылок могут приводить к утечке памяти ↗

Бонус: Async под капотом

1 урок
1. Подробнее о трейтах для async ↗

Бонус: ООП в Rust

3 урока
1. Возможности объектно-ориентированного программирования ↗
2. Характеристики объектно-ориентированных языков ↗
3. Реализуем объектно-ориентированный паттерн проектирования ↗

Бонус: Паттерны глубже

4 урока
1. Паттерны и сопоставление с образцом ↗
2. Где можно использовать паттерны ↗
3. Опровержимость: может ли паттерн не совпасть ↗
4. Синтаксис паттернов ↗

Бонус: Продвинутый Rust

6 уроков
1. Продвинутые возможности ↗
2. Небезопасный Rust ↗
3. Продвинутые трейты ↗
4. Продвинутые типы ↗
5. Продвинутые функции и замыкания ↗
6. Макросы ↗

Справочник и дополнительные материалы

6 уроков
1. Ключевые слова ↗
2. Операторы и символы ↗
3. Выводимые трейты ↗
4. Полезные инструменты разработки ↗
5. Редакции Rust ↗
6. Как создается Rust и Nightly Rust ↗

Дополнительная практика

3 урока
1. Easy ↗
2. Medium ↗
3. Hard ↗