Темная тема
Rust - The Complete Developer's Guide
01. Настройка и первые шаги
02. Базовые элементы Rust
- 004 - Представление данных с помощью структур;
- 005 - Массивы vs Векторы;
- 006 - Изменяемые и неизменяемые привязки;
- 007 - Реализации и методы;
- 008 - Неявные возвраты;
- 009 - Установка внешних крейтов;
- 010 - Использование кода из крейтов;
- 011 - Перемешивание среза;
- 012 - Разделение вектора;
- 013 - Разбор проекта;
03. Владение и заимствование, система памяти
- 014 - Обзор проекта;
- 015 - Определение структур;
- 016 - Добавление inherent-реализаций;
- 017 - Таинственная ошибка;
- 018 - Неожиданное обновление значений;
- 019 - Цель владения и заимствования;
- 020 - Основы владения;
- 021 - Визуализация владения и перемещений;
- 022 - Обзор упражнения;
- 023 - Решение упражнения;
- 024 - Ещё одно упражнение;
- 025 - Решение упражнения;
- 026 - Полезный код с использованием владения;
- 027 - Введение в заимствование;
- 028 - Неизменяемые ссылки;
- 029 - Упражнение на ссылки;
- 030 - Решение упражнения на ссылки;
- 031 - Изменяемые ссылки;
- 032 - Упражнение на изменяемые ссылки;
- 033 - Решение упражнения на изменяемые ссылки;
- 034 - Копируемые значения;
04. Время жизни, управление памятью
05. Перечисления
- 041 - Обзор проекта;
- 042 - Определение перечислений;
- 043 - Объявление значений перечислений;
- 044 - Добавление реализаций для перечислений;
- 045 - Сопоставление с образцом;
- 046 - Когда использовать структуры vs перечисления;
- 047 - Добавление элементов каталога;
- 048 - Поля без меток;
- 049 - Перечисление Option;
- 050 - Option с другой точки зрения;
- 051 - Замена нашего собственного enum на Option;
- 052 - Другие способы работы с Option;
- 053 - Обзор упражнения;
- 054 - Решение упражнения;
06. Архитектура проекта, работа с модулями
07. Обработка ошибок
- 058 - Обзор проекта;
- 059 - Чтение файла;
- 060 - Перечисление Result;
- 061 - Перечисление Result на практике;
- 062 - Типы ошибок;
- 063 - Сопоставление с Result;
- 064 - Пустые варианты;
- 065 - Упражнение с перечислением Result;
- 066 - Решение упражнения;
- 067 - Использование Result при чтении файлов;
- 068 - Сложности со строками;
- 069 - Стек и куча;
- 070 - String, &String и &str;
- 071 - Когда что использовать;
- 072 - Поиск логов ошибок;
- 073 - Проблема и её понимание;
- 074 - Исправление ошибок со срезами строк;
- 075 - Запись данных в файл;
- 076 - Альтернативы вложенным сопоставлениям;
- 077 - Оператор try;
- 078 - Когда какой метод использовать;
08. Итераторы
- 079 - Обзор проекта;
- 080 - Основы работы с итераторами;
- 081 - Использование циклов for с итераторами;
- 082 - Потребители итераторов;
- 083 - Адаптеры итераторов;
- 084 - Срезы векторов;
- 085 - Напоминание о владении и заимствовании;
- 086 - Итераторы с изменяемыми ссылками;
- 087 - Изменяемые срезы векторов;
- 088 - Сбор элементов из итератора;
- 089 - Как работает collect;
- 090 - Перемещение владения с into_iter;
- 091 - Вложенные map-преобразования;
- 092 - Повторение - Время жизни;
- 093 - Заключение по итераторам;
- 094 - Упражнение на метод collect;
- 095 - Решение упражнения;
- 096 - Метод filter;
- 097 - Решение задачи с filter;
09. Время жизни
10. Дженерики и трейты
- 105 - Настройка проекта;
- 106 - Проблемы с числовыми типами;
- 107 - Основы дженериков;
- 108 - Ограничения трейтов;
- 109 - Несколько обобщённых типов;
- 110 - Повышение гибкости решения;
- 111 - Обзор приложения;
- 112 - Создание корзины;
- 113 - Обобщённые структуры;
- 114 - Подробнее об обобщённых структурах;
- 115 - Реализация трейта;
- 116 - Обобщённые ограничения трейтов;