Что вам даст этот курс:
- Освоение Rust для фронтенда
Научитесь создавать программы и библиотеки на Rust и применять язык вместе с WebAssembly для реальных Frontend-задач.
- Глубокое понимание языка и его философии
Разберётесь в ключевых примитивах Rust, концепциях владения и заимствования, а также поймёте, как они влияют на качество кода.
- Новый уровень работы с производительностью
Узнаете, как замена критических к производительности модулей JS на Rust/Wasm ускоряет выполнение CPU-задач в десятки раз.
- Практика связки Rust и JavaScript
Научитесь использовать Rust в тандеме с JS и Node.js, собирать проекты и эффективно интегрировать новый код в экосистему фронта.
- Фундаментальные инженерные навыки
Через Rust погрузитесь в Computer Science: структуры данных, параллельные вычисления, работу процессора и памяти.
- Выход за пределы JavaScript
Станете разработчиком, который умеет решать задачи уровнем выше и не ограничивается одним инструментом.
После курса вы сможете
- Читать и писать код на Rust для решения своих задач
- Применять WebAssembly в Frontend-проектах
- Использовать Rust в связке с Node.js
- Укрепить фундаментальные знания для роста за пределы JS
Вам подойдёт курс, если вы:
- Уверенно владеете JavaScript или другим ЯП
- Хотите расти за пределы JS и стать вне конкуренции
- Имеете или стремитесь к пониманию основ Computer Science
- Имеете опыт работы с системным программированием или backend
- Любите разбираться в сложных и крутых вещах: вы ждали «курс для Senior» — это он и есть
Rust — путь к фундаменту Computer Science
Rust прекрасен для изучения Computer Science.
Его дизайн сам подталкивает к тому, чтобы:
- Понять, как реально работают процессор и память,
- Разобраться в многообразии структур данных,
- Погрузиться в параллельные вычисления,
- Освоить функциональную парадигму программирования.
Даже если вы не будете писать на Rust каждый день — освоить его стоит ради этого опыта.
Программа:
1. Введение в Wasm
- Историческая справка
- Концепция Wasm/WAST
- Wasm за пределами JS и браузера
2. Введение в Rust
- Базовая характеристика языка
- Экосистема Rust
- Анатомия программы
- Знакомство с базовыми конструкциями
3. Базовые типы данных в Rust
- Знакомство со встроенными типами: числа, логические значения, строки
- Приведение и преобразование типов
- Концепция владения
- Псевдонимы типов
4. Ссылки и указатели
- Заимствование и уникальные ссылки
- RAII семантика и время жизни ссылки
- Умные и сырые указатели
- Указатели на функции
5. Массивы, Кортежи и Структуры
- Учимся работать с этими структурами данных и разбираем нюансы
- Динамические коллекции: Вектор, Двусторонняя очередь и Очередь с приоритетом
6. Перечисления и паттерн-матчинг. Добавление поведения.
- Учимся работать с этими структурами данных и разбираем нюансы
- Добавление стандартного поведения для структур и перечислений
7. Настройка Rust для использования во Frontend проекте
- Разбираемся с компиляцией и сборкой под браузер
- Разработка под Node.js
- Настройка окружения под курсовой проект
8. Характеристики
- Основная концепция
- Обобщенное программирование
- Характеристика Default
- Характеристики From и Into
9. Продвинутая работа с характеристиками
- Важнейшие встроенные характеристики
- Реализация для обобщенного типа
- Динамическая диспетчеризация
- ThinBox
10. Модули, крейты и стандартная библиотека
- Основная концепция
- Управление инкапсуляцией
- Знакомство со стандартно библиотекой
- Работа с другими крейтами
- Тестирование
11. Продвинутая работа со ссылками
- Счетчики ссылок
- Внутренняя изменяемость
- Copy-On-Write семантика
12. Использование полученных знаний для Frontend приложения
13. Итераторы и итерируемые объекты
- Основная концепция
- Функциональное API итератора и замыкания
- Выведение типа итератора
- Знакомство со Slice ссылками
14. Коллекции данных
- Знакомимся с основными встроенными коллекциями данных и сравниваем их друг с другом
15. Использование полученных знаний для Frontend приложения
- Метрики скорости. Влияние размера и количества кода на скорость. Основные приемы и способы оптимизации. Статическое измерение скорости. Учимся использовать инструменты анализа ассетов.
16. Многопоточное программирование
- Основная концепция
- Встроенные потоки и альтернативные реализации
- Каналы
- Структуры данных для синхронизации
17. Асинхронное программирование
- Основная концепция
- Контейнер Future и конструкции async/await
- Runtime для асинхронного ввода/вывода
18. Использование полученных знаний для Frontend приложения
19. Макросы
- Основная концепция
- Декларативные макросы
- Процедурные макросы
- Небезопасные макросы
20. Подводим итоги
Автор Андрей Кобец
- Основатель Kobezzza.Labавтор курса и преподаватель
- Автор собственного языка программирования и множества открытых библиотек
- Автор десятка мастер-классов и интенсивов по фундаментальным аспектам Frontend-разработки
Тариф Самостоятельный
ИСТОЧНИК
СКАЧАТЬ