Learn Rust by Building Real Applications

Fundamentals of the Rust Programming Language

4.53 (3905 reviews)
Udemy
platform
English
language
Programming Languages
category
21,441
students
6.5 hours
content
Jul 2020
last update
$94.99
regular price

What you will 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

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.



Content

Getting Started

Course Introduction
What is Rust
Installing Rust
Setting Up the Development Environment
Cargo

Manual Memory Management

Code for this section
Introduction
The Stack
The Heap
Smart Pointers
Explore the Memory Layout in GDB
Memory Management

Building a Command Line Application

Code for this section
Introduction
Basic Data Types
Functions
Macros
Mutability
The Standard Library
Ownership
References and Borrowing
Explore the Ownership and Borrowing in GDB
Finishing Touches
Rust Basics

Building a HTTP Server From Scratch

Code for this section
Introduction
The HTTP Protocol and the Architecture of Our Server
Structs
Strings
Enums
The Option Enum
Organising Our Code into Modules
Listening for TCP Connections
The Result Enum
Loops
Tuples
The Match Expression
Arrays
Logging the Incoming Requests to the Console
Traits and Type Conversions
Custom Errors
Advanced Error Handling
Iterating Over Strings
Converting an Option into a Result
Parsing Values From Strings
The "If Let" Expression
Lifetimes - Part 1
Lifetimes - Part 2
Lifetimes
Silencing Compiler Warnings
Representing the Query String Using a Hash Map - Part 1
Representing the Query String Using a Hash Map - Part 2
The Derive Attribute
Modelling the HTTP Response
Copy and Clone Types
Writing Data to a TCP Stream
Dynamic vs Static Dispatch
Custom Traits
Implementing Getters
Routing Incoming Requests
Working with Environment Variables
Serving HTML Files
Serving Arbitrary Files Securely
Final Quiz
Next Steps

Screenshots

Learn Rust by Building Real Applications - Screenshot_01Learn Rust by Building Real Applications - Screenshot_02Learn Rust by Building Real Applications - Screenshot_03Learn Rust by Building Real Applications - Screenshot_04

Reviews

Chris
November 14, 2023
I really like the way the instructor goes through content. The pacing and presentation are awesome. There are sometimes even cliffhangers at the end of sections.
Sayandip
November 13, 2023
It was not a course with toy examples, it really used it in real application and clearly showed the motivation behind rust language design. Really appreciate the effort! Thanks!
Mike
November 4, 2023
It's really great. His explanations of fairly complex or new concepts are great. Unfortunately, the code itself seems smaller and less significant than I was hoping. I understand it is a beginner level, but the code is so simple that I'm afraid I cannot directly go and start making anything in Rust with just this course.
Evan
October 24, 2023
Explained topics in an extremely easy to understand manner. I learned things that I thought I knew but actually didn't know!
Bruce
April 30, 2023
This was a great course. I had worked through The Rust Programming Language book, which is also great, but I needed more practice and practical experience. This served as a great review and opportunity to extend what I had already learned. The instructor has well designed projects that illustrate how to use Rust effectively.
Valentin-Florin
April 29, 2023
If you did not understand Memory Management, just please follow Section 2 of this course. Many thanks for this!
Rick
April 15, 2023
I'm really enjoying this course. I think this might be the third Udemy course I've tried, and this one is superior in every way. Great presentation, great pacing, wonderful insights from the presenter.
Martin
April 15, 2023
Very clear explanation of the borrow checker. Good examples to get a good understanding at an early stage
José
April 14, 2023
Sim, esperava um curso que ao mesmo tempo que mostra uma implmentação real de um programa em Rust, também ensina o básico e as principais características da linguagem.
András
April 13, 2023
The course does exactly what it tells you it will do from the start. It was a great match for me, as someone with some previous amateur programming experience (lot of Python, a little C) who has been trying to get into Rust. As an added bonus, this course probably has the best explanation of Rust's memory management that I've seen so far.
Hector
April 12, 2023
In addition to building something userful, the instructor is explaining the concepts behind what they are doing for the learner's benefit. What is nice is that he demonstrates one way of doing something and then refactors to use more idiomatic Rust.
Valentina
March 29, 2023
I think the teacher explains so good, and for me the projects are really cool, but I also thinks this course is not meant to be for a person that does not have any knowledge abour rust. I think that if you want to take this course you should have a basic knowledge about the language.
Ariel
March 25, 2023
A looooooot of information explained in layman's terms. At least form the perspective of someone with, not much, but some experience with c++.
Joshua
March 10, 2023
At some points during the course I felt as if the instructor was also learning. The instructor seems like a strong programmer with experience in a C-based language or something similar. Occasionally it was difficult to follow coming from the javascript/typescript world. Still struggling to thoroughly understand borrowing, ownership and lifetimes. Overall it was a good course.
Aditya
March 10, 2023
GREAT course !! Thanks ! As recommended in the last lecture, asynchronous rust could have been 'touched' in a few more lectures.

Charts

Price

Learn Rust by Building Real Applications - Price chart

Rating

Learn Rust by Building Real Applications - Ratings chart

Enrollment distribution

Learn Rust by Building Real Applications - Distribution chart
2757066
udemy ID
1/13/2020
course created date
7/21/2020
course indexed date
Bot
course submited by