Skip to content

Vaibhavs10/learn-rust

Repository files navigation

Learn Rust by Doing: An Applied, Hands-On Roadmap

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.

Learning Plan

  1. Setting Up Your Rust Development Environment

    • Install Rust, set up your editor, and run your first program.
  2. Hello, Cargo!

    • Use Cargo to create, build, and run projects. Explore project structure.
  3. Variables, Data Types, and Mutability

    • Practice with variables, constants, shadowing, and type inference.
  4. Control Flow in Action

    • Write programs using if, match, loops, and pattern matching.
  5. Functions and Modular Code

    • Build reusable functions and split code into modules.
  6. Ownership, Borrowing, and References

    • Experiment with Rust's memory safety model through small programs.
  7. Structs and Enums: Modeling Data

    • Design and use custom data types in practical mini-projects.
  8. Collections and Iterators

    • Manipulate vectors, strings, hash maps, and use iterators in real tasks.
  9. Error Handling: Result and Option

    • Handle errors and absence of values in file and user input operations.
  10. File I/O and the Filesystem

    • Read from and write to files, and explore directories.
  11. Testing Your Code

    • Write and run unit and integration tests for your projects.
  12. Building a Command-Line Tool

    • Create a useful CLI application from scratch.
  13. Using External Crates

    • Add dependencies, use popular crates, and publish your own.
  14. Concurrency: Threads and Channels

    • Write concurrent programs using threads and message passing.
  15. Networking: HTTP Client/Server

    • Build a simple web client or server to interact with the internet.
  16. Interacting with JSON and APIs

    • Parse JSON and call real-world APIs.
  17. Debugging and Profiling

    • Use Rust's debugging and profiling tools to improve your code.
  18. 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors