Курс на Stepik
Обложка курса «🦀 Rust: async/await и многопоточность с нуля до production» на Stepik
1 990 ₽

🦀 Rust: async/await и многопоточность с нуля до production ★ 0.000

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

Освойте async/await, многопоточность и параллелизм в Rust: от владения памятью до production-сервисов на Tokio и Axum. 18 модулей, 80 уроков, 220+ заданий с упором на практику. Три проекта: thread pool, async web-crawler и REST API с PostgreSQL.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «🦀 Rust: async/await и многопоточность с нуля до production»Учеников на курсе 9
Сертификаты, выданные на курсе «🦀 Rust: async/await и многопоточность с нуля до production»Сертификатов выдано 0
Отзывы о курсе «🦀 Rust: async/await и многопоточность с нуля до production»Отзывов получено 0
Рейтинг курса «🦀 Rust: async/await и многопоточность с нуля до production»Рейтинг курса 0.000
Уроки в курсе «🦀 Rust: async/await и многопоточность с нуля до production»Количество уроков 76
Тесты в курсе «🦀 Rust: async/await и многопоточность с нуля до production»Количество квизов 35
Задачи с кодом в курсе «🦀 Rust: async/await и многопоточность с нуля до production»Количество задач с кодом 233
Время прохождения курса «🦀 Rust: async/await и многопоточность с нуля до production»Время прохождения курса —
Стоимость курса «🦀 Rust: async/await и многопоточность с нуля до production»Стоимость курса 1 990 ₽ —
Обновления курса «🦀 Rust: async/await и многопоточность с нуля до production»Обновления курса — —
Дата публикации курса «🦀 Rust: async/await и многопоточность с нуля до production»Дата публикации курса — ———
Последнее обновление курса «🦀 Rust: async/await и многопоточность с нуля до production»Последнее обновление — ———
Сложность easy — ———

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

Разделы в курсе «🦀 Rust: async/await и многопоточность с нуля до production» 18 разделов Уроки в курсе «🦀 Rust: async/await и многопоточность с нуля до production» 76 уроков Тесты в курсе «🦀 Rust: async/await и многопоточность с нуля до production» 35 тестов Задачи в курсе «🦀 Rust: async/await и многопоточность с нуля до production» 233 задачи Время прохождения курса «🦀 Rust: async/await и многопоточность с нуля до production» 0 ч. Последнее обновление курса «🦀 Rust: async/await и многопоточность с нуля до production» обн. 29 сентября 2026

🚀 Старт: Rust, Cargo, первый проект

3 урока
1. Что такое Rust и почему он. Установка ↗
2. Cargo: система сборки и пакетный менеджер ↗
3. Hello World: rustc vs cargo ↗

📦 Переменные, типы, функции

5 уроков
1. Переменные и типы данных ↗
2. Функции: параметры и возврат ↗
3. Кортежи, массивы и срезы ↗
4. &str vs String — два вида строк ↗
5. const, shadowing и форматирование ↗

🔄 Управляющие конструкции и коллекции

4 урока
1. if/else, match, if let, while let ↗
2. loop/while/for, break с значением, range 1..=10 ↗
3. Vec, HashMap, BTreeMap, iter(), map(), filter(), collect() ↗
4. Итераторы: map, filter, enumerate, zip, sum, min, max ↗

🏠 Ownership, borrowing, references

5 уроков
1. Ownership: правило одного владельца, move, Clone vs Copy ↗
2. Borrowing: & и &mut, правила заимствования, slices ↗
3. Lifetimes: 'a, 'static, elision rules, lifetime в структурах ↗
4. Стек и куча: как Rust размещает данные, почему String в куче ↗
5. Умные указатели: Box, Rc, Arc — обзор ↗

🧩 Структуры, enum, Option, Result

5 уроков
1. Структуры: struct, impl, методы, ассоциированные функции ↗
2. enum, Option, Result — типы-суммы вместо null ↗
3. Result и ошибки: ?-оператор, кастомные типы ошибок ↗
4. Pattern matching: деструктуризация структур и enum ↗
5. Вложенные структуры и derive-макросы ↗

🎭 Трейты и дженерики

4 урока
1. Трейты: trait, impl Trait for Type, Display, Debug, Clone ↗
2. Дженерики: <T>, trait bounds, where-блоки ↗
3. Associated types и свой итератор ↗
4. Default, derive-трейты и бланкетные реализации ↗

