Rust во frontend [Тариф Самостоятельный] [Kobezzza] [Андрей Кобец]

Bot

Администратор
Команда форума
23 Янв 2020
191,705
3,088
113
269049.jpg

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. Подводим итоги