Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/implferris/learnrust
Rust Learning Resources
https://github.com/implferris/learnrust
learn-rust learning programming rust rust-lang rust-programming rust-tutorial
Last synced: 5 days ago
JSON representation
Rust Learning Resources
- Host: GitHub
- URL: https://github.com/implferris/learnrust
- Owner: ImplFerris
- Created: 2024-04-24T22:10:03.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-12-04T10:54:29.000Z (about 2 months ago)
- Last Synced: 2025-01-17T02:02:07.762Z (5 days ago)
- Topics: learn-rust, learning, programming, rust, rust-lang, rust-programming, rust-tutorial
- Homepage: https://implrust.com
- Size: 38.1 KB
- Stars: 1,491
- Watchers: 24
- Forks: 151
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# List of Resources to learn Rust - Roadmap From Beginner to Advanced Level
a curated collection of materials designed to assist learners at various stages of their journey with the Rust.
## 👶Level: Beginner
### Free Books
- **[The Rust Programming Language](https://doc.rust-lang.org/book/)** : Start your Rust journey with the book.
- **[Rust Development Classes](https://rust-classes.com/)**: Best way to learn Rust is by doing; The book is a collection of examples and exercises.
- **[The Rust Programming Language: Experimental Edition](https://rust-book.cs.brown.edu/)** : An experimental branch of the book that supports interactive features like quizzes. It also provides extended explanations of fundamental concepts such as ownership and async.
- **[Rust By Example](https://doc.rust-lang.org/rust-by-example/)** : Learn Rust with examples (Live code editor included)
- **[Free Rust course developed by the Android team at Google](https://google.github.io/comprehensive-rust/)**: The course is used internally at Google when teaching Rust to experienced software engineers. They typically have a background in C++ or Java. The course covers all aspects of Rust, from basic syntax to generics and error handling. It also includes deep dives on Android, Chromium, bare-metal, and concurrency.
- **[Yet Another Rust Resource (YARR!)](https://yet-another-rust-resource.pages.dev/introduction)** : Software engineers who know how to program in a high-level language but aren't familiar with lower-level programming and want to learn to write Rust quickly
- **[The Rust Book (Abridged)](https://jasonwalton.ca/rust-book-abridged/)** : condensed version of "The Rust Programming Language". If you're already familiar with one or more other programming languages, then you are likely already familiar with a lot of the concepts the book covers, and you might benefit from this shorter version.### Exercises
- **[Rustlings](https://github.com/rust-lang/rustlings)** : Small exercises to get you used to reading and writing Rust code!
- **[100 Exercises to Learn Rust](https://github.com/mainmatter/100-exercises-to-learn-rust)**: A self-paced course to learn Rust, one exercise at a time.
- **[5 Rust Project Ideas For Absolutely Beginner Devs](https://eleftheriabatsou.hashnode.dev/5-rust-project-ideas-for-absolutely-beginners-devs)** : 5 simple yet practical projects that will help you later in bigger projects
- **[Solve Advent of Code 2022 with Rust](https://fasterthanli.me/series/advent-of-code-2022)**: a series of programming challenges of increasing difficulty
- **[Rustfinity](https://www.rustfinity.com)** : Learn Rust by practice, from beginner-level exercises to advanced challenges### Videos
- **[Let's Get Rusty](https://www.youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8)** : Video series that go through the Rust lang book chapter by chapter
- **[Idiomatic Rust in Simple Steps (IRISS)](https://www.youtube.com/playlist?list=PLW2L8KbM0O7aRi_Bt4YE1JuW9EdMs0ztR)** : Step-by-step guide to learning Rust no programming knowledge required
- **[Learn Rust Programming - Complete Course 🦀 ](https://www.youtube.com/watch?v=BpPEoZW5IiY)** - By FreeCodeCamp
- **[Rust Crash Course Tutorial](https://www.youtube.com/playlist?list=PLPoSdR46FgI412aItyJhj2bF66cudB6Qs)** : This playlist is designed to guide you from the very basics of Rust to its most advanced features.
- **[Rust 101 Crash Course: Learn Rust (6 HOURS!) + 19 Practice Exercises](https://www.youtube.com/watch?v=lzKeecy4OmQ)** : You'll learn Rust from scratch and get to practice your new Rust programming skills with 19 practice exercises!
- **[Introduction to the series | Rust for Beginners](https://www.youtube.com/watch?v=PpWR6zungUk&list=PLlrxD0HtieHjbTjrchBwOVks_sr8EVW1x)** : You'll learn Rust from scratch by the team from Microsoft Developer!
## 🥷Level: Intermediate
### 🌐 Web Backend Development with Rust
- **[Rust Axum Full Course](https://www.youtube.com/watch?v=XZtlD_m59sM)** : Full Course for Axum: An Awesome Web Framework for Rust. Not too low-level, not too high-level, well-componentized, complete, and with great ergonomics.
- **[Build A Full Stack Chatbot in Rust (feat. Leptos & Rustformers)](https://youtu.be/vAjle3c9Xqc?si=uN1sM48VDOtBglNQ)** : A walkthrough of building a ChatGPT clone using Rust on the frontend and the backend. Quick introduction to the Leptos framework, Rustformers/llm, and open source language models.### Other Resources
- **[Introduction to "Safe and Secure Coding in Rust: A Comparative Analysis of Rust and C/C++"](https://luk6xff.github.io/other/safe_secure_rust_book/#introduction-to-safe-and-secure-coding-in-rust-a-comparative-analysis-of-rust-and-cc)**### Other Project based tutorials
- **[Solving distributed systems challenges in Rust](https://www.youtube.com/watch?v=gboGyccRVXI&t=1038s)** : In this stream we work through the fly.io distributed systems challenges (https://fly.io/dist-sys/) in Rust, and solve all the way up to challenge 3c.
- **[Learning to Fly series](https://pwy.io/posts/learning-to-fly-update-2024/)** : A beginner-friendly Rust tutorial combining evolution, neural network and genetic algorithm
- [**Create Vim like Editor in Rust**](https://www.youtube.com/playlist?list=PL9KpW-9Hl_het1V3_dLhG_0K99a9043ac): Create a TUI application using crossterm
- **[impl Rust playlist](https://www.youtube.com/playlist?list=PLqbS7AVVErFhAhQ5s9SWcvxHh4GwsIk_d)** : Different project based tutorials by Jon Gjengset including creating Git from scratch in Rust, BitTorrent client in Rust, Wordle solver in Rust- **[hecto: Build Your Own Text Editor in Rust](https://flenker.blog/hecto/)** : This is a series of blog posts that shows you how to build a text editor in Rust.
### Free Books
- **[The Little Book of Rust Macros](https://veykril.github.io/tlborm)** : This book is an attempt to distill the Rust community's collective knowledge of Rust macros, the Macros by Example ones as well as procedural macros(WIP).### Rust in Depth
- **[Decrusted Series by Jon Gjengset](https://www.youtube.com/playlist?list=PLqbS7AVVErFirH9armw8yXlE6dacF-A6z)**
- **[Crust of Rust Series by Jon Gjengset](https://www.youtube.com/playlist?app=desktop&list=PLqbS7AVVErFiWDOAVrPt7aYmnuuOLYvOa)**
## 🧙Level: Advanced
### Free Books
- **[Rust Atomics and Locks](https://marabos.nl/atomics/foreword.html)** : Provides an excellent overview of low-level concurrency
- **[Writing an OS in Rust](https://os.phil-opp.com/)** : Blog series creates a small operating system in the Rust
- **[Game development with Fyrox](https://fyrox-book.github.io/introduction.html)** : Fyrox, general purpose game engine that is suitable for any kind of games
- **[Build a Lua Interpreter in Rust](https://wubingzheng.github.io/build-lua-in-rust/en/)** : This series of articles introduces the implementation of a Lua interpreter from scratch in the Rust language### Tutorials
- **[Operating System development tutorials in Rust on the Raspberry Pi](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials)**
- **[Implementing TCP in Rust (part 1)](https://www.youtube.com/watch?v=bzja9fQWzdA)**
- **[Writing A Wasm Runtime In Rust](https://skanehira.github.io/writing-a-wasm-runtime-in-rust/01_intro.html)**
- **[Building a DNS server in Rust](https://github.com/EmilHernvall/dnsguide)**: A guide to writing a DNS Server from scratch in Rust
- **[Build your own SQLite](https://blog.sylver.dev/series/build-your-sqlite)**: Building SQLite-compatible database from scratch### Linux Development
- **[Linux Kernel Rust Development Environment](https://tomcat0x42.me/linux/rust/2023/04/01/linux-kernel-rust-dev-environment.html)**
- **[Linux Kernel Rust Modules](https://tomcat0x42.me/linux/rust/2023/04/07/linux-kernel-rust-modules.html)**
- **[Reading from my webcam on linux with v4l2 and rust](https://youtu.be/3t7Z34kHPjU?si=GEvfM40hTHy1OEZP)**
## Level: None
This section contains resources that might contain from beginner to advanced concepts.## Blog Posts
- **[Shuttle Blog Posts](https://www.shuttle.rs/blog/tags/all)**: Teaches different topics (might contain from beginner to advanced level concepts)
- **[Log Rocket Posts](https://blog.logrocket.com/tag/rust/)**
- **[Rust - Implementing SHA-1](https://www.thespatula.io/rust/rust_sha1/)**
- **[Rust - Base64 encoding and decoding](https://www.thespatula.io/rust/rust_base64/)**
- **[Rust - Implementing WebSockets](https://www.thespatula.io/rust/rust_websocket/)**## Reverse Engineering
- **[Rust Binary analysis, Feature By Feature](https://research.checkpoint.com/2023/rust-binary-analysis-feature-by-feature/)**
- **[Reverse Engineering Rustlang Binaries - A Series](https://brightprogrammer.netlify.app/post/reverse-engineering-rustlang-binaries-0x1-empty-program/)**## Curated List
- **[Embedded Rust](https://github.com/rust-embedded/awesome-embedded-rust)** : curated list of resources related to embedded and low-level programming## Rust Language Cheat Sheet
- **[Rust Language Cheat Sheet](https://cheats.rs/)**: A single-page Rust resource for people who like high information density
- **[SpeedSheet for Rust](https://speedsheet.io/s/rust)**: This is an interactive Rust cheat sheet. Covers the core Rust programming language. Use the search to get instant answers.
## Dark Arts of Rust
- **[The Rustonomicon](https://doc.rust-lang.org/nomicon/)**: The book digs into all the awful details that you need to understand when writing Unsafe Rust programs.## Youtube Channels on Rust
- [Jeremy Chone](https://youtube.com/@JeremyChone)
- [Lets Get Rusty](https://youtube.com/@letsgetrusty)
- [Jon Gjengset](https://youtube.com/@jonhoo)
- [The Rusty Bits](https://youtube.com/@therustybits)
- [Code to the Moon](https://youtube.com/@codetothemoon)
- [CoderSauce](https://www.youtube.com/@CoderSauce)
- [Brooks Builds](https://youtube.com/@BrooksBuilds)
- [No boilerplate](https://youtube.com/@NoBoilerplate)
- [Logan smith](https://youtube.com/@_noisecode)
- [Chris biscardi](https://www.youtube.com/@chrisbiscardi)
- [Tim clicks](https://youtube.com/@timClicks)
- [Dario](https://www.youtube.com/@dario.lencina)
- [sphaerophoria](https://www.youtube.com/@sphaerophoria)
- [Francesco Ciulla](https://youtube.com/@francescociulla)
- [Semicolon](https://www.youtube.com/@Semicolon10)