
1. Введение в Wasm
- Историческая справка
- Концепция Wasm/WAST
- Wasm за пределами JS и браузера
- Базовая характеристика языка
- Экосистема Rust
- Анатомия программы
- Знакомство с базовыми конструкциями
- Знакомство со встроенными типами: числа, логические значения, строки
- Приведение и преобразование типов
- Концепция владения
- Псевдонимы типов
- Заимствование и уникальные ссылки
- RAII семантика и время жизни ссылки
- Умные и сырые указатели
- Указатели на функции
- Учимся работать с этими структурами данных и разбираем нюансы
- Динамические коллекции: Вектор, Двусторонняя очередь и Очередь с приоритетом
- Учимся работать с этими структурами данных и разбираем нюансы
- Добавление стандартного поведения для структур и перечислений
- Разбираемся с компиляцией и сборкой под браузер
- Разработка под Node.js
- Настройка окружения под курсовой проект
- Основная концепция
- Обобщенное программирование
- Характеристика Default
- Характеристики From и Into
- Важнейшие встроенные характеристики
- Реализация для обобщенного типа
- Динамическая диспетчеризация
- ThinBox
- Основная концепция
- Управление инкапсуляцией
- Знакомство со стандартно библиотекой
- Работа с другими крейтами
- Тестирование
- Счетчики ссылок
- Внутренняя изменяемость
- Copy-On-Write семантика
13. Итераторы и итерируемые объекты
- Основная концепция
- Функциональное API итератора и замыкания
- Выведение типа итератора
- Знакомство со Slice ссылками
- Знакомимся с основными встроенными коллекциями данных и сравниваем их друг с другом
- Метрики скорости. Влияние размера и количества кода на скорость. Основные приемы и способы оптимизации. Статическое измерение скорости. Учимся использовать инструменты анализа ассетов.
- Основная концепция
- Встроенные потоки и альтернативные реализации
- Каналы
- Структуры данных для синхронизации
- Основная концепция
- Контейнер Future и конструкции async/await
- Runtime для асинхронного ввода/вывода
19. Макросы
- Основная концепция
- Декларативные макросы
- Процедурные макросы
- Небезопасные макросы