Курс Розробка на Rust
- Online
- Для досвідчених
- Rust, Backend
![]() |
|
| Навчальний центр: | Robot Dreams |
|---|---|
| Формат: | Курс |
| Мова викладання: | Ukrainian |
| Тривалість навчання: | 24 занять |
| Початок курсу: | 17.11.2026 |
| Вартість навчання: | Уточнюйте |
За 24 заняття опануєте ключові концепції Rust: ownership, lifetimes, traits, generics, concurrency та async. Розберетесь, як вони впливають на пам’ять, продуктивність і архітектуру систем. Закріпите знання на наскрізному Job Queue API: з Axum, Tokio, PostgreSQL, Redis, retries, тестуванням, tracing та profiling. У результаті матимете готовий backend-сервіс і розуміння того, коли та для яких задач Rust архітектурно виправданий.
Програма курсу
Що дає Rust і як запустити перший проєкт
- Розберетесь, які задачі розв’язує Rust і де його доречно застосовувати
- Налаштуєте середовище через rustup, Cargo та rust-analyzer
- Зрозумієте відмінність між Rust і Go, Java, Python і C++ у контексті memory safety та performance
- Створите репозиторій курсового проєкту й налаштуєте базові перевірки в GitHub Actions
Типи даних, колекції та базовий синтаксис
- Навчитеся працювати з базовими типами, String, &str та UTF-8
- Розберете Vec, HashMap, HashSet і BTreeMap
- Попрактикуєте цикли, умови та expression-oriented підхід Rust
- Застосуєте базові конструкції для імпорту й обробки jobs
Ownership, borrowing та move semantics
- Розберетесь, як Rust керує пам’яттю без garbage collector
- Навчитеся працювати з move, copy, clone та borrowing
- Зрозумієте правила mutable та immutable references
- Навчитеся читати типові помилки borrow checker
Lifetimes та API без зайвого копіювання
- Розберетесь, навіщо Rust потрібні lifetimes
- Навчитеся працювати з lifetime elision і 'static
- Зрозумієте, коли зберігати references, а коли володіти даними
- Спроєктуєте API, яке безпечно повертає borrowed data
Struct, enum і доменна модель
- Навчитеся моделювати дані через struct та enum
- Попрактикуєте match, if let і деструктуризацію
- Розберете Option і Result як альтернативу null та exception-driven flow
- Змоделюєте життєвий цикл задач у Job Queue API
Помилки, модулі та структура проєкту
- Розберете різницю між panic! та recoverable errors
- Навчитеся створювати власні error types через thiserror
- Розділите код на domain, application та infrastructure
- Приберете unwrap з основної логіки проєкту
Generics, traits і тестовані абстракції
- Навчитеся використовувати generics і traits як контракти поведінки
- Розберете static та dynamic dispatch
- Зрозумієте, коли абстракції спрощують код, а коли ускладнюють
- Побудуєте application services, які можна тестувати без бази даних
Smart pointers i shared state
- Розберете Box, Rc, Arc, RefCell, Mutex і RwLock
- Навчитесь організовувати shared ownership між потоками
- Зрозумієте ризики deadlocks і циклічних посилань
- Побудуєте thread-safe in-memory repository для jobs
Інтегратори, serde і конфігурація
- Навчитеся працювати з closures та iterator pipeline
- Розберете map, filter, fold, collect і partition
- Налаштуєте серіалізацію через serde
- Додасте конфігурацію workers, retries і concurrency limit через env vars
Багатопотоковість і worker pool
- Навчитеся запускати й синхронізувати декілька потоків
- Розберете Send, Sync, channels та shared state
- Зрозумієте, як виникають deadlocks та як їх уникати
- Побудуєте worker pool для CPU-bound задач
Async/await i futures
- Розберетесь, чим async відрізняється від багатопотоковості
- Зрозумієте, як працюють Future, async fn та .await
- Навчитеся працювати з timeout і cancellation
- Переведете частину Job Queue на асинхронне виконання
Tokio: tasks, timers та async i/o
- Розберете архітектуру Tokio runtime
- Навчитеся працювати з tasks, channels і timers
- Реалізуєте timeout, retries та обмеження паралельності
- Додасте graceful shutdown для dispatcher
Воркшоп: асинхронний CLI-інструмент
- Спроєктуєте production-like CLI поверх логіки курсового проєкту
- Попрацюєте з clap та аргументами командного рядка
- Налаштуєте concurrency через semaphores
- Створите jobctl із командами enqueue, list і run-simulation
Декларативні макроси
- Розберете macro_rules! та принципи роботи макросів у Rust
- Навчитеся працювати з matcher, fragments і repetition
- Подивитесь, як аналізувати згенерований код через cargo expand
- Створите macro для генерації повторюваних тестів
Процедурні макроси
- Розберете derive, attribute та function-like macros
- Попрацюєте з TokenStream, syn і quote
- Навчитеся створювати custom derive
- Додасте тести для коректних і compile-fail сценаріїв
AXUM: перший HTTP API
- Розберете Router, routes, handlers та extractors
- Піднімете HTTP-сервер на Axum
- Навчитеся розділяти web layer та business logic
- Створите endpoints для health check, створення та отримання job
DTO, валідація та HTTP-помилки
- Навчитеся працювати з Json, Path, Query та State
- Розділите API DTO та domain model
- Додасте валідацію вхідних даних
- Налаштуєте стабільний формат HTTP-помилок
State, middleware та архітектура Backend-сервісу
- Побудуєте shared application state в Axum
- Додасте middleware через Tower
- Налаштуєте request ID, timeout, auth і rate limiting
- Розділите застосунок на handler, service та repository
PostgreSQL, SQLX і транзакції
- Підключите PostgreSQL через sqlx
- Налаштуєте connection pool та міграції
- Попрацюєте з індексами, constraints і транзакціями
- Реалізуєте PostgreSQL repository для курсового сервісу
Побудова CRUD API та наскізний Backend use case
- Реалізуєте lifecycle API для jobs
- Додасте pagination, filtering і sorting
- Попрацюєте з idempotency та конкурентними оновленнями
- Зафіксуєте API-контракт через OpenAPI або README
Тестування, logging та observability
- Напишете unit, repository та HTTP-тести
- Додасте structured logging і tracing
- Проведете request ID через різні шари застосунку
- Почнете відстежувати latency, кількість запитів і помилок
Profiling, load testing та оптимізація
- Розберете різницю між profiling, benchmarking і load testing
- Проведете навантажувальні тести backend-сервісу
- Навчитеся шукати bottlenecks через flamegraph і performance-метрики
- Проведете оптимізацію за принципом "спочатку виміряти - потім змінювати"
Redis, Docker i CI/CD
- Додасте Redis-кешування за cache-aside pattern
- Розберете TTL, invalidation і cache stampede
- Контейнеризуєте Rust-сервіс через Docker
- Піднімете API, PostgreSQL і Redis через Docker Compose та налаштуєте CI
Захист Job Queue API
- Презентуєте фінальний backend-проєкт
- Покажете повний lifecycle задачі: від enqueue - до виконання та фінального статусу
- Продемонструєте retries, concurrency, PostgreSQL, Redis, testing і tracing
- Захистите архітектурні рішення та результати performance-тестування
Що необхідно для навчання
Для комфортного навчання на курсі вам потрібен досвід backend-розробки на одній з сучасних мов програмування, розуміння HTTP, REST API, баз даних і базових принципів багатопотоковості, а також досвід роботи з Git.
Що ви зможете на Rust
- Створювати backend API та розділяти вебрівень, бізнес-логіку й роботу з даними - Axum, Tower
- Будувати асинхронні та конкурентні сервіси з retries, timeout і cancellation - Tokio
- Працювати з даними, транзакціями та кешуванням - PostgreSQL, SQLx, Redis
- Знаходити bottlenecks і причини високої latency через testing, tracing, profiling та load testing
- Готувати backend-сервіс до production-like запуску - Docker, Docker Compose, GitHub Actions
Особливості курсу
- Допомога ментора
- Практика
- Курсовий проєкт
- Куйс в портфоліо
- Сертифікат про проходження курсу
Викладачі курсу
Антон Зуб - Rust Developer
Категорії курсу
Читайте нас в Telegram, щоб не пропустити анонси нових курсів.
