Курс на Stepik
Обложка курса «🦀 Rust: async/await и многопоточность с нуля до production» на Stepik
5 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»Учеников на курсе 3
Сертификаты, выданные на курсе «🦀 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»Стоимость курса 5 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» обн. 19 августа 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