Rust Senior+ Express Course

Полный путь от основ Rust до уровня Senior+. 30 тем — синтаксис, владение и заимствование, трейты, конкурентность, async, unsafe, макросы, FFI и WebAssembly. Изучай последовательно или выборочно.

30Тем
>300Примеров
6Уровней
01

Основы Rust

Синтаксис, переменные, типы данных, срезы, управляющие конструкции, cargo new/run, форматированный вывод.

basicssyntaxtypescontrol flow
02

Владение и заимствование

Move-семантика, Copy vs Clone, ссылки &T/&mut T, правила заимствования, стек vs куча.

ownershipborrowingmovestack/heap
03

Структуры, перечисления и pattern matching

struct, enum, impl, match, if let/while let, деструктуризация, Option/Result как enum.

structsenumsmatchpattern matching
04

Коллекции и строки

Vec, HashMap, HashSet, BTreeMap/BTreeSet, VecDeque, String vs &str, срезы строк, UTF-8.

VecHashMapStringslices
05

Функции и замыкания

Функции, методы, ассоциированные функции, замыкания Fn/FnMut/FnOnce, указатели на функции, higher-order functions.

functionsclosuresFn traitsmethods
06

Обработка ошибок

Option, Result, оператор ?, panic! vs Result, кастомные ошибки, thiserror, anyhow, From/Into для ошибок.

ResultOptionthiserroranyhow
07

Трейты и полиморфизм

Определение трейтов, default-методы, trait objects (dyn), impl Trait, associated types, supertraits, orphan rule.

traitsdynimpl Traitpolymorphism
08

Дженерики

Обобщённые функции и типы, trait bounds, where-условия, мономорфизация, const generics (intro), turbofish.

genericstrait boundsmonomorphizationconst generics
09

Времена жизни

Lifetime-аннотации, elision rules, structs со ссылками, HRTB (for<'a>), variance, 'static, borrow checker и NLL.

lifetimesborrow checkerHRTB'static
10

Cargo, модули и крейты

Модульная система (mod/use/pub), workspaces, Cargo.toml, features, semver, публикация на crates.io, build.rs.

cargomodulesworkspacescrates.io
11

Итераторы

Трейт Iterator, IntoIterator, ленивые адаптеры (map/filter/fold), collect, кастомные итераторы, zero-cost abstraction.

iteratorsadaptersIntoIteratorlaziness
12

Умные указатели

Box, Rc/Arc, RefCell/Cell, Weak, Deref/DerefMut, Drop, интерьерная изменяемость, циклы ссылок.

BoxRcRefCellDeref
13

Конкурентность: основы

std::thread, message passing через channels, Mutex/RwLock, Arc>, Send/Sync, deadlocks.

threadschannelsMutexSend/Sync
14

Конкурентность: продвинутый уровень

Атомики и memory ordering, lock-free структуры, scoped threads, rayon, work-stealing, false sharing.

atomicslock-freerayonscoped threads
15

Асинхронное программирование

async/await, Future trait, executors, tokio runtime, pinning, async в трейтах, select!, cancellation.

async/awaittokioFuturepinning
16

Тестирование

#[test], integration tests, mocking, property-based testing (proptest), бенчмарки (criterion), doctest, fuzzing.

testingproptestcriteriondoctest
17

Unsafe Rust

unsafe fn/block/trait, raw pointers, UB, работа с памятью напрямую, unsafe-инварианты, FFI-основы, Miri.

unsaferaw pointersUBMiri
18

Макросы

macro_rules!, гигиена макросов, derive-макросы, атрибутные и function-like proc-macro, syn/quote.

macro_rules!proc-macroderivesyn/quote
19

Память и производительность

Layout структур, стек vs куча, zero-cost abstractions, аллокаторы, profiling (perf/flamegraph), инлайнинг.

memory layoutallocatorsprofilingzero-cost
20

Внутреннее устройство компилятора и рантайма

Borrow checker и NLL, MIR, мономорфизация, vtable для dyn Trait, паника и unwinding, отсутствие GC/рантайма.

borrow checkerMIRvtablecompiler
21

Веб-разработка

axum/actix-web, маршрутизация, middleware, extractors, REST API, graceful shutdown, tower.

axumactix-webRESTtower
22

Базы данных

sqlx, diesel, connection pooling, транзакции, миграции, async DB drivers, repository pattern.

sqlxdieselpoolingmigrations
23

gRPC и сериализация

tonic и Protocol Buffers, serde (JSON/bincode/MessagePack), zero-copy сериализация, streaming.

gRPCtonicserdeprotobuf
24

CLI-инструменты и TUI

clap (derive API), конфигурация через config/figment, ratatui для TUI, цветной вывод, автодополнение.

clapratatuiCLITUI
25

Логирование и observability

tracing/tracing-subscriber, structured logging, spans, OpenTelemetry, метрики, correlation IDs.

tracingOpenTelemetrystructured loggingspans
26

Безопасность

Гарантии memory safety, криптография (ring/RustCrypto), secrets, cargo audit/deny, OWASP Top 10, unsafe как поверхность атаки.

memory safetycryptocargo-auditOWASP
27

FFI и взаимодействие с C

extern "C", #[repr(C)], bindgen/cbindgen, ABI-совместимость, указатели через границу FFI, безопасные обёртки.

FFIextern Cbindgenrepr(C)
28

WebAssembly

wasm-bindgen, wasm-pack, взаимодействие с JS, размер бинарника, wasm-opt, WASI.

WebAssemblywasm-bindgenwasm-packWASI
29

Архитектура и паттерны проектирования

Builder, Newtype, Typestate, RAII, стратегия обработки ошибок в приложении, организация workspace-проекта.

BuilderNewtypeTypestateRAII
30

Продвинутая экосистема

no_std и embedded intro, const generics (deep), GATs, специализация, unstable features, roadmap языка.

no_stdGATsconst genericsunstable
🎯 Как учиться: Начинай с темы 01 и двигайся последовательно — тема 02 (владение и заимствование) является фундаментом для всего остального. Если уже знаешь основы — переходи к темам 11+ (итераторы, конкурентность, async) или 17+ (unsafe, макросы, internals — Senior+ материал).