{"id":15031830,"url":"https://github.com/sheroz/learn-rs","last_synced_at":"2025-07-27T15:37:38.167Z","repository":{"id":188286629,"uuid":"642903317","full_name":"sheroz/learn-rs","owner":"sheroz","description":"Learning Rust: resources, tools and code samples","archived":false,"fork":false,"pushed_at":"2025-01-11T17:22:37.000Z","size":184,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T23:15:27.544Z","etag":null,"topics":["rust","rust-lang","rust-language"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sheroz.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-19T15:55:53.000Z","updated_at":"2025-02-05T14:37:42.000Z","dependencies_parsed_at":"2023-08-14T18:45:14.563Z","dependency_job_id":"78d8590a-dc31-4c80-bbcc-6fb315a82b92","html_url":"https://github.com/sheroz/learn-rs","commit_stats":null,"previous_names":["sheroz/playground-rs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheroz%2Flearn-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheroz%2Flearn-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheroz%2Flearn-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheroz%2Flearn-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sheroz","download_url":"https://codeload.github.com/sheroz/learn-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248112928,"owners_count":21049756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","rust-lang","rust-language"],"created_at":"2024-09-24T20:16:42.063Z","updated_at":"2025-04-09T21:22:52.445Z","avatar_url":"https://github.com/sheroz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning Rust\n\n\u003cimg src=\"learn-rust.jpeg\" style=\"width: 25%\" alt=\"ferris-learner\"\u003e  \n\nResources, tools, and code samples for learning [Rust Programming Language](https://www.rust-lang.org/)\n\n## Books\n\n- Must Read: [The Book](https://doc.rust-lang.org/book)\n- Must Read: [Rust for Rustaceans](https://rust-for-rustaceans.com/)\n- [Programming Rust: Fast, Safe Systems Development](https://www.amazon.com/Programming-Rust-Fast-Systems-Development/dp/1492052590)\n- [The Rust Programming Language](https://www.cs.brandeis.edu/~cs146a/rust/doc-02-21-2015/book/README.html)\n- [Easy Rust](https://dhghomon.github.io/easy_rust/)\n- [Effective Rust](https://www.lurklurk.org/effective-rust/)\n  \n### Courses \u0026 Workshops\n\n- [Comprehensive Rust](https://github.com/google/comprehensive-rust) - This is a free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling.\n- [Project Based Learning: Rust](https://github.com/practical-tutorials/project-based-learning?tab=readme-ov-file#rust)\n- [Learn to write Rust procedural macros](https://github.com/dtolnay/proc-macro-workshop) - Rust Latam conference, Montevideo Uruguay, March 2019.\n\n### Other resources\n\n- [This Week in Rust](https://this-week-in-rust.org/)\n- [The Rust Reference](https://doc.rust-lang.org/reference)\n- [Rust Collections](https://doc.rust-lang.org/std/collections)\n- [Rust by Example](https://doc.rust-lang.org/rust-by-example/index.html)\n- [Awesome Rust](https://github.com/rust-unofficial/awesome-rust) - a curated list of Rust code and resources\n- [Idiomatic Rust](https://github.com/mre/idiomatic-rust) - a collection of articles/talks/repos which teach concise, idiomatic Rust\n- [The Rustonomicon](https://github.com/rust-lang/nomicon) - The Dark Arts of Advanced and Unsafe Rust Programming\n- [The Rustonomicon - nightly](https://doc.rust-lang.org/nightly/nomicon/) - The Dark Arts of Unsafe Rust\n- [Algorithms implemented in Rust](https://github.com/TheAlgorithms/Rust)\n- [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/)\n- [Advice for learning Rust](https://github.com/QuineDot/rust-learning) - [Learning Rust](https://quinedot.github.io/rust-learning/)\n- [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) - explains the structure of memory subsystems in use on modern commodity hardware\n- [Personal blog of Luca Palmieri](https://www.lpalmieri.com/) - has a good deal of useful stuff about Rust\n- [Code of conduct](https://www.rust-lang.org/policies/code-of-conduct)\n\n#### Concurrency\n\n- [About Concurrency](https://assets.bitbashing.io/papers/concurrency-primer.pdf) - what every systems programmer should know about concurrency\n- [Asynchronous Programming in Rust](https://rust-lang.github.io/async-book/)\n- [Rust Is Hard, Or: The Misery of Mainstream Programming](https://hirrolot.github.io/posts/rust-is-hard-or-the-misery-of-mainstream-programming.html)\n- [Async Rust Is A Bad Language](https://bitbashing.io/async-rust.html)\n\n#### Benchmarking\n\n- [Benchmarking: Criterion](https://bheisler.github.io/criterion.rs/book/)\n\n## Tools\n\n- [Visual Studio Code](https://code.visualstudio.com/docs/languages/rust)\n  - Recommended plugins:\n    - [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)\n    - [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)\n    - [Even Better TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml)\n    - [Dependi](https://marketplace.visualstudio.com/items?itemName=fill-labs.dependi)\n    - [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)\n    - [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)\n    - [SQLTools](https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools)\n    - [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client)\n    - [Docker](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker)\n  - Keyboard shortcuts:\n    - [Keyboard shortcuts for Linux](https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf)\n    - [Keyboard shortcuts for macOS](https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf)\n  - [Boost Your Coding Fu With Visual Studio Code and Vim](https://www.barbarianmeetscoding.com/blog/boost-your-coding-fu-with-vscode-and-vim)\n- Take a look: [RustRover](https://www.jetbrains.com/rust/) - JetBrains IDE for Rust Developers\n  - [VSCode Theme](https://plugins.jetbrains.com/plugin/19177-vscode-theme) - includes `VSCode Dark+` and `VSCode Dark Modern` themes\n\n### Visual Studio Code - Debugging\n\n- [Install debugging support](https://code.visualstudio.com/docs/languages/rust#_debugging)\n- [CodeLLDB](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)\n\nAlso, try [`dbg!`](https://doc.rust-lang.org/std/macro.dbg.html)\n\n```rust\ndbg!(..);\n```\n\nUsage details and examples: [std::dbg](https://doc.rust-lang.org/std/macro.dbg.html)\n\n#### Visual Studio Code - DEBUG CONSOLE (lldb)\n\n```text\n\u003ehelp\n\u003ev\n\u003eprint a\n\u003ep \u0026a\n\u003ex \u0026a\n\u003ex 0x00555555597036\n\u003ex -c 256 0x00555555597036\n\u003eq\n```\n\n### Code Coverage\n\n#### Setting-up and using the [cargo-llvm-cov](https://github.com/taiki-e/cargo-llvm-cov) based code coverage\n\n```text\n$cargo +stable install cargo-llvm-cov --locked\n$cargo llvm-cov\n$cargo llvm-cov --html\n$cargo llvm-cov --open \n```\n\n### Clippy\n\n- [Clippy](https://github.com/rust-lang/rust-clippy) - A collection of lints to catch common mistakes and improve your Rust code\n\n## List of code samples built for learning purposes\n\n- Web Service: REST API\n  - [Getting started with Web Services in Rust (using axum, JWT, SQLx, PostgreSQL, and Redis)](https://github.com/sheroz/axum-rest-api-sample)\n- Cryptography\n  - [Magma Symmetric Cipher](https://github.com/sheroz/magma)\n  - [RSA Asymmetric Cipher](https://github.com/sheroz/rsa)\n- [Tree and Parent-Child Relationship](https://github.com/sheroz/tree-samples-rs)\n  - Generic Tree\n  - Binary Tree\n  - Binary Search Tree\n- [Shortest Path: Dijkstra](https://github.com/sheroz/shortest_path)\n- [Fibonacci](https://github.com/sheroz/fibonacci)\n- [Palindrome](https://github.com/sheroz/palindrome)\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheroz%2Flearn-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsheroz%2Flearn-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheroz%2Flearn-rs/lists"}