Программа и содержание

Что вам даст этот курс:

Освоение 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-разработки

Тариф Самостоятельный

20 записанных лекций

ИСТОЧНИК

СКАЧАТЬ