Gatsby
ВЕЧНЫЙ
- Регистрация
- 10 Окт 2018
- Сообщения
- 54,060
- Реакции
- 280,735
Ultimate Rust 2: Концепции среднего уровня
Платформа: ardanlabs
«Ultimate Rust 2: Концепции среднего уровня» — это курс от ardanlabs.com для разработчиков, которые уже знакомы с основами Rust и хотят перейти на более уверенный уровень владения языком. Программа помогает глубже разобраться в управлении памятью, владении, заимствовании, lifetimes, структурах, перечислениях, дженериках, трейтах, модулях и проектировании чистого, безопасного и производительного системного кода.
Курс подойдёт тем, кто хочет лучше понимать внутренние механизмы Rust и применять их в реальных проектах. Особое внимание уделяется концепциям, которые делают Rust мощным инструментом для системного программирования: строгая модель владения, контроль ресурсов, безопасность памяти без сборщика мусора и выразительные абстракции без лишних накладных расходов.
О чём этот курс:
- о концепциях Rust среднего уровня;
- об ownership и borrowing;
- о жизненных циклах данных;
- о работе со стеком и кучей;
- о функциях, модулях и структуре проекта;
- о дженериках, трейтах и переиспользуемых API;
- о написании быстрого, надёжного и безопасного системного кода.
Главная цель курса:
- углубить понимание Rust после базового уровня;
- показать внутреннюю логику модели владения;
- научить писать более безопасный и производительный код;
- разобрать ключевые абстракции языка;
- помочь проектировать понятные и переиспользуемые API;
- подготовить к более серьёзной разработке на Rust.
Что вы изучите на курсе:
- управление памятью;
- модель владения;
- заимствование данных;
- lifetimes;
- работу со стеком и кучей;
- функции высшего порядка;
- организацию модулей;
- структуры, перечисления, дженерики и трейты.
Управление памятью и владением:
- глубокое понимание ownership;
- работа с borrowing;
- контроль владения данными;
- предотвращение ошибок доступа к памяти;
- понимание перемещения и копирования значений;
- безопасная работа с ресурсами без сборщика мусора.
Ownership в Rust:
- понимание того, кто владеет значением;
- передача владения между переменными и функциями;
- освобождение ресурсов в нужный момент;
- предотвращение двойного освобождения памяти;
- создание более предсказуемого поведения программы.
Borrowing и ссылки:
- заимствование данных без передачи владения;
- работа с неизменяемыми ссылками;
- работа с изменяемыми ссылками;
- контроль одновременного доступа;
- избежание гонок данных и некорректных изменений;
- понимание правил borrow checker.
Lifetimes:
- работа с жизненным циклом данных;
- понимание времени жизни ссылок;
- аннотации lifetimes;
- предотвращение висячих ссылок;
- проектирование функций и структур со ссылками;
- более уверенная работа с borrow checker.
Стек и куча:
- понимание различий между stack и heap;
- выбор подходящего способа хранения данных;
- оптимизация выделения памяти;
- снижение лишних аллокаций;
- работа с производительностью на низком уровне;
- лучшее понимание внутреннего поведения программы.
Функции, модули и структура кода:
- использование функций для повышения читаемости;
- функции высшего порядка;
- организация проекта через модули;
- разделение ответственности между частями кода;
- проектирование чистых API;
- создание переиспользуемых компонентов.
Функции высшего порядка:
- передача функций как значений;
- использование замыканий;
- создание гибких обработчиков данных;
- повышение выразительности кода;
- сокращение повторяющихся конструкций;
- применение функциональных подходов в Rust.
Модули и организация проекта:
- структурирование кода по логическим частям;
- управление видимостью элементов;
- создание удобной архитектуры проекта;
- разделение публичного и внутреннего API;
- поддержка масштабируемости кодовой базы;
- упрощение сопровождения и переиспользования.
Проектирование API:
- создание чистых интерфейсов;
- переиспользуемые функции и структуры;
- понятные границы ответственности;
- минимизация лишней связанности;
- использование типов для выражения намерений;
- повышение надёжности через дизайн кода.
Типы данных и продвинутые абстракции:
- глубокая работа со структурами;
- использование перечислений;
- проектирование собственных типов;
- применение дженериков;
- trait-ориентированное программирование;
- создание выразительных и безопасных абстракций.
Структуры и перечисления:
- создание пользовательских типов;
- моделирование данных;
- использование enum для вариантов состояния;
- сочетание структур и методов;
- повышение выразительности кода;
- защита от некорректных состояний.
Дженерики:
- создание гибкого кода;
- обобщение функций и структур;
- уменьшение дублирования;
- сохранение строгой типизации;
- повышение переиспользуемости;
- разработка универсальных компонентов.
Trait-ориентированное программирование:
- описание общего поведения типов;
- создание гибких интерфейсов;
- ограничение дженериков через traits;
- переиспользование логики;
- композиция возможностей;
- проектирование расширяемых систем.
Почему курс полезен разработчикам:
- помогает глубже понять Rust;
- развивает навыки системного мышления;
- учит контролировать ресурсы;
- показывает практическое применение ownership и borrowing;
- помогает писать быстрые и безопасные приложения;
- готовит к работе с более сложными Rust-проектами.
Кому подходит курс:
- разработчикам, уже знакомым с основами Rust;
- инженерам системного программного обеспечения;
- backend-разработчикам, интересующимся Rust;
- тем, кто переходит с C или C++;
- разработчикам, которые ищут безопасную альтернативу низкоуровневым языкам;
- тем, кто хочет лучше понимать внутренние механизмы языка.
Курс будет полезен, если вы хотите:
- лучше понимать ownership и borrowing;
- разобраться с lifetimes;
- писать более производительный системный код;
- использовать дженерики и traits;
- проектировать чистые Rust API;
- перейти от базового уровня к более профессиональному;
- уверенно применять Rust в практических проектах.
- глубокое понимание модели владения;
- уверенная работа со ссылками и заимствованием;
- понимание жизненного цикла данных;
- организация проектов через модули;
- использование продвинутых абстракций;
- создание переиспользуемых компонентов;
- проектирование безопасного и эффективного кода.
- вы будете увереннее использовать ключевые концепции Rust;
- лучше поймёте внутренние механизмы языка;
- сможете эффективнее работать с памятью;
- научитесь применять traits, generics и lifetimes;
- сможете создавать более быстрые и безопасные приложения;
- получите основу для профессиональной разработки на Rust.
Язык: Английский
Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.