-
Глава 1: Начало работы с Rust
-
Глава 2: Основные концепции языка
-
Глава 3: Управление потоком выполнения
-
Глава 4: Функции и модульность
-
Глава 5: Система владения
-
Глава 6: Заимствование и ссылки
-
Глава 7: Времена жизни (Lifetimes)
-
Глава 8: Составные типы данных
-
Глава 9: Пользовательские типы данных
-
Глава 10: Обработка ошибок
-
Глава 11: Обобщенные типы и функции
-
Глава 12: Трейты
- Определение и реализация трейтов
- Трейты как параметры
- Ограничения трейтов
- Стандартные трейты:
- Трейты для операторов
- Трейты для преобразования типов
- Трейты для форматирования и вывода
- Трейты для итерации
- Трейты для сравнения
- Трейты для копирования и клонирования
- Трейты для работы с памятью
- Трейты-маркеры
- Автоматическая реализация трейтов
- Стандартные трейты для работы с коллекциями
- Стандартные трейты для работы с числами
- Стандартные трейты для работы с ошибками
- Практика: Реализация трейтов для пользовательских типов
- Типы с динамическим размером
-
Глава 13: Продвинутые трейты
-
Глава 14: Многопоточное программирование
-
Глава 15: Асинхронное программирование
-
Глава 16: Работа с файловой системой и вводом-выводом
-
Глава 17: Сетевое программирование
-
Глава 18: Базы данных и хранение данных
-
Глава 19: Небезопасный Rust
- Блоки unsafe
- Работа с сырыми указателями
- FFI и взаимодействие с C
- Безопасные абстракции над небезопасным кодом
- Практика: Создание безопасной обертки над C-библиотекой
-
Глава 20: Макросы
- Декларативные макросы
- Процедурные макросы
- Атрибуты и деривация
- Создание собственных макросов
- Практика: Разработка полезных макросов для упрощения кода
-
Глава 21: Тестирование и документирование
- Модульное тестирование
- Интеграционное тестирование
- Бенчмаркинг
- Документирование кода
- Практика: Написание тестов и документации для библиотеки
-
Глава 22: Cargo и управление зависимостями
- Расширенные возможности Cargo
- Рабочие пространства
- Публикация пакетов на crates.io
- Семантическое версионирование
- Практика: Создание и публикация библиотеки
-
Глава 23: Стандартная библиотека Rust в деталях
- Коллекции (HashMap, HashSet, BTreeMap, BTreeSet, VecDeque)
- Умные указатели (Box, Rc, Arc, Cell, RefCell)
- Форматирование и вывод (println!, format!, Display, Debug)
- Работа с датой и временем (std::time и chrono)
- Регулярные выражения и обработка текста
- Сериализация и десериализация (serde)
- Параллельные вычисления (rayon)
- Интернационализация и локализация
- Практика: Создание утилиты с использованием компонентов стандартной библиотеки
-
Глава 24: Инструменты разработки
- Rustfmt и форматирование кода
- Clippy и статический анализ
- Отладка программ на Rust
- Профилирование и оптимизация
- Практика: Настройка среды разработки и рабочего процесса
-
Глава 25: Разработка CLI-приложения
- Парсинг аргументов командной строки
- Интерактивный ввод
- Цветной вывод и прогресс-бары
- Обработка сигналов
- Практика: Создание полноценного CLI-инструмента
-
Глава 26: Разработка веб-приложения
- Веб-фреймворки в Rust
- Маршрутизация и обработка запросов
- Шаблонизация и рендеринг
- Аутентификация и авторизация
- Практика: Разработка веб-приложения с базой данных
-
Глава 27: Системное программирование
- Работа с процессами и потоками ОС
- Низкоуровневый ввод-вывод
- Взаимодействие с операционной системой
- Разработка драйверов и системных компонентов
- Практика: Создание системной утилиты
-
Глава 28: Лучшие практики и идиомы Rust
- Идиоматический Rust-код
- Оптимизация производительности
- Управление памятью и ресурсами
- Обработка ошибок в масштабных приложениях
- Организация кодовой базы
- Практика: Рефакторинг кода с применением лучших практик
-
Глава 29: Паттерны проектирования в Rust
- Адаптация классических паттернов для Rust
- Rust-специфичные паттерны (newtype, typestate, RAII)
- Функциональные паттерны
- Конкурентные паттерны
- Практика: Реализация паттернов проектирования в реальном проекте
-
Глава 30: Архитектура приложений на Rust
- Принципы проектирования (SOLID, DRY, KISS)
- Модульная архитектура
- Многоуровневая архитектура
- Микросервисная архитектура
- Управление зависимостями в крупных проектах
- Практика: Проектирование архитектуры приложения
-
Приложение A: Шпаргалка по синтаксису Rust
- Краткий справочник по синтаксису
- Часто используемые конструкции
- Типичные шаблоны кода
-
Приложение B: Популярные библиотеки и крейты
- Обзор экосистемы Rust
- Рекомендуемые библиотеки по категориям
- Как выбирать библиотеки для своих проектов
-
Приложение C: Глоссарий
- Термины и определения
- Сокращения и аббревиатуры