https://doc.rust-lang.org/book/
- ✅ Getting Started
- ✅ Programming a Guessing Game
- 🔄 Common Programming Concepts
- ✅ Variables and Mutability
- ✅ Data types
- 🔄 Functions
- Comments
- Control flow
- Understanding Ownership
- Using Structs to Structure Related Data
- Enums and Pattern Matching
- Packages, Crates, and Modules
- Common Collections
- Error Handling
- Generic Types, Traits, and Lifetimes
- Writing Automated Tests
- An I/O Project: Building a Command Line Program
- Functional Language Features: Iterators and Closures
- More about Cargo and Crates.io
- Smart Pointers
- Fearless Concurrency
- Fundamentals of Asynchronous Programming: Async, Await, Futures, and Streams
- Object Oriented Programming Features
- Patterns and Matching
- Advanced Features
- Final Project: Building a Multithreaded Web Server
-
https://exercism.org/tracks/rust (easy category)
- https://tokio.rs/
- https://github.com/yewstack/yew?target=https://github.com
- https://github.com/rwf2/Rocket/tree/v0.5.1?target=https://github.com
- https://github.com/launchbadge/sqlx?target=https://github.com
- https://github.com/clap-rs/clap?target=https://github.com
- https://github.com/serde-rs/serde?target=https://github.com
- https://github.com/kreuzberg-dev/kreuzberg/?target=https://github.com
- https://github.com/actix/actix?target=https://github.com
- https://docs.rs/polars/latest/polars/ (Dataframes)
- https://github.com/mstange/samply?target=https://github.com (Profiler)
- Simple UI
- Todo App
- Build an API
- Integrate and API
- CLI App with DB support
- Read code of a public library framework
- Relevance:
- High-performance CLI tool
- High-performance microservices
- Web3/blockchain applications/analysis
- Crypto trading tools
- Ultra-optimized embedded systems
- Substance:
- Clean
- Modular
- Troughtfully architected
- Including:
- Real db, queue, metrics, logging, kafka
- Data processing pipeline that must not drop events
- Highhroughput component that sits between services
- Deployable with Docker and CI without drama
- Model errors so other services know what happened
- Initial ideas (develop 2 or 3):
- Open Source contributions
https://product.letsgetrusty.com/
- Systems Programming
- Databases, OS
- Security, encryption
- Data processing
- IoT / embedded devices
- Tool / Infrastructure
- CLI apps
- Platform code
- Shared code (libraries)
- Build & deply (CI/CD)
- Web
- Backend
- APIs
- Distributed Systems
- Microservices
- Frontend
- WebAssembly
- Backend
- Emerging technologies
- AR/VR
- Blockchain
- Prerequisites
- CS fundamentals (stack, heap, pointers, etc.)
- Memory management fundamentals
- Programming languages fundamentals (e.g. types)
- The Rust language
- Primities, variables and control flow
- Memory safety with ownership & borrowing
- Type system (option, result, structs, enums)
- How to structure Rust projects
- How to test and document code
- Polymorphism with generics & traits.
- Lifetimes & smart pointers
- Underdanding error handling
- Functional features
- Concurrency & async/.await
- The macro system
- Unsafe Rust & FFI
- https://github.com/ctjhoa/rust-learning?target=https://github.com
- https://exercism.org/tracks/rust (medium and hard)
- https://rust-cli.github.io/book/index.html
- https://rust-embedded.org/
- https://docs.rust-embedded.org/book
- https://rustwasm.github.io/docs/book/
- https://github.com/wasm-bindgen/wasm-bindgen?target=https://github.com
https://doc.rust-lang.org/book/ch01-01-installation.html
# Installation
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
rustc --version
# Updating and Uninstalling
rustup update
rustup self uninstall
# Reading the Local Documentation
rustup doc
# If doesn't work in WSL, run this first
sudo apt install wslu
# VS Code extension
https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer