Learn Rust by Building Real Applications
What you’ll learn
The fundamentals of the Rust Programming Language
Low level memory management
Rust’s unique approach to memory safety
How to troubleshoot common compiler errors
Requirements
Basic Computer Science Knowledge
Experience in at least one other programming language
Description
You have probably heard of the Rust Programming Language – a modern systems language that is blazingly fast, guarantees memory safety without the use of a garbage collector and most importantly is fun to write. It has a great community and excellent tooling. These are just some of the reasons why Rust was voted the most loved programming language for five years in a row. Rust is the proof that systems programmers can have nice things.In this course you will learn the fundamentals of Rust. The format will be a bit different than most other courses. Instead of jumping between unrelated concepts in every video and showing examples that have nothing to do with the real world use of the language, we will learn entirely through practice. Together we will build real Rust applications and introduce new concepts when we need them to solve actual problems.To start there will be a short theoretical section on low level memory management.Then to introduce the basics of Rust we will build a simple command line application. This will provide us with the necessary knowledge to tackle a much larger project.For our big project we will build a working HTTP server from scratch. We will write our custom implementation of the HTTP protocol and we will build a functioning web server with it. This will let us introduce all of the fundamental and some advanced features of the Rust language.
Overview
Section 1: Getting Started
Lecture 1 Course Introduction
Lecture 2 What is Rust
Lecture 3 Installing Rust
Lecture 4 Setting Up the Development Environment
Lecture 5 Cargo
Section 2: Manual Memory Management
Lecture 6 Code for this section
Lecture 7 Introduction
Lecture 8 The Stack
Lecture 9 The Heap
Lecture 10 Smart Pointers
Lecture 11 Explore the Memory Layout in GDB
Section 3: Building a Command Line Application
Lecture 12 Code for this section
Lecture 13 Introduction
Lecture 14 Basic Data Types
Lecture 15 Functions
Lecture 16 Macros
Lecture 17 Mutability
Lecture 18 The Standard Library
Lecture 19 Ownership
Lecture 20 References and Borrowing
Lecture 21 Explore the Ownership and Borrowing in GDB
Lecture 22 Finishing Touches
Section 4: Building a HTTP Server From Scratch
Lecture 23 Code for this section
Lecture 24 Introduction
Lecture 25 The HTTP Protocol and the Architecture of Our Server
Lecture 26 Structs
Lecture 27 Strings
Lecture 28 Enums
Lecture 29 The Option Enum
Lecture 30 Organising Our Code into Modules
Lecture 31 Listening for TCP Connections
Lecture 32 The Result Enum
Lecture 33 Loops
Lecture 34 Tuples
Lecture 35 The Match Expression
Lecture 36 Arrays
Lecture 37 Logging the Incoming Requests to the Console
Lecture 38 Traits and Type Conversions
Lecture 39 Custom Errors
Lecture 40 Advanced Error Handling
Lecture 41 Iterating Over Strings
Lecture 42 Converting an Option into a Result
Lecture 43 Parsing Values From Strings
Lecture 44 The “If Let” Expression
Lecture 45 Lifetimes – Part 1
Lecture 46 Lifetimes – Part 2
Lecture 47 Silencing Compiler Warnings
Lecture 48 Representing the Query String Using a Hash Map – Part 1
Lecture 49 Representing the Query String Using a Hash Map – Part 2
Lecture 50 The Derive Attribute
Lecture 51 Modelling the HTTP Response
Lecture 52 Copy and Clone Types
Lecture 53 Writing Data to a TCP Stream
Lecture 54 Dynamic vs Static Dispatch
Lecture 55 Custom Traits
Lecture 56 Implementing Getters
Lecture 57 Routing Incoming Requests
Lecture 58 Working with Environment Variables
Lecture 59 Serving HTML Files
Lecture 60 Serving Arbitrary Files Securely
Lecture 61 Next Steps
Developers interested in a safe systems programming language
Course Information:
Udemy | English | 6h 31m | 2.01 GB
Created by: Lyubomir Gavadinov
You Can See More Courses in the Developer >> Greetings from CourseDown.com