hightemp / rust_book

Книга по rust

Repository from Github https://github.comhightemp/rust_bookRepository from Github https://github.comhightemp/rust_book

rust_book

Предисловие и введение

Часть I: Основы Rust

Часть II: Владение и заимствование

Часть III: Типы и структуры данных

Часть IV: Обобщенное программирование

Часть V: Многопоточность и асинхронное программирование

Часть VI: Практическое применение Rust

Часть VII: Продвинутые темы

  • Глава 19: Небезопасный Rust

    • Блоки unsafe
    • Работа с сырыми указателями
    • FFI и взаимодействие с C
    • Безопасные абстракции над небезопасным кодом
    • Практика: Создание безопасной обертки над C-библиотекой
  • Глава 20: Макросы

    • Декларативные макросы
    • Процедурные макросы
    • Атрибуты и деривация
    • Создание собственных макросов
    • Практика: Разработка полезных макросов для упрощения кода
  • Глава 21: Тестирование и документирование

    • Модульное тестирование
    • Интеграционное тестирование
    • Бенчмаркинг
    • Документирование кода
    • Практика: Написание тестов и документации для библиотеки

Часть VIII: Экосистема и инструменты

  • Глава 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
    • Профилирование и оптимизация
    • Практика: Настройка среды разработки и рабочего процесса

Часть IX: Реальные проекты

  • Глава 25: Разработка CLI-приложения

    • Парсинг аргументов командной строки
    • Интерактивный ввод
    • Цветной вывод и прогресс-бары
    • Обработка сигналов
    • Практика: Создание полноценного CLI-инструмента
  • Глава 26: Разработка веб-приложения

    • Веб-фреймворки в Rust
    • Маршрутизация и обработка запросов
    • Шаблонизация и рендеринг
    • Аутентификация и авторизация
    • Практика: Разработка веб-приложения с базой данных
  • Глава 27: Системное программирование

    • Работа с процессами и потоками ОС
    • Низкоуровневый ввод-вывод
    • Взаимодействие с операционной системой
    • Разработка драйверов и системных компонентов
    • Практика: Создание системной утилиты

Часть X: Лучшие практики и архитектура

  • Глава 28: Лучшие практики и идиомы Rust

    • Идиоматический Rust-код
    • Оптимизация производительности
    • Управление памятью и ресурсами
    • Обработка ошибок в масштабных приложениях
    • Организация кодовой базы
    • Практика: Рефакторинг кода с применением лучших практик
  • Глава 29: Паттерны проектирования в Rust

    • Адаптация классических паттернов для Rust
    • Rust-специфичные паттерны (newtype, typestate, RAII)
    • Функциональные паттерны
    • Конкурентные паттерны
    • Практика: Реализация паттернов проектирования в реальном проекте
  • Глава 30: Архитектура приложений на Rust

    • Принципы проектирования (SOLID, DRY, KISS)
    • Модульная архитектура
    • Многоуровневая архитектура
    • Микросервисная архитектура
    • Управление зависимостями в крупных проектах
    • Практика: Проектирование архитектуры приложения

Приложения

  • Приложение A: Шпаргалка по синтаксису Rust

    • Краткий справочник по синтаксису
    • Часто используемые конструкции
    • Типичные шаблоны кода
  • Приложение B: Популярные библиотеки и крейты

    • Обзор экосистемы Rust
    • Рекомендуемые библиотеки по категориям
    • Как выбирать библиотеки для своих проектов
  • Приложение C: Глоссарий

    • Термины и определения
    • Сокращения и аббревиатуры

About

Книга по rust