Перейти к содержимому

Асинхронный многопоточный Rust для Python/Java разработчиков - просто, на пальцах и примерах

UWDC

0:00 / 0:00

Асинхронный многопоточный Rust для Python/Java разработчиков - просто, на пальцах и примерах

724 просмотра · 1 год назад
UWDC
1,52 тыс. подписчиков
724 просмотра · 1 год назад
Александр Сербул, Битрикс, Руководитель направлением контроля качества интеграции и внедрений Асинхронный многопоточный Rust для Python/Java разработчиков - просто, на пальцах и примерах 00:00 — Благодарность организаторам конференции 00:34 — Введение в Rust: зачем изучать язык 01:15 — О себе: опыт в IT и переход на Rust 03:25 — Сравнение Rust с Go, Java и другими языками 05:32 — История Rust: Грейден Хор и философия языка 06:41 — Типизация в Rust: всё имеет тип 07:07 — Компилятор Rust как тренажёр мозга 07:42 — Автовывод типов и алгоритм Хиндли-Милнера 08:22 — Отказ от наследования: композиция вместо ООП 09:35 — Структуры и методы в Rust 10:21 — Типы данных: struct, tuple struct, unit struct, enum 11:27 — Отсутствие null: Option вместо null 12:10 — Перечисления enum с данными: мощь сум-типов 14:34 — Pattern matching: разбор структур без if-else 16:52 — Product types и sum types: теория типов 17:40 — Result вместо исключений 19:23 — Нет исключений: Result и panic 20:28 — Выразительность и производительность Rust 21:08 — Нет сборщика мусора: RAII и деструкторы 22:21 — Ownership и borrowing: решение aliasing 24:08 — Выделение памяти: стек vs хип, Box 25:08 — Деструкторы и управление временем жизни 26:01 — Передача владения: афинные типы данных 27:44 — Многопоточность: безопасность на уровне типов 29:38 — Проблемы многопоточности в других языках 30:29 — Send и Sync трейты для потокобезопасности 32:36 — Иммутабельность по умолчанию: RefCell, Mutex 34:28 — Атомики для простых счётчиков 35:38 — Матрёшки типов: Arc, Mutex для concurrency 37:07 — Асинхронность: async/await в Rust 37:47 — Веб-серверы и фреймворки в Rust 38:11 — Пример проекта: 4000 удалений файлов/сек 39:00 — Заключение и вопросы