🧵 Потоки: std::thread

4 урока
1. spawn, join, move и scoped-потоки ↗
2. Send и Sync: кто может ездить по потокам ↗
3. Builder, имена потоков, паника в потоке ↗
4. Практикум: много потоков и сбор результатов ↗

🔒 Sync-примитивы: Mutex, RwLock, Arc

5 уроков
1. Mutex: взаимное исключение, guard, poisoning ↗
2. RwLock: много читателей, один писатель ↗
3. Arc внутри: счётчики, Weak, циклы ссылок ↗
4. Внутренняя изменяемость: Cell, RefCell и почему их нет в потоках ↗
5. Атомарные типы: Atomic* и Ordering ↗

📬 Каналы: mpsc, crossbeam

3 урока
1. std::sync::mpsc: channel, send, recv, backpressure ↗
2. crossbeam-channel: bounded/unbounded, select, broadcast ↗
3. Паттерны каналов: fan-out, pipeline, request-response ↗

⚡ Lock-free и атомарные операции

4 урока
1. AtomicUsize/Bool, CAS (compare_exchange), memory ordering ↗
2. Модели памяти: Relaxed, Acquire, Release, SeqCst — когда что ↗
3. Lock-free структуры: queue, stack на атомиках ↗
4. Когда lock-free оправдан, а когда нет. Бенчмарк vs Mutex ↗

🏭 ПРОЕКТ: Thread pool + word-count

4 урока
1. Задача проекта: параллельный word-count и разбиение на чанки ↗
2. Реализация thread pool: очередь через mpsc и Arc<Mutex> ↗
3. Рефакторинг: обработка паник в рабочих потоках ↗
4. Бенчмарк: 1 vs 2 vs 4 vs 8 потоков, Rayon как альтернатива ↗

🌊 Future и async/await

3 урока
1. Что такое Future: poll, Poll, Pin, Waker ↗
2. Ожидание нескольких future: join и select своими руками ↗
3. Асинхронная задача — это не поток: цена и масштаб ↗

⚙️ Tokio: runtime и задачи

4 урока
1. Что такое runtime: tokio::main, current-thread vs multi-thread ↗
2. tokio::spawn, JoinHandle и spawn_blocking ↗
3. Время в async: sleep, interval, timeout и дедлайны ↗
4. Кооперативное планирование и yield_now ↗

🌐 Async I/O: TCP, HTTP

4 урока
1. tokio::net: TcpListener, TcpStream и echo-сервер ↗
2. reqwest: async HTTP-клиент, GET, POST и JSON ↗
3. tokio::fs и границы async I/O ↗
4. Async-трейты: AsyncRead, AsyncWrite, AsyncBufRead ↗

🔗 Async-каналы и синхронизация

4 урока
1. tokio::sync: mpsc, oneshot, broadcast, watch ↗
2. tokio::sync::Mutex против std::sync::Mutex ↗
3. Semaphore, Notify, Barrier и rate limiting ↗
4. ПРОЕКТ: async web-crawler ↗

🌍 Веб-сервисы на Axum

3 урока
1. Axum: router, handlers, extractors (Path, Query, Json, State) ↗
2. Middleware, layers и обработка ошибок: IntoResponse ↗
3. JSON-ответы: serde, Serialize и Deserialize ↗

🗄️ Базы данных: SQLx + PostgreSQL

4 урока
1. SQLx: пул соединений, query!, проверка SQL на компиляции ↗
2. Миграции, транзакции и пул в Axum State ↗
3. CRUD: репозиторий, маппинг в структуры, корректные ошибки ↗
4. Структура проекта: модули, handlers, db, models ↗

🎓 ФИНАЛЬНЫЙ ПРОЕКТ: REST API

8 уроков
1. Проект: REST API для управления задачами (Todo) ↗
2. Аутентификация: токены, middleware, guard ↗
3. Трассировка, structured logging, graceful shutdown, healthcheck ↗
4. Тесты: юнит-тесты и интеграционные прогоны ↗
5. Docker: Dockerfile, docker-compose (app + postgres) ↗
6. Запуск. Итоги курса. Что учить дальше ↗
7. Бонус: Rust 2024 edition, const generics, GATs ↗
8. Бонус: async трейты, async fn в traits ↗