Learn Rust by Building Real Applications

Fundamentals of the Rust Programming Language
Learn Rust by Building Real Applications
File Size :
2.01 GB
Total length :
6h 31m



Lyubomir Gavadinov


Last update




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

Learn Rust by Building Real Applications


Basic Computer Science Knowledge
Experience in at least one other programming language


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.


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

New Courses

Scroll to Top