Refactoring to Rust / Рефакторинг в Rust
Год издания: 2025
Автор: Mara Lily, Holmes Joel / Мара Лили, Холмс Джоэл
Издательство: Manning Publications Co.
ISBN: 978-1-6172-9901-8
Язык: Английский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 304
Описание: Get the speed and reliability of Rust libraries, functions, and high-performance features through incremental adoption without rewriting your codebase from scratch.
In Refactoring to Rust you will learn to:
• Create Rust libraries you can call from other programming languages
• Integrate Rust functions with code in other languages
• Use Rust’s ownership and borrowing system to write high performance code
• Handle errors as values using Rust’s enums
• Minimize unnecessary memory usage with Rust’s multiple string types
• Boost performance with Rust concurrency and async event processing
• Create Rust HTTP services
Refactoring to Rust teaches you how to take advantage of Rust’s easy-to-use interoperating mechanisms. Learn practical code-mixing techniques like embedding Rust libraries into apps written in other languages. This practical guide emphasises techniques for incrementally refactoring performance-critical code to Rust while keeping the rest of your application in its original language.
About the technology
Incremental refactoring to Rust lets you upgrade your key functionalities without needing to start from scratch. These small changes are a great way to introduce Rust, and immediately ramp up your program’s speed and stability.
About the book
Refactoring to Rust teaches you to combine your favorite programming language with high-performance Rust code. Author Lily Mara introduces Rust in her easy-to-read style, clearly explaining the language’s unique syntax and concepts. You’ll augment programs with Rust hands-on with approachable examples like solving FizzBuzz with Rust’s pattern matching and gaining enormous runtime speedups to Python code. When you’re done, you’ll have mastered techniques for building Rust plugins you can apply to all kinds of existing software, from games to data tools.
About the reader
For intermediate programmers. No Rust experience required.
About the author
Lily Mara is a Senior Software Engineer at OneSignal, where she writes high-performance Rust code full time. She has been using Rust since before the release of version 1.0, and has created multiple Rust libraries designed to be integrated into existing production applications.
Joel Holmes is a software developer who has been focused on building cloud native applications. He has worked at several start-ups helping architect, design, and develop new products and services to help those companies develop and grow. Along the way, he was able to help establish tools and processes that helped development and increase quality. He lives in Pittsburgh with his family and currently works building cloud applications at Thoro.ai.
Обеспечьте скорость и надежность библиотек, функций и высокопроизводительных возможностей Rust за счет постепенного внедрения, не переписывая кодовую базу с нуля.
При рефакторинге в Rust вы научитесь:
• Создавать библиотеки Rust, которые можно вызывать из других языков программирования.
• Интегрируйте функции Rust с кодом на других языках
• Используйте систему владения и заимствования Rust для написания высокопроизводительного кода
• Обрабатывайте ошибки в виде значений с помощью перечислений Rust
• Минимизируйте ненужное использование памяти с помощью нескольких типов строк Rust
• Повышайте производительность благодаря параллелизму Rust и асинхронной обработке событий
• Создайте HTTP-сервисы Rust
При рефакторинге в Rust вы узнаете, как использовать простые в использовании механизмы взаимодействия Rust. Изучите практические приемы смешивания кода, такие как встраивание библиотек Rust в приложения, написанные на других языках. В этом практическом руководстве рассматриваются методы поэтапного рефакторинга кода, критически важного для производительности, в Rust, при сохранении остальной части вашего приложения на языке оригинала.
О технологии
Постепенный рефакторинг в Rust позволяет обновить ключевые функциональные возможности без необходимости начинать с нуля. Эти небольшие изменения - отличный способ внедрить Rust и сразу же повысить скорость и стабильность работы вашей программы.
О книге
Рефакторинг на Rust научит вас сочетать ваш любимый язык программирования с высокопроизводительным кодом на Rust. Автор Лили Мара представляет Rust в своем удобном для чтения стиле, доходчиво объясняя уникальный синтаксис и концепции языка. Вы сможете дополнить программы с помощью Rust практическими примерами, такими как решение проблемы FizzBuzz с помощью Rust pattern matching и значительное ускорение выполнения кода на Python. Когда вы закончите, вы освоите методы создания плагинов для Rust, которые сможете применять ко всем видам существующего программного обеспечения, от игр до инструментов обработки данных.
О читателе
Для программистов среднего уровня. Опыт работы с Rust не требуется.
Об авторе
Лили Мара - старший инженер-программист в OneSignal, где она постоянно пишет высокопроизводительный Rust-код. Она использовала Rust еще до выхода версии 1.0 и создала несколько библиотек Rust, предназначенных для интеграции в существующие производственные приложения.
Джоэл Холмс (Joel Holmes) - разработчик программного обеспечения, специализирующийся на создании облачных приложений. Он работал в нескольких стартапах, помогая проектировать и разрабатывать новые продукты и сервисы, чтобы помочь этим компаниям развиваться и расти дальше. Попутно он смог помочь в создании инструментов и процессов, которые способствовали разработке и повышению качества. Он живет в Питтсбурге со своей семьей и в настоящее время работает над созданием облачных приложений в компании Thoro.ai.
Примеры страниц (скриншоты)
Оглавление
1 ■ Why refactor to Rust 1
2 ■ An overview of Rust 15
3 ■ Introduction to C FFI and unsafe Rust 60
4 ■ Advanced FFI 93
5 ■ Structuring Rust libraries 138
6 ■ Integrating with dynamic languages 164
7 ■ Testing your Rust integrations 187
8 ■ Asynchronous Python with Rust 212
9 ■ WebAssembly for refactoring JavaScript 229
10 ■ WebAssembly interface for refactoring 249