te5670 ®
Стаж: 7 лет
Сообщений: 1389
Ratio: 2.506
Поблагодарили: 222532
100%
|
Бренден Мэтьюз | Rust. Профессиональное программирование (2025) [PDF]
Автор: Бренден Мэтьюз Перевод: Н. Вильчинский Издательство: АЛИСТ ISBN: 978-601-08-4833-7 Жанр: Программирование Формат: PDF Качество: Обработанный скан Иллюстрации: Черно-белые Описание:Книга служит введением в продвинутые темы, необходимые для реализации полнофункциональных проектов на языке Rust. Rust рассматривается как сравнительно новый, но мощный и зрелый язык для серверного программирования. Рассмотрены паттерны проектирования, характерные для Rust, роль Rust в современном низкоуровневом программировании, приемы асинхронных взаимодействий и управление памятью. Проиллюстрированы способы создания HTTP REST API на Rust, интеграция кода Rust с кодом на других языках, типичные идиомы и структуры данных, применяемые при профессиональной работе с Rust. Для Rust-разработчиков и специалистов по системному программированию. Книга ориентирована на читателей, имеющих базовые представления о Rust Язык Rust успел прославиться своей высокой производительностью, надёжностью и безопасностью. Но не так просто овладеть им в совершенстве, чтобы все эти достоинства раскрылись в полной мере. Эта книга поможет вам быстро стартовать в изучении сложных тем, уверенно приступить к работе с низкоуровневыми системами, веб-приложениями, заниматься асинхронным программированием, оптимизацией, писать конкурентный код. С этой книгой вы сможете работать более продуктивно. Она насыщена примерами и, опираясь на уже имеющиеся у вас знания, познакомит вас со специфичными для Rust паттернами проектирования, приёмами асинхронного программирования, а также поможет интегрировать Rust с другими языками. Также в ней рассказано о замечательных инструментах для тестирования, анализа кода, управления жизненным циклом приложения на Rust. Всё самое нужное — под одной обложкой!
В этой книге:
Структуры данных Rust Управление памятью Создание эффективных API Инструментарий Rust, средства для тестирования и многое другое Каждый Rust-разработчик что-то найдёт для себя в этой книге. Просто кладезь советов. Тим Макнамара, основатель компании Accelerant.dev, автор книги «Rust в действии» Та самая книга, которая поможет стать Rust-профессионалом. Хайме Лопес, Институт Гуттманна, Барселона Практичная, удобная и понятная книга. Сатедж Кумар Саху, компания «Боинг» Для всех амбициозных растофилов. Симон Чоке, компания German Edge Cloud
Краткое оглавление
Предисловие Благодарности Об этой книге Об авторе Об иллюстрации на обложке
Глава 1. Почувствуйте Rust!
ЧАСТЬ 1. РАБОТА С RUST НА ПРОФЕССИОНАЛЬНОМ УРОВНЕ Глава 2. Управление проектами с помощью Cargo Глава 3. Инструменты Rust
ЧАСТЬ 11. ОСНОВНЫЕ ДАННЫЕ Глава 4. Структуры данных Глава S. Работа с памятью
ЧАСТЬ 111. КОРРЕКТНОСТЬ КОДА Глава 6. Модульное тестирование Глава 7. Интеграционное тестирование
ЧАСТЬ IV. АСИНХРОННЫЙ RUST Глава 8. Асинхронное программирование в Rust Глава 9. Создание сервиса НТТР REST API Глава 10. Создание СLI-инструмента НТТР REST API
ЧАСТЬ V. ОП ТИМИЗАIJ;ИЯ Глава 11. Оптимизация кода Приложение Предметный указатель
Глава 1. Почувствуйте Rust!
Эта вступительная глава призвана не столько обучить синтаксису, сколько дать эмоциональный и концептуальный заряд на старт. Автор знакомит читателя с философией Rust, его преимуществами, безопасностью и современными решениями, а также тем, что отличает язык от других популярных альтернатив. Здесь же объясняется, почему Rust не просто новый инструмент, а потенциально основа долгосрочной разработки. Глава подходит как для новичков, так и для разработчиков, “присматривающихся” к языку: она вдохновляет и задает настрой, при этом дает четкое понимание, в каких проектах Rust действительно стоит применять.
Глава 2. Управление проектами с помощью Cargo
Глава подробно объясняет, как управлять Rust-проектами с помощью Cargo — стандартного менеджера пакетов и сборщика. Читатель узнает, как создавать и компилировать проекты, управлять зависимостями и фича-флагами, публиковать пакеты, работать с внешними C-библиотеками, осуществлять кросс-компиляцию и писать документацию. Также рассматриваются рабочие пространства и пользовательские сценарии сборки. Это фундаментальный раздел для каждого Rust-разработчика, позволяющий выстроить процесс разработки, автоматизировать рутину и поддерживать проект в рабочем состоянии в любой среде — от десктопа до встраиваемых систем.
Глава 3. Инструменты Rust
Глава посвящена экосистеме инструментов, помогающих писать чистый, быстрый и безопасный код. Особое внимание уделяется rust-analyzer, rustfmt и Clippy — утилитам, без которых сложно представить современный Rust-проект. Также объясняется работа кэшеров (sccache), ночных сборок и дополнительных команд cargo: от cargo-expand до cargo-fuzz. Эта глава будет полезна тем, кто хочет организовать работу с проектом на уровне production: с быстрой компиляцией, поддержкой IDE, анализом зависимостей и интеграцией в CI/CD-процессы.
Глава 4. Структуры данных
Автор разбирает в деталях работу с основными типами данных в Rust, включая строки, слайсы, векторы, отображения, кортежи, структуры и перечисления. Также уделено внимание механизмам обработки ошибок (Result), преобразованиям типов (From, Into, TryFrom, TryInto) и совместимости с FFI. Эта глава — опорная для понимания типовой системы языка и построения эффективных абстракций. Она помогает глубже понять поведение памяти, типизацию и то, как Rust реализует безопасность и производительность через управление данными.
Глава 5. Работа с памятью
Rust знаменит своей моделью управления памятью, и эта глава посвящена ее практическому применению. Внимание уделяется разнице между кучей и стеком, концепциям владения, заимствования и перемещений, глубокому копированию и предотвращению ненужных дубликатов. Читатель знакомится с умными указателями (Box, Rc, Arc), клонированием при записи и даже созданием собственных распределителей памяти. Глава необходима для всех, кто хочет эффективно управлять ресурсами, строить высоконагруженные или встраиваемые решения на Rust.
Глава 6. Модульное тестирование
Автор объясняет встроенные возможности тестирования в Rust и демонстрирует, как легко интегрировать тесты в ежедневную разработку. Описываются стратегии тестирования, организация тестов в коде, управление состоянием и работа с параллелизмом. Затронуты вопросы реструктуризации кода и измерения покрытия. Эта глава особенно важна для тех, кто привык к TDD или хочет внедрить культуру тестирования в команду, обеспечив надежность и сопровождаемость проекта на любом этапе.
Глава 7. Интеграционное тестирование
Здесь рассматриваются стратегии интеграционного тестирования, сравниваются подходы (встроенное и внешнее тестирование), а также предлагается обзор инструментов: от assert_cmd до proptest. Отдельный акцент — на fuzz-тестировании, что делает главу особенно ценной для разработки CLI-приложений, API и библиотек. Она подойдет разработчикам, которые хотят выходить за рамки модульного тестирования и строить надежную тестовую инфраструктуру для всего приложения.
Глава 8. Асинхронное программирование в Rust
В этой главе объясняется, как Rust реализует асинхронность через async/await, Future, и экосистему вокруг tokio. Автор рассматривает различные модели выполнения, конкуренцию, параллелизм, трассировку и смешивание синхронного и асинхронного кода. Также уделено внимание отладке и тестированию async-кода. Эта глава важна для создания масштабируемых сетевых приложений, микросервисов и API на Rust, где асинхронность критически важна.
Глава 9. Создание сервиса HTTP REST API
Глава демонстрирует полный цикл создания веб-сервиса на Rust: от выбора фреймворка и проектирования архитектуры до реализации маршрутов, работы с базой данных, трассировки и обработки ошибок. Приводится практическая структура проекта и реализация API на базе axum или actix-web. Это ценное руководство для разработчиков, строящих backend-сервисы с высокой производительностью и типовой безопасностью.
Глава 10. Создание CLI-инструмента HTTP REST API
Автор показывает, как дополнить веб-приложение CLI-клиентом. Разбираются этапы проектирования, объявления и реализации команд, выполнения запросов, обработки ошибок и тестирования. Эта глава особенно полезна тем, кто хочет создавать кросс-платформенные консольные утилиты с хорошей архитектурой, взаимодействующие с API, и при этом не терять такие качества как удобство и расширяемость.
Глава 11. Оптимизация кода
Этот финальный раздел посвящен повышению производительности: от абстракций с нулевой стоимостью до SIMD, распараллеливания с Rayon и встраивания Rust-кода в другие языки. Рассматриваются практики уменьшения аллокаций, ускорения итераций и компиляции. Глава будет интересна тем, кто оптимизирует критические участки кода, разрабатывает вычислительно сложные алгоритмы или хочет использовать Rust как ускоряющий модуль в Python/JS-проектах.
Приложение. Установка инструментов
Приложение предлагает пошаговую инструкцию по установке всех необходимых инструментов для работы с кодом из книги. Описаны способы установки для macOS, Linux и Windows, работа с rustup, настройка компонентов и установка дополнительных утилит, таких как HTTPie. Это практическое завершение книги, позволяющее быстро подготовить рабочее окружение и перейти к практике.
Заключение Скриншоты:
Время раздачи: с 10.00 до 21.00 (минимум до появления первых 3-5 скачавших) |
|
|
|
|