Чему вы научитесь
- Свободно работать с лайфтаймами, variance и type-state, проектировать API с правильными generic-границами и HRTB
- Понимать устройство async-рантайма: futures, Pin, Waker, executor; писать собственные комбинаторы и асинхронные примитивы
- Реализовывать lock-free структуры данных через atomics и MVCC, понимать модели памяти и порядки барьеров
- Писать unsafe-код и FFI безопасно, проектировать sound API над сырыми указателями
- Профилировать и оптимизировать Rust-код через flamegraph, perf, criterion и устранять узкие места
- Разрабатывать макросы (declarative и proc-macro), писать собственные derive
- Собирать проекты под no_std и embedded, работать с RTIC и микроконтроллерами
- Строить production-сервисы на axum и tower, gRPC через tonic, работать с Kafka и NATS
- Покрывать систему observability: tracing, метриками, OpenTelemetry, выстраивать алерты по RED/USE
- Писать тесты всех уровней: юнит, интеграционные с testcontainers, property-based, fuzz
- Поставлять Rust-сервисы: кросс-сборка, distroless, канареечный rollout, supply-chain security
О курсе
О курсе
Это продвинутый курс по Rust для разработчиков, которые уже прошли базовый курс и хотят перейти от написания утилит к проектированию production-систем. Мы разбираем язык изнутри: систему типов и лайфтаймы, как устроен async-рантайм, что происходит при unsafe, как писать на Rust высоконагруженные сервисы, драйверы и распределённые системы.
Чему вы научитесь
После курса вы свободно работаете с лайфтаймами, variance и type-state, понимаете дженерики, HRTB и trait objects на уровне ABI. Вы знаете, как устроены async/await, Pin, Waker и futures, умеете писать собственные комбинаторы и понимаете, чем отличаются tokio, smol и monoio. Вы научитесь писать lock-free структуры данных, профилировать и оптимизировать код, работать с unsafe и FFI безопасно, проектировать макросы и embedded-проекты на no_std.
Параллельно вы соберёте полноценные production-сервисы: REST и gRPC API, обработчики очередей с outbox-паттерном, observability через tracing и OpenTelemetry, тестирование с property-based и fuzz, релизные пайплайны с канареечным деплоем. Финальная практика это сквозной feed-сервис от домена до канареечного релиза.
Программа
Курс состоит из 21 модуля. Первые 8 разбирают язык и его внутренности: систему типов, трейты, async, многопоточность, unsafe, производительность, макросы и no_std. Модули 9 и 10 это первая большая практика: lock-free кэш, async-парсер и распределённый key-value сервис.
Модули с 11 по 15 посвящены сервисной разработке: axum и tower, базы данных через sqlx и sea-orm, безопасность, тестирование и DevOps. Модули 16-20 раскрывают продвинутые темы: gRPC и tonic, очереди сообщений с Kafka и NATS, observability, WebAssembly и системное программирование с io_uring, eBPF и драйверами Linux на Rust. Модуль 21 это сквозная лаборатория с production-ready feed-сервисом.
Формат
В каждом уроке короткая теоретическая часть с разборами и примерами кода, четыре теста на проверку понимания и одно практическое задание. Всего в курсе 84 урока и более 400 проверочных шагов. Лаборатории построены как многошаговые задания, где каждая задача проверяет конкретный технический навык.
Что нужно знать заранее
Базовый Rust: владение, заимствование, перечисления, структуры, generic-функции, обработка ошибок через Result, базовый async/await. Если базы пока нет, пройдите сначала мой базовый курс по Rust, а затем возвращайтесь сюда.
Для кого этот курс
Начальные требования
Базовое знание Rust: владение и заимствование, структуры и перечисления, обработка ошибок через Result и Option, базовый async/await. Опыт работы с Cargo и стандартной библиотекой. Понимание того, что такое стек и куча, ссылки и указатели. Знакомство с любым другим серверным языком (Go, Java, C++, Python) приветствуется, но не обязательно.
Технические требования: установленный Rust 1.75 или новее (через rustup), Docker для практик с базами данных и брокерами, любой редактор с поддержкой rust-analyzer. Для модулей про io_uring и eBPF понадобится Linux 5.10+, для модуля про драйверы ядра 6.1+. Под macOS и Windows эти модули можно проходить теоретически или в виртуальной машине.
Наши преподаватели
Как проходит обучение
Программа курса
Что вы получаете
- Глубокое понимание Rust на уровне, достаточном для коммерческой разработки production-систем
- Готовые шаблоны для типичных задач: REST и gRPC сервисы, обработчики очередей, lock-free структуры, FFI-биндинги
- Опыт работы с экосистемой: tokio, axum, tonic, sqlx, tracing, OpenTelemetry, Kafka, NATS
- Сертификат Stepik по итогам курса
- Проекты в портфолио: распределённый key-value, async-парсер, lock-free кэш, feed-сервис production-ready