Курс Розробка на 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, щоб не пропустити анонси нових курсів.