Book description
Become proficient in designing, developing and deploying effective software systems using the advanced constructs of Rust
Key Features
- Improve your productivity using the latest version of Rust and write simpler and easier code
- Understand Rust's immutability and ownership principle, expressive type system, safe concurrency
- Deep dive into the new doamins of Rust like WebAssembly, Networking and Command line tools
Book Description
Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust ? Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
- Write generic and type-safe code by using Rust's powerful type system
- How memory safety works without garbage collection
- Know the different strategies in error handling and when to use them
- Learn how to use concurrency primitives such as threads and channels
- Use advanced macros to reduce boilerplate code
- Create efficient web applications with the Actix-web framework
- Use Diesel for type-safe database interactions in your web application
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
-
Getting Started with Rust
- What is Rust and why should you care?
- Installing the Rust compiler and toolchain
- A tour of the language
- Exercise – fixing the word counter
- Summary
- Managing Projects with Cargo
- Tests, Documentation, and Benchmarks
- Types, Generics, and Traits
- Memory Management and Safety
- Error Handling
- Advanced Concepts
- Concurrency
-
Metaprogramming with Macros
- What is metaprogramming?
- When to use and not use Rust macros
- Macros in Rust and their types
- Creating your first macro with macro_rules!
- Built-in macros in the standard library
- macro_rules! token types
- Repetitions in macros
- A more involved macro – writing a DSL for HashMap initialization
- Macro use case – writing tests
- Exercises
- Procedural macros
- Derive macros
- Debugging macros
- Useful procedural macro crates
- Summary
- Unsafe Rust and Foreign Function Interfaces
- Logging
- Network Programming in Rust
- Building Web Applications with Rust
- Interacting with Databases in Rust
- Rust on the Web with WebAssembly
- Building Desktop Applications with Rust
- Debugging
- Other Books You May Enjoy
Product information
- Title: Mastering Rust - Second Edition
- Author(s):
- Release date: January 2019
- Publisher(s): Packt Publishing
- ISBN: 9781789346572
You might also like
book
Rust Atomics and Locks
The Rust programming language is extremely well suited for concurrency, and its ecosystem has many libraries …
book
Hands-on Rust
Rust is an exciting new programming language combining the power of C with memory safety, fearless …
video
Hands-On Systems Programming with Rust
Scripting languages will provide safety, but not concurrency and speed, while traditional systems programming languages such …
book
Command-Line Rust
Updated in 2024: A new version has been released that simplifies the programs used in the …