# Введение

rust 2 / 8
2 min read
Table of Contents

Структура книги по языку программирования Rust


Введение

  1. Что такое Rust?

    • История создания, цели и философия языка.
    • Ключевые особенности: безопасность памяти, отсутствие сборщика мусора, многопоточность.
    • Сравнение с C/C++, Python, Go и другими языками.
  2. Для кого эта книга?

    • Целевая аудитория (новички, опытные разработчики, системные программисты).
    • Предварительные требования (базовые знания программирования).
  3. Как пользоваться книгой

    • Рекомендации по изучению глав.
    • Примеры кода, упражнения и проекты.

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

  1. Начало работы

    • Установка Rust и настройка среды (rustup, Cargo, IDE/редакторы).
    • Первая программа: «Hello, World!».
    • Обзор инструментов: Cargo, Rustfmt, Clippy.
  2. Синтаксис и базовые концепции

    • Переменные, типы данных (скалярные, составные), вывод типов.
    • Управляющие конструкции: if, loop, while, for.
    • Функции, макросы, комментарии.
  3. Владение (Ownership)

    • Правила владения, перемещение данных.
    • Заимствование (Borrowing) и ссылки (&, &mut).
    • Время жизни (Lifetimes): базовое введение.
  4. Структуры данных

    • Структуры (struct), перечисления (enum), методы.
    • Коллекции: векторы, строки, хэш-мапы.
  5. Обработка ошибок

    • Типы Result и Option.
    • Макрос panic!, обработка исключений через unwrap и expect.
    • Продвинутые техники: ? оператор, кастомные ошибки.

Часть 2: Продвинутые концепции

  1. Трейты и дженерики

    • Определение и реализация трейтов.
    • Дженерики: функции, структуры, методы.
    • Трейт-объекты и динамическая диспетчеризация.
  2. Модули и пакеты

    • Организация кода: модули, крейты, workspace.
    • Публичный API, управление видимостью (pub).
    • Работа с Cargo: зависимости, публикация пакетов.
  3. Асинхронное программирование

    • Модель async/await.
    • Работа с Futures, экосистема Tokio.
    • Многопоточность: Send, Sync, каналы (std::sync::mpsc).
  4. Небезопасный Rust

    • Ключевое слово unsafe.
    • Работа с сырыми указателями.
    • Взаимодействие с FFI (Foreign Function Interface).

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

  1. Работа с файлами и сетью

    • Чтение/запись файлов.
    • HTTP-клиенты и серверы (на примере reqwest, actix-web).
  2. Взаимодействие с другими языками

    • Создание Rust-библиотек для Python, C и др.
    • Использование C-библиотек в Rust.
  3. Работа с базами данных

    • Подключение к SQL/NoSQL (Diesel, SQLx, MongoDB).
    • ORM и миграции.
  4. Тестирование и отладка

    • Юнит-тесты, интеграционные тесты.
    • Профилирование и оптимизация.

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

  1. Разработка CLI-утилиты

    • Парсинг аргументов (clap).
    • Логирование, обработка ошибок.
  2. Создание веб-сервиса

    • REST API на базе Rocket или actix-web.
    • Аутентификация, Middleware.
  3. Оптимизация и деплой

    • Сборка релизных версий.
    • Деплой в Docker, облачные платформы.

Приложения

  1. Глоссарий терминов Rust

  2. Шпаргалка по синтаксису

  3. Полезные ресурсы

    • Официальная документация, форумы, сообщества (Rust Users Forum, Reddit).
    • Книги и курсы.
  4. Ответы к упражнениям


Заключение

  • Итоги изучения Rust.
  • Дальнейшие шаги: углубление в нишевые темы (embedded, WebAssembly).
  • Советы по участию в open-source проектах.

Такая структура позволяет постепенно переходить от основ к сложным темам, подкрепляя теорию практическими примерами. Каждая глава может включать упражнения, советы по лучшим практикам и предупреждения о типичных ошибках.

Next: Обзор инструментов Rust: Cargo, Rustfmt, Clippy
Аватар автора

Спасибо, что прочитали статью. Посмотрите другие материалы в архиве, там много практических разборов по разным технологиям.


rust Series

# Основы языка программирования Rust

rust 1 / 8
3 min read

Rust — это современный язык системного программирования, созданный для обеспечения безопасности, скорости и параллелизма. Разработанный в Mozilla, он сочетает низкоуровневый контроль над памятью с…

Read

# Введение

rust 2 / 8
2 min read

Структура книги по языку программирования Rust --- 1. Что такое Rust? - История создания, цели и философия языка. - Ключевые особенности: безопасность памяти, отсутствие сборщика мусора,…

Continue

# Обзор инструментов Rust: Cargo, Rustfmt, Clippy

rust 3 / 8
3 min read

Rust — современный язык программирования, который сочетает в себе высокую производительность, безопасность памяти и удобство разработки. Однако его сила раскрывается не только благодаря синтаксису и…

Read

# Владение и Перемещение Данных в Rust: Полное Руководство

rust 7 / 8
3 min read

Введение Rust революционизировал системное программирование, устраняя целые классы ошибок через свою систему владения. В отличие от языков с ручным управлением памятью (C/C++) или сборщиком мусора…

Read

# Заимствование и ссылки в Rust: Безопасность памяти без сборщика мусора

rust 8 / 8
4 min read

В системах программирования управление памятью традиционно требует выбора между ручным контролем (с риском ошибок) и автоматической сборкой мусора (с накладными расходами). Rust предлагает третий…

Read