This content originally appeared on DEV Community and was authored by Abinash Sahoo
The repo I am talking about is rust-practice. (do not forget to give it a ⭐)
What is rust-practice?
I am Abinash, a beginner learning programming with Rust.
I read the official docs then some YouTube videos then the Rustlings but never felt confident in my skills to put it out there in public.
So, I created rust-practice.
rust-practice is a collection of 240+ exercises to learn and practice Rust for building production-grade CLI tools.
Now, you have a question.
Why did you create another exercise guide?
I created this exercise guide for beginners like me who need to solve lots of exercises on one topic to get a strong grasp on it.
We will deep dive into its features but before that let's look at the GitHub stats of my repo.
GitHub Stats
- 34 stars and counting
- 2 contributor
- 2 forks
- 6 discussions
- 1926 repo views
- 32 clones
Features of rust-practice?
rust-practice
mainly has 3 advantages over other exercises.
1. Structured Exercises
rust-practice
has divided all Rust concepts into four categories i.e. Basics, Intermediate, Advanced and Projects. We call these "levels".
Each level has multiple topics in it.
For example; the Basics section has variables
, and functions
whereas the Advanced section has async
unsafe Rust
etc.
Then each topic contains 10 different exercises to help you fully grasp the topic.
So, 4 levels have 24 topics with 10 different exercises each which results in 240+ exercises.
2. Progress Tracker
When I was learning Rust from the book and YouTube, I was unable to track my progress and how much of Rust I had completed.
But in the case of rust-practice
I attached a % to every topic so that after completion of any topic you know exactly how much you have covered and how much is left to complete.
Do not take these % seriously, because programming never ends.
3. Production-grade Projects
There are multiple exercise guides for Rust and they are well-documented and include test cases to test your code.
But for now, rust-practice
does not include any test cases to test your code. But, it has production-grade projects that other exercise lacks.
Not 1, Not 5, Not 10, rust-practice
gives you 60+ production-grade projects to do.
For the demo, these are some projects rust-practice
includes.
- Log Analyzer: Build a CLI tool to parse and analyze log files, providing statistics and error reports.
- Process Manager: Build a CLI tool to list and manage system processes (e.g., kill processes).
- Backup Manager: Create a CLI tool to automate the backup of files to a specified location.
- Package Signer: Build a CLI tool that signs packages with a cryptographic signature.
I hope you got the idea.
Folder Structure
This repo is divided into 3 types of folders.
-
Levels
- Level indicates the difficulty of exercises.
- e.g. Basic, Intermediate, Advanced, Projects
-
Topics
- Each level contains multiple topics.
- Each topic is a cargo workspace.
- e.g.
variables
,functions
,enums
,traits
...
-
Exercises
- Each topic contains 10 exercises.
- Each exercise is a member of that workspace.
- e.g.
variables_01
,variables_02
,variables_03
...
Other Folders and Files
-
Image Folder
- It contains images that are used in the
README.md
file.
- It contains images that are used in the
-
Quick Links
- Quick links is a file, that contains links to solutions for all exercises(i.e. links to
src/main.rs
).
- Quick links is a file, that contains links to solutions for all exercises(i.e. links to
├── 01-basic-rust // Level
│ └── 01_hello_world // Topic
│ ├── Cargo.lock
│ ├── Cargo.toml
│ └── hello_world_01 // Exercise
│ ├── Cargo.toml
│ └── src
│ └── main.rs // Solution
├── 02-intermediate-rust
├── 03-advanced-rust
├── 04-projects
├──images // Images Folder
│ └── rust-practice-map.png // Mind Map
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── QUICK_LINKS.md // Direct Links
├── README.md
└── SECURITY.md
You can quickly navigate to solutions using Quick Links.
Future Plans
For now, my entire focus is only on rust-practice.
After its completion, I already planned out and created exercises for backend-rust
(i.e. learn building high-end scalable backend systems in Rust) and much more.
Also, I will regularly share updates here in the dev community.
How can you contribute to rust-practice?
I highly encourage everyone to raise issues, find bugs or code improvements and raise your first PR.
You can also suggest better exercises to replace current ones.
Final Thoughts
I created this repo with a dream to help beginners who want to learn Rust effectively and fast.
Seeing people love and their helpful comments, encourage and give me motivation to keep working for the community.
I hope you like my idea and consider it a helpful resource who want to learn Rust.
Thanks, everyone, for giving your valuable time to be a part of my journey.
Have a great day.
Happy Rust Journey!🦀
This content originally appeared on DEV Community and was authored by Abinash Sahoo
Abinash Sahoo | Sciencx (2024-09-16T15:18:17+00:00) 34 ⭐s in 3 days: Hard but For the First Time!. Retrieved from https://www.scien.cx/2024/09/16/34-%e2%ad%90s-in-3-days-hard-but-for-the-first-time/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.