100-days-of-rust/README.md

150 lines
20 KiB
Markdown

<h1 align="center">100 Days of Rust 🦀 </h1>
<p align="center">
<img width="" src="https://media4.giphy.com/media/RbDKaczqWovIugyJmW/giphy.gif?cid=ecf05e4796b9znwjl0zqxljtzh2xe4yer17y5oojmj5kztep&rid=giphy.gif&ct=g" align="center" alt="gif" />
</p>
# Introduction
Welcome to the 100 Days of Rust Coding Challenge! This challenge is designed to help you learn and improve your Rust programming skills over the course of 100 days.
Each day, you will tackle a new Rust programming concept, project, or problem. You will learn about ownership and borrowing, concurrency and parallelism, the Rust standard library, web development with Rust, game development with Rust, machine learning in Rust, system programming in Rust, cryptography in Rust, and blockchain development in Rust.
This challenge is suitable for Rust beginners and intermediate learners who want to improve their skills and build practical projects. It is also a great opportunity to connect with other Rust learners and share knowledge and experiences.
We hope you find this challenge fun and rewarding, and we can't wait to see what you build with Rust!
# How to Participate
Fork this repository and create a new branch to track your progress.
Commit to coding and learning Rust for at least an hour every day for 100 days.
Share your progress on social media with the hashtag #100DaysOfRustCodingChallenge and tag @LiveGray on Twitter.
We encourage you to share your progress and ask questions in the Discussions section of this repository.
# Rules
- The main rule is: Code at least an hour every day (don't skip weekends/holidays)
- Choose an area of Rust you want to learn or improve
- Share your progress daily in your social medias
- Try not to copy code from the internet
- Try to come up with a clean and elegant solution
- Once you can, write tests (and make them pass)
# Resources
[The Rust Programming Language Book](https://doc.rust-lang.org/book/title-page.html)
[The Rust Standard Library Documentation](https://doc.rust-lang.org/std/index.html)
[Rust By Example](https://doc.rust-lang.org/stable/rust-by-example/)
[Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/)
[Awesome Rust](https://github.com/rust-unofficial/awesome-rust)
# Project List
| Day | Project Name | Completed |
| ------------- |:-------------------------------------:| -------------------------:|
| Day #1 | [Convert Age To Days](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-01_Convert-Ages-To-Days) | :white_check_mark: |
| Day #2 | [Finding Nemo](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-02_Finding-Nemo) | :white_check_mark: |
| Day #3 | [Barbecue Skewers](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-03_Barbecue-Skewers) | :white_check_mark: |
| Day #4 | [Is Johnny Making Progress](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-04_Is-Johnny-Making-Progress) | :white_check_mark: |
| Day #5 | [Pair Of Socks](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-05_Pair-Of-Socks) | :white_check_mark: |
| Day #6 | [Next Prime](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-06_Next-Prime) | :white_check_mark: |
| Day #7 | [Merge Sorted Array](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-01/Day-07_Merge-Sorted-Array) | :white_check_mark: |
| Day #8 | [Letter Combinations Of A Phone Number](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-08_Letter-Combinations-Of-A-Phone-Number) | :white_check_mark: |
| Day #9 | [Trapping Rain Water](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-09_Trapping-Rain-Water) | :white_check_mark: |
| Day #10 | [Unique Binary Search Tree](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-10_Unique-Binary-Search-Trees) | :white_check_mark: |
| Day #11 | [Restore IP Addresses](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-11_Restore-IP-Addresses) | :white_check_mark: |
| Day #12 | [Mountains or Valleys](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-12_Mountains_And_Valleys) | :white_check_mark: |
| Day #13 | [Need Help With Your Packing](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-13_Need-Help-With-Packing) | :white_check_mark: |
| Day #14 | [The Karacas Encryption Algorithm](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-14_Karacas-Encryption-Algorithm) | :white_check_mark: |
| Day #15 | [Valid Anagram](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-15_Valid-Anagram) | :white_check_mark: |
| Day #16 | [Nim Game](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-16_Nim-Game) | :white_check_mark: |
| Day #17 | [Prison Break](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-17_Prison-Break) | :white_check_mark: |
| Day #18 | [Unique Paths](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-18_Unique-Paths) | :white_check_mark: |
| Day #19 | [URL Shortener](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-19_URL-Shortener) | :white_check_mark: |
| Day #20 | [API Challenge](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-20_API-Challenge) | :white_check_mark: |
| Day #21 | [Random Maze Generator](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-21_Random-Maze-Generator) | :white_check_mark: |
| Day #22 | [Marcio Mellos Challenge](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-22_Marcio-Mellos-Challenge) | :white_check_mark: |
| Day #23 | [The Dining Philosophers](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-23_The-Dining_Philosophers) | :white_check_mark: |
| Day #24 | [The Josephus Problem](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-24_The-Josephus-Problem) | :white_check_mark: |
| Day #25 | [Coin Trouble](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-25_Coin-Trouble) | :white_check_mark: |
| Day #26 | [Briefcase Lock](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-26_Briefcase-Lock) | :white_check_mark: |
| Day #27 | [Task Scheduler](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-27_Task-Scheduler) | :white_check_mark: |
| Day #28 | [Word Search](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-04/Day-28_Word-Search) | :white_check_mark: |
| Day #29 | [Traffic Light Checker](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-29_Traffic-Light-Checker) | :white_check_mark: |
| Day #30 | [The Maximum Value](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-30_The-Maximum-Value) | :white_check_mark: |
| Day #31 | [The Time In Words](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-31_The-Time-In-Words) | :white_check_mark: |
| Day #32 | [Climbing The Leaderboard](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-32_Climbing-The-Leaderboard) | :white_check_mark: |
| Day #33 | [WERTYU](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-33_WERTYU) | :white_check_mark: |
| Day #34 | [Primary Arithmetic](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-34_Primary-Arithmetic) | :white_check_mark: |
| Day #35 | [Dog And Gopher](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-05/Day-35_Dog-And-Gopher) | :white_check_mark: |
| Day #36 | [LCD Display](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-36_LCD-Display) | :white_check_mark: |
| Day #37 | [Breaking The Records](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-37_Breaking-The-Records) | :white_check_mark: |
| Day #38 | [Electronics Shop](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-38_Electronics-Shop) | :white_check_mark: |
| Day #39 | [Halloween Sale](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-39_Halloween-Sale) | :white_check_mark: |
| Day #40 | [Larrys Array](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-40_Larrys-Array) | :white_check_mark: |
| Day #41 | [Sales By Match](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-41_Sales-By-Match) | :white_check_mark: |
| Day #42 | [Drawing Book](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-06/Day-42_Drawing-Book) | :white_check_mark: |
| Day #43 | [Area Of A Triangle](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-43_Area-Of-A-Triangle) | :white_check_mark: |
| Day #44 | [Maximum Edge Of A Triangle](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-44_Maximum-Edge-Of-A-Triangle) | :white_check_mark: |
| Day #45 | [Subtract The Swapped Bits...](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-45_Subtract-The-Swapped-Bits-Without-Temp-Storage) | :white_check_mark: |
| Day #46 | [Hot Pics Of Danny Devito](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-46_Hot-Pics-Of-Danny-Devito) | :white_large_square: |
| Day #47 | [Zip It](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-47_Zip-It) | :white_large_square: |
| Day #48 | [Christmas Tree](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-48_Christmas-Tree) | :white_large_square: |
| Day #49 | [Swimming Pool](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-07/Day-49_Swimming-Pool) | :white_large_square: |
| Day #50 | [Tic Tac Toe](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-50_Tic-Tac-Toe) | :white_large_square: |
| Day #51 | [Asteroid Collision](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-51_Asteroid-Collision) | :white_large_square: |
| Day #52 | [Switch On The Gravity](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-52_Switch-On-The-Gravity) | :white_large_square: |
| Day #53 | [Javelin Parabolic Throw](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-53_Javelin-Parabolic-Throw) | :white_large_square: |
| Day #54 | [RGB To Hex Color Convertor](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-54_RGB-To-Hex-Color-Converter) | :white_large_square: |
| Day #55 | [Filter Repeating Character Strings](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-55_Filter_Repeating-Character-Strings) | :white_large_square: |
| Day #56 | [Convert To Hex](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-08/Day-56_Convert-To-Hex) | :white_large_square: |
| Day #57 | [Magic Sigil Generator](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-57_Magic-Sigil-Generator) | :white_large_square: |
| Day #58 | [Create A Dice Roller](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-58_Create-A-Dice-Roller) | :white_large_square: |
| Day #59 | [Perfectly Balanced](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-59_Perfectly-Balanced) | :white_large_square: |
| Day #60 | [A Game Of Threes](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-60_A-Game-Of-Thrones) | :white_large_square: |
| Day #61 | [Write A Web Crawler](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-61_Write-A-Web-Crawler) | :white_large_square: |
| Day #62 | [Funny Plant](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-62_Funny-Plant) | :white_large_square: |
| Day #63 | [The Rabbit Problem](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-09/Day-63_The-Rabbit-Problem) | :white_large_square: |
| Day #64 | [First Recurring Character](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-64_First-Recurring-Character) | :white_large_square: |
| Day #65 | [ISBN Validator](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-65_ISBN-Validator) | :white_large_square: |
| Day #66 | [ISBN Generator](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-66_ISBN-Generator) | :white_large_square: |
| Day #67 | [Color Maze](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-67_Color-Maze) | :white_large_square: |
| Day #68 | [Clarence The Slow Typist](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-68_Clarence-The-Slow-Typist) | :white_large_square: |
| Day #69 | [Garage Door Opener](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-69-Garage-Door-Opener) | :white_large_square: |
| Day #70 | [Broken Keyboard](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-10/Day-70_Broken-Keyboard) | :white_large_square: |
| Day #71 | [How Long Has The Light Been On](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-71_How-Long-Has-The-Light-Been-On) | :white_large_square: |
| Day #72 | [L33tSpeak Convertor](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-72_L33tSpeak-Convertor) | :white_large_square: |
| Day #73 | [L33tSpeak Translator](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-73_L337Speak-Generator) | :white_large_square: |
| Day #74 | [CATTLEMETER](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-74_CATTLEMETER) | :white_large_square: |
| Day #75 | [Minesweeper](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-75_Minesweeper) | :white_large_square: |
| Day #76 | [The Cake Thief](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-76_The-Cake-Thief) | :white_large_square: |
| Day #77 | [Bot Saves Princess](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-11/Day-77_Bot-Saves-Princess) | :white_large_square: |
| Day #78 | [A Number Without Numbers](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-78_A-Number-Without-Numbers) | :white_large_square: |
| Day #79 | [Analog Clock](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-79_Analog-Clock) | :white_large_square: |
| Day #80 | [Make It Look Like You Are Working](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-80_Make-It-Look-Like-You-Are-Working) | :white_large_square: |
| Day #81 | [Draw The G Logo](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-81_Draw-The-G-Logo) | :white_large_square: |
| Day #82 | [Tidy Numbers](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-82_Tidy-Numbers) | :white_large_square: |
| Day #83 | [Bathroom Stalls](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-83_Bathroom-Stalls) | :white_large_square: |
| Day #84 | [Vestigium](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-12/Day-84-Vestigium) | :white_large_square: |
| Day #85 | [TCP IP Client Server](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-85_TCP-IP-Client-And-Server) | :white_large_square: |
| Day #86 | [Way Too Long Words](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-86_Way-Too-Long-Words) | :white_large_square: |
| Day #87 | [Hulk](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-87_Hulk) | :white_large_square: |
| Day #88 | [Hit The Lottery](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-88_Hit-The-Lottery) | :white_large_square: |
| Day #89 | [Minutes Before The New Year](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-89_Minutes_Before_The_New_Year) | :white_large_square: |
| Day #90 | [Radio Station](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-90_Radio-Station) | :white_large_square: |
| Day #91 | [Cyberpunk 2078](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-13/Day-91_Cyberpunk-2078) | :white_large_square: |
| Day #92 | [New Year Candles](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-92_New-Years-Candles) | :white_large_square: |
| Day #93 | [Dreamoon And Stairs](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-93_Dreamoon-And-Stairs) | :white_large_square: |
| Day #94 | [Superhero Transformation](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-94_Superhero-Transformation) | :white_large_square: |
| Day #95 | [Free Cash](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-95_Free-Crash) | :white_large_square: |
| Day #96 | [Beautiful Paintings](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-96_Beautiful-Paintings) | :white_large_square: |
| Day #97 | [Elephant](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-97_Elephant) | :white_large_square: |
| Day #98 | [Geography Of Brazil](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-14/Day-98_Geography-Of-Brazil) | :white_large_square: |
| Day #99 | [How Is The Weather](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-15/Day-99_How-Is-The-Weather) | :white_large_square: |
| Day #100 | [Final Hello World](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-15/Day-100_Final-Hello-World) | :white_large_square: |