Rust
Безопасная работа с памятью и максимальная скорость
Изучи Rust с нуля: от первой программы с rustup и Cargo до переменных, функций и главной идеи Rust — правил владения и заимствования. Затем ты будешь писать безопасный и быстрый код со структурами, перечислениями, обработкой ошибок, коллекциями, итераторами, трейтами и обобщёнными типами. В конце курса ты поработаешь с умными указателями и потоками и соберёшь утилиту командной строки с тестами.
Содержание курса
Основы Rust
НачальныйУстанови Rust, запусти первую программу через Cargo и познакомься с переменными, типами, функциями, условиями и циклами.
- 1Что такое Rust? Первая программа и CargoУзнай, зачем создан Rust и как он обеспечивает безопасность памяти без сборщика мусора, установи его через rustup и запусти первый проект с помощью Cargo.14 мин
- 2Переменные, изменяемость и типыСоздавай переменные через `let` и `mut`, пользуйся затенением и изучи скалярные типы Rust (целые и дробные числа, `bool`, `char`) и составные типы (кортежи и массивы).16 мин
- 3Функции, выражения и управление потокомПиши функции, разберись в разнице между выражениями и инструкциями, используй `if` как выражение со значением и применяй циклы `loop`, `while` и `for` вместе с диапазонами.15 мин
Владение, собственные типы и ошибки
СреднийОсвой правила владения и заимствования, создавай структуры и перечисления и обрабатывай ошибки через `Result` и `?`.
- 4Владение, заимствование и срезыИзучи главную идею Rust: у каждого значения один владелец. Разберись с перемещением (move), ссылками `&` и `&mut`, правилами заимствования, срезами и разницей между `String` и `&str`.22 мин
- 5Структуры, методы, перечисления и matchСоздавай собственные типы: структуры с полями, методы в блоке `impl`, перечисления с вариантами, их обработку через `match` и `Option` вместо `null`.20 мин
- 6Обработка ошибок: panic, Result и ?Отличай неисправимые ошибки (`panic!`) от исправимых (`Result`), пойми риски `unwrap` и `expect`, пиши короткий код с оператором `?` и создай собственный тип ошибки.18 мин
Коллекции и обобщённый код
СреднийРаботай с `Vec`, `HashMap`, замыканиями и итераторами и пиши переиспользуемый код с трейтами, обобщениями и временами жизни.
- 7Коллекции, замыкания и итераторыХрани данные в `Vec` и `HashMap`, пиши замыкания и превращай циклы в короткие понятные цепочки с методами итераторов `map`, `filter` и `collect`.18 мин
- 8Трейты, обобщения и времена жизниОписывай общее поведение трейтами, пиши обобщённые функции с ограничениями трейтов, используй `impl Trait` и `#[derive]` и разберись в основах аннотаций времени жизни.20 мин
Продвинутый Rust и реальный проект
ПродвинутыйИспользуй умные указатели, потоки, каналы и `Arc<Mutex<T>>`, а затем собери полноценную CLI-утилиту с модулями, crates.io и тестами.
- 9Умные указатели и многопоточностьИзучи умные указатели `Box`, `Rc` и `RefCell`, а затем пиши параллельный код без гонок данных с потоками, каналами и `Arc<Mutex<T>>`.22 мин
- 10Модули, Cargo и проект: счётчик словРаздели код на модули и крейты, подключай зависимости с crates.io, пиши тесты с `cargo test` и собери из всего изученного утилиту командной строки, которая считает слова в текстовом файле.22 мин