Mahmoud Harmouch
SKU: 9788196994730
ISBN: 9788196994730
eISBN: 9788196994716
Rights: Worldwide
Author Name: Mahmoud Harmouch
Publishing Date: 20-March-2024
Dimension: 7.5*9.25 Inches
Binding: Paperback
Page Count: 740
Building Tomorrow's Systems Today the Rust Way
Key Features
Learn how to use Rust libraries effectively for various applications and projects.
Go from basics to advanced systembuilding skills for stronger and more reliable outcomes.
Secure your Rust applications confidently with expert tips for enhanced protection.
Book Description
This book is your guide to mastering Rust programming, equipping you with essential skills and insights for efficient system programming. It starts by introducing Rust's significance in the system programming domain and highlighting its advantages over traditional languages like C/C++. You'll then embark on a practical journey, setting up Rust on various platforms and configuring the development environment. From writing your first "Hello, World!" program to harness the power of Rust's package manager, Cargo, the book ensures a smooth initiation into the language.
Delving deeper, the book covers foundational concepts, including variables, data types, control flow, functions, closures, and crucial memory management aspects like ownership, borrowing, and lifetimes. Special attention is given to Rust's strict memory safety guarantees, guiding you in writing secure code with the assistance of the borrow checker.
The book extends its reach to Rust collections, errorhandling techniques, and the complexities of concurrency management. From threads and synchronization primitives like Mutex and RwLock to asynchronous programming with async/await and the Tokio library, you'll gain a comprehensive understanding of Rust's capabilities. This book covers it all.
What you will learn
Learn how to set up the Rust environment effortlessly, ensuring a streamlined development process.
Explore advanced concepts in Rust, including traits, generics, and various collection types, expanding your programming expertise.
Master effective errorhandling techniques, empowering you to create custom error types for enhanced code robustness.
Tackle the complexities of memory management, smart pointers, and delve into the complexities of concurrency in Rust.
Gain handson experience by building commandline utilities, sharpening your practical skills in realworld scenarios.
Master the use of iterators and closures, ensuring code reliability through comprehensive unit testing practices.
WHO IS THIS BOOK FOR?
This book is tailored for aspiring programmers, software developers, system engineers, and computer scientists looking to dive into system programming with Rust. It caters to a broad spectrum of individuals and professionals interested in leveraging Rust's power to build robust and efficient applications. While no prior experience with Rust is necessary, a basic understanding of programming concepts and familiarity with at least one programming language would be beneficial.
2. Basics of Rust
3. Traits and Generics
4. Rust BuiltIn Data Structures
5. Error Handling and Recovery
6. Memory Management and Pointers
7. Managing Concurrency
8. Command Line Programs
9. Working with Devices I/O in Rust
10. Iterators and Closures
11. Unit Testing in Rust
12. Network Programming
13. Unsafe Coding in Rust
14. Asynchronous Programming
15. Web Assembly with Rust
Index
Mahmoud is a resultsdriven software engineer with an impressive range of skills. He is an experienced fullstack developer and data scientist with a proven track record of delivering topnotch software products and services on time and within budget. Mahmoud's passion for coding ignited during his college days, and it continues to burn brightly today. Crafting clean code and tackling challenging algorithms bring him immense joy and fulfillment.
Mahmoud's expertise spans various programming languages and frameworks, including Python, C#, Java, Rust, and C/C++. He stands out with proficiency in FastAPI, Django, NodeJS, Yew, and ReactJS. His technical writing style makes complex information easy to understand through clear and concise documentation. Equipped with qualifications equivalent to a Master's degree in Electrical Engineering from The Lebanese University, his skill set becomes even more impressive.
Mahmouds excellent technical writing skills coupled with his passion for nurturing longterm client relationships make him adept at delivering sustainable software solutions to solve business problems effectively.
Outside of his professional life, Mahmoud enjoys spending time with his loved ones. Whether participating in outdoor activities like biking and hiking in the mountains near his home or immersing himself in a good read, he finds joy in every aspect of life.
____________________________________________________________________________________________
____________________________________________________________________________________________
Arman Riazi holds an M.Sc and offers Web3 services and solutions based on DeSci.
As a practitioner and counselor in the realm of Web3, Arman possesses a deep understanding and expertise in this domain. He is invigorated by the opportunity to actualize your objectives, and his approach revolves around constructing solutions written in the Rust language.
With an extensive background in creating and delivering products at the executive level, Arman has acquired valuable experience in this realm.
He espouses the belief that contemporary society offers ample opportunities for individuals to acquire knowledge and attain higher education. However, cultivating an engineering mindset necessitates diverse interactions, including experiential learning and selfawareness. Arman encourages aspiring professionals to explore other fields of study and engage with relevant books, fostering an openminded perspective and providing valuable insights. These activities equip individuals with the ability to perpetually learn, withstand challenges, and overcome obstacles, even in the face of arduous circumstances and substantial setbacks. These attributes distinguish mentees from elite practitioners, contributing to their continuous success and prosperity in their respective roles.