Book description
Design and implement professional-level programs by leveraging modern data structures and algorithms in Rust
Key Features
- Improve your productivity by writing more simple and easy code in Rust
- Discover the functional and reactive implementations of traditional data structures
- Delve into new domains of Rust, including WebAssembly, networking, and command-line tools
Book Description
Rust is a powerful language with a rare combination of safety, speed, and zero-cost abstractions. This Learning Path is filled with clear and simple explanations of its features along with real-world examples, demonstrating how you can build robust, scalable, and reliable programs.
You'll get started with an introduction to Rust data structures, algorithms, and essential language constructs. Next, you will understand how to store data using linked lists, arrays, stacks, and queues. You'll also learn to implement sorting and searching algorithms, such as Brute Force algorithms, Greedy algorithms, Dynamic Programming, and Backtracking. As you progress, you'll pick up on using Rust for systems programming, network programming, and the web. You'll then move on to discover a variety of techniques, right from writing memory-safe code, to building idiomatic Rust libraries, and even advanced macros.
By the end of this Learning Path, you'll be able to implement Rust for enterprise projects, writing better tests and documentation, designing for performance, and creating idiomatic Rust code.
This Learning Path includes content from the following Packt products:
- Mastering Rust - Second Edition by Rahul Sharma and Vesa Kaihlavirta
- Hands-On Data Structures and Algorithms with Rust by Claus Matzinger
What you will learn
- Design and implement complex data structures in Rust
- Create and use well-tested and reusable components with Rust
- Understand the basics of multithreaded programming and advanced algorithm design
- Explore application profiling based on benchmarking and testing
- Study and apply best practices and strategies in error handling
- 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
If you are already familiar with an imperative language and now want to progress from being a beginner to an intermediate-level Rust programmer, this Learning Path is for you. Developers who are already familiar with Rust and want to delve deeper into the essential data structures and algorithms in Rust will also find this Learning Path useful.
Table of contents
- Title Page
- Copyright
- 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
- Lists, Lists, and More Lists
- Robust Trees
- Exploring Maps and Sets
- Collections in Rust
- Algorithm Evaluation
- Ordering Things
- Finding Stuff
- Random and Combinatorial
- Algorithms of the Standard Library
- Other Books You May Enjoy
Product information
- Title: The Complete Rust Programming Reference Guide
- Author(s):
- Release date: May 2019
- Publisher(s): Packt Publishing
- ISBN: 9781838828103
You might also like
book
Rust Programming Cookbook
Practical solutions to overcome challenges in creating console and web applications and working with systems-level and …
book
Rust Web Programming - Second Edition
Use the Rust programming language to build fully functional web applications with async Rust to amplify …
book
Rust Web Programming
Adopt the Rust programming language by learning how to build fully functional web applications and services …
book
Practical System Programming for Rust Developers
Explore various Rust features, data structures, libraries, and toolchain to build modern systems software with the …