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

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

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

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

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Rust с нуля до многопоточности: владение, трейты, async»Учеников на курсе 148
Сертификаты, выданные на курсе «Rust с нуля до многопоточности: владение, трейты, async»Сертификатов выдано 4
Отзывы о курсе «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» 10 ч. Последнее обновление курса «Rust с нуля до многопоточности: владение, трейты, async» обн. 1 августа 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