Welcome! This guide is designed to make you proficient in Rust through practical, project-based learning. Each topic includes hands-on exercises and real-world applications.
-
Setting Up Your Rust Development Environment
- Install Rust, set up your editor, and run your first program.
-
Hello, Cargo!
- Use Cargo to create, build, and run projects. Explore project structure.
-
Variables, Data Types, and Mutability
- Practice with variables, constants, shadowing, and type inference.
-
Control Flow in Action
- Write programs using
if
,match
, loops, and pattern matching.
- Write programs using
-
Functions and Modular Code
- Build reusable functions and split code into modules.
-
Ownership, Borrowing, and References
- Experiment with Rust's memory safety model through small programs.
-
Structs and Enums: Modeling Data
- Design and use custom data types in practical mini-projects.
-
Collections and Iterators
- Manipulate vectors, strings, hash maps, and use iterators in real tasks.
-
Error Handling: Result and Option
- Handle errors and absence of values in file and user input operations.
-
File I/O and the Filesystem
- Read from and write to files, and explore directories.
-
Testing Your Code
- Write and run unit and integration tests for your projects.
-
Building a Command-Line Tool
- Create a useful CLI application from scratch.
-
Using External Crates
- Add dependencies, use popular crates, and publish your own.
-
Concurrency: Threads and Channels
- Write concurrent programs using threads and message passing.
-
Networking: HTTP Client/Server
- Build a simple web client or server to interact with the internet.
-
Interacting with JSON and APIs
- Parse JSON and call real-world APIs.
-
Debugging and Profiling
- Use Rust's debugging and profiling tools to improve your code.
-
Capstone Project
- Apply everything by building a complete, real-world application.
Each topic is hands-on and project-driven. By the end, you'll be able to build, test, and deploy robust Rust applications.