Product details
- Publisher : Packt Publishing (December 24, 2020)
- Language : English
- Paperback : 388 pages
- ISBN-10 : 1800560966
- ISBN-13 : 978-1800560963
کتاب Practical System Programming for Rust Developers: Build fast and secure software for Linux/Unix systems with the help of practical examples
Explore various Rust features, data structures, libraries, and toolchain to build modern systems software with the help of hands-on examples
Key Features
- Learn techniques to design and build system tools and utilities in Rust
- Explore the different features of the Rust standard library for interacting with operating systems
- Gain an in-depth understanding of the Rust programming language by writing low-level software
Book Description
Modern programming languages such as Python, JavaScript, and Java have become increasingly accepted for application-level programming, but for systems programming, C and C++ are predominantly used due to the need for low-level control of system resources. Rust promises the best of both worlds: the type safety of Java, and the speed and expressiveness of C++, while also including memory safety without a garbage collector. This book is a comprehensive introduction if you're new to Rust and systems programming and are looking to build reliable and efficient systems software without C or C++.
The book takes a unique approach by starting each topic with Linux kernel concepts and APIs relevant to that topic. You'll also explore how system resources can be controlled from Rust. As you progress, you'll delve into advanced topics. You'll cover network programming, focusing on aspects such as working with low-level network primitives and protocols in Rust, before going on to learn how to use and compile Rust with WebAssembly. Later chapters will take you through practical code examples and projects to help you build on your knowledge.
By the end of this Rust programming book, you will be equipped with practical skills to write systems software tools, libraries, and utilities in Rust.
What you will learn
- Gain a solid understanding of how system resources are managed
- Use Rust confidently to control and operate a Linux or Unix system
- Understand how to write a host of practical systems software tools and utilities
- Delve into memory management with the memory layout of Rust programs
- Discover the capabilities and features of the Rust Standard Library
- Explore external crates to improve productivity for future Rust programming projects
Who this book is for
This book is for developers with basic knowledge of Rust but little to no knowledge or experience of systems programming. System programmers who want to consider Rust as an alternative to C or C++ will also find this book useful.
Table of Contents
- Tools of the Trade – Rust Toolchains and Project Structures
- A Tour of the Rust Programming Language
- Introduction to Rust Standard Library
- Managing Environment, Command Line, and Time
- Memory Management in Rust
- Working with Files and Directories in Rust
- Implementing Terminal I/O in Rust
- Working with Processes and Signals
- Managing Concurrency
- Working with Device I/O
- Learning Network Programming
- Writing Unsafe Rust and FFI
منابع کتاب کتاب Practical System Programming for Rust Developers: Build fast and secure software for Linux/Unix systems with the help of practical examples
ویژگی های مختلف Rust، ساختارهای داده، کتابخانه ها و زنجیره ابزار را برای ساختن نرم افزار سیستم های مدرن با کمک مثال های عملی کاوش کنید.
ویژگی های کلیدی
- تکنیک های طراحی و ساخت ابزارها و ابزارهای سیستمی در Rust را بیاموزید
- ویژگی های مختلف کتابخانه استاندارد Rust را برای تعامل با سیستم عامل ها بررسی کنید
- با نوشتن نرم افزارهای سطح پایین، درک عمیقی از زبان برنامه نویسی Rust به دست آورید
توضیحات کتاب
زبان های برنامه نویسی مدرن مانند پایتون، جاوا اسکریپت و جاوا به طور فزاینده ای برای برنامه نویسی در سطح برنامه پذیرفته شده اند، اما برای برنامه نویسی سیستمی، به دلیل نیاز به کنترل سطح پایین منابع سیستم، بیشتر از C و C++ استفاده می شود. Rust بهترینهای هر دو دنیا را نوید میدهد: نوع ایمنی جاوا، سرعت و بیان C++، در حالی که شامل ایمنی حافظه بدون زبالهگیر است. اگر در برنامه نویسی Rust و سیستم ها تازه کار هستید و به دنبال ساختن نرم افزار سیستمی قابل اعتماد و کارآمد بدون C یا C++ هستید، این کتاب یک مقدمه جامع است.
این کتاب با شروع هر موضوع با مفاهیم هسته لینوکس و APIهای مرتبط با آن موضوع، رویکردی منحصر به فرد دارد. شما همچنین خواهید دید که چگونه منابع سیستم را می توان از Rust کنترل کرد. با پیشرفت، به موضوعات پیشرفته می پردازید. قبل از یادگیری نحوه استفاده و کامپایل Rust با WebAssembly، برنامه نویسی شبکه را با تمرکز بر جنبه هایی مانند کار با پروتکل های اولیه و پروتکل های شبکه سطح پایین در Rust پوشش خواهید داد. فصلهای بعدی شما را با نمونههای کد عملی و پروژهها آشنا میکنند تا به شما در ایجاد دانش خود کمک کنند.
با پایان این کتاب برنامه نویسی Rust، شما به مهارت های عملی برای نوشتن ابزارهای نرم افزاری سیستمی، کتابخانه ها و ابزارهای کاربردی در Rust مجهز خواهید شد.
آنچه خواهید آموخت
- درک کاملی از نحوه مدیریت منابع سیستم به دست آورید
- از Rust با اطمینان برای کنترل و راه اندازی یک سیستم لینوکس یا یونیکس استفاده کنید
- نحوه نوشتن مجموعه ای از ابزارها و ابزارهای نرم افزاری کاربردی سیستم ها را بدانید
- با چیدمان حافظه برنامه های Rust به مدیریت حافظه بپردازید
- قابلیت ها و ویژگی های کتابخانه استاندارد Rust را کشف کنید
- جعبه های خارجی را برای بهبود بهره وری برای پروژه های برنامه نویسی Rust در آینده کاوش کنید
این کتاب برای چه کسی است
این کتاب برای توسعه دهندگانی است که دانش اولیه Rust را دارند اما دانش یا تجربه کمی در مورد برنامه نویسی سیستم دارند. برنامه نویسان سیستمی که می خواهند Rust را به عنوان جایگزینی برای C یا C++ در نظر بگیرند نیز این کتاب را مفید خواهند یافت.
فهرست مطالب
- ابزارهای تجارت - زنجیر ابزار زنگ زده و ساختارهای پروژه
- گشتی در زبان برنامه نویسی Rust
- مقدمه ای بر کتابخانه استاندارد Rust
- مدیریت محیط، خط فرمان و زمان
- مدیریت حافظه در Rust
- کار با فایل ها و دایرکتوری ها در Rust
- پیاده سازی ترمینال I/O در Rust
- کار با فرآیندها و سیگنال ها
- مدیریت همزمانی
- کار با Device I/O
- آموزش برنامه نویسی شبکه
- نوشتن زنگ ناامن و FFI
ارسال نظر درباره کتاب Practical System Programming for Rust Developers: Build fast and secure software for Linux/Unix systems with the help of practical examples