Rust продвинутый: лайфтаймы, async, unsafe и производительность

Продвинутый курс по Rust для тех, кто уже знает основы. Лайфтаймы, async-рантаймы изнутри, unsafe и FFI, lock-free, оптимизация, макросы, no_std, gRPC, Kafka, observability, WebAssembly, io_uring и eBPF. 21 модуль и большая сквозная практика.
Продвинутый уровень
40-60 часов

Чему вы научитесь

  • Свободно работать с лайфтаймами, 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, а затем возвращайтесь сюда.

Для кого этот курс

Курс для backend- и системных разработчиков, которые уже пишут на Rust небольшие проекты и хотят перейти к разработке production-сервисов. Подойдёт тем, кто переходит с C++, Go или Java и хочет освоить Rust на уровне, достаточном для коммерческой разработки. Также курс полезен техлидам, проектирующим архитектуру на Rust: модули по async-рантаймам, lock-free, observability и event-driven дают цельную картину того, как устроены современные сервисы и где проходят границы зон ответственности.

Начальные требования

Базовое знание 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
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно