Ultimate Rust: Foundations

Ultimate Rust: Foundations

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 76 Lessons (17h 53m) | 8.33 GB

The Ultimate Rust Foundations class starts with an introduction to Rust, and why you benefit from using – both as a foundation, and within your existing ecosystem.

Course Outline

  • Rust includes Cargo, a swiss-army knife tool that can:
  • Using Rust without Cargo
  • Rust’s Safety Guarantees
  • “Hello World” application – the foundation of most languages.
  • Arrays, vectors and slices.
  • Strict types and strong typing.
  • Serializing and De-Serializing data.
  • Iterative Programming – using iterators to combine operations.
  • Working with Strings
  • Protection from data races
  • Easy multi-threaded concurrency with Rayon
  • Ultimate control with raw threads
  • High-performance Input/Output with Asynchronous design and Tokio.
  • Build a CPU bound program with Rayon, and use all of your CPU power.
  • Manage raw-threads and shared data.
  • Spin up a simple server in 10 minutes.
  • The classic Object-Oriented Programming example of different objects printing different text – but with traits.
  • Designing a simple generic function with ToString.
  • Stacked traits – traits that depend upon one another, combined with generic programming.
Table of Contents

1 Introduction
2 Setup & Update Rust
3 Setup Dev Environment
4 IDE Configuration
5 Rust Fundamentals
6 Console Text Input
7 Create a Library
8 Worldвs Simplest Login System
9 Enumerations
10 Structures
11 Vectors
12 HashMaps
13 Serialization/Deserialization
14 Hashing Passwords
15 Start a CLI App
16 Introduction
17 System Threads: Overview
18 Create Your First Thread
19 Spawning Threads with Parameters and Closures
20 Returning Data from Threads
21 Dividing Workloads
22 The ThreadBuilder Pattern
23 Scoped Threads for Easy Local Data Sharing
24 Sharing Data with Atomics
25 Sharing Data with Mutexes
26 Read/Write Locks
27 Deadlocks, Panics and Poisoning
28 Sharing Data with Lock-Free Structures
29 Parking Threads
30 Sending Data Between Threads with Channels
31 Sending Functions to Worker Threads
32 Letвs build a work queue with a thread pool
33 Thread CPU/Core Affinity
34 Thread Priority
35 Making it Easy with Rayon
36 Scopes and Pooled Threads with Rayon
37 Introduction / Async Overview
38 Hello Async/Await
39 Getting Started with Tokio
40 Working with Tokio Futures: Awaiting, Yielding and Spawning
41 Blocking Tasks
42 Unit Testing Tokio
43 Handling Errors
44 File I/O
45 Basic Network I/O
46 Async Channels (Tokio)
47 Shared State (Tokio)
48 Selecting Futures
49 Pinning
50 Tokio Tracing
51 Working with Databases
52 Axum – A Web Framework built on Tokio
53 Letвs Build a Thumbnail Server
54 Why Havenвt We Manually Managed Any Memory Yet?
55 The unsafe Keyword
56 Low-Level Memory Management
57 The Drop Trait & RAII (Resource Acquisition is Initialization)
58 Reference Counting
59 Lifetimes
60 Traits
61 Generics
62 Iterators
63 Cycles and the Difficulty of Linked Lists
64 Memory Fragmentation, Allocators and Arenas
65 Packing, Reordering & Mangling
66 From Bytes to Types
67 Safely Interacting with Other Languages & Surprise: Memory Leaks are Safe!
68 Introduction & Planning Our Project
69 Shared Data Structures
70 Collection Daemon Mk 1
71 Collection Server Mk 1
72 Error Handling in the Collector
73 Setting the Collector ID
74 Web Service Mk 1
75 Web Server
76 Letвs Use Less Bandwidth

Homepage