English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 65 Lessons (10h 31m) | 883 MB
Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You’ll be learning Rust by delving into how computers work under the hood. You’ll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You’ll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you’ll go beyond the Rust syntax and see what Rust has to offer in real-world use cases.
Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust’s famously smart compiler helps you avoid even subtle coding errors.
Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. You’ll explore Rust implementations for file manipulation, networking, and kernel-level programming and discover awesome techniques for parallelism and concurrency. Along the way, you’ll master Rust’s unique borrow checker model for memory management without a garbage collector.
What’s inside
- Elementary to advanced Rust programming
- Practical examples from systems programming
- Command-line, graphical and networked applications
This well-written book will help you make the most of what Rust has to offer.
Ramnivas Laddad, author of AspectJ in Action
Table of Contents
1 Introducing Rust
2 A taste of the language
3 What does Rust look and feel like
4 Goal of Rust Safety
5 Rust’s big features
6 Where does Rust fit best
7 Part 1 Rust language distinctives
8 Language Foundations
9 Numbers
10 Floating-point hazards
11 Flow control
12 Defining functions
13 Creating grep-lite
14 Making lists of things with arrays, slices, and vectors
15 Including third-party code
16 Compound data types
17 Adding methods to a struct with impl
18 Making use of the Result return type
19 Implementing std fmt Display for your own types
20 Lifetimes, ownership, and borrowing
21 What is an owner Does it have any responsibilities
22 Duplicate the value
23 Part 2 Demystifying systems programming
24 Data in depth
25 Understanding endianness
26 Isolating the exponent
27 Fixed-point number formats
28 Implementing a CPU to establish that functions are also data
29 CPU RIA 3 The Caller
30 Memory
31 Exploring Rust’s reference and pointer types
32 Rust’s pointer ecosystem
33 The stack
34 The heap
35 What is dynamic memory allocation
36 Virtual memory
37 Translating virtual addresses to physical addresses
38 Files and storage
39 File operations in Rust
40 Actionkv v1 The front-end code
41 Validating I O errors with checksums
42 Creating a HashMap and populating it with values
43 Networking
44 Trait objects
45 TCP
46 Ergonomic error handling for libraries
47 MAC addresses
48 Time and timekeeping
49 Encoding time
50 clock v0.1.2 Setting the time
51 clock v0.1.3 Resolving differences between clocks with the Network Time Protocol (NTP)
52 Processes, threads, and containers
53 Reproducing the results
54 Single-threaded render-hex overview
55 Using a thread pool and task queue
56 Concurrency and task virtualization
57 Kernel
58 Source code listings
59 Writing to the screen with VGA-compatible text mode
60 fledgeos-3 Text output
61 Signals, interrupts, and exceptions
62 Signal handling
63 Global variables in Rust
64 Shutting down from deeply nested call stacks
65 Casting a pointer to another type
Resolve the captcha to access the links!