{"id":17168706,"url":"https://github.com/sanix-darker/rust_learn","last_synced_at":"2025-08-22T11:35:47.341Z","repository":{"id":246797915,"uuid":"816353157","full_name":"Sanix-Darker/rust_learn","owner":"Sanix-Darker","description":"rust learn","archived":false,"fork":false,"pushed_at":"2024-06-30T21:16:52.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T18:50:04.221Z","etag":null,"topics":["learning","rust","tutorial"],"latest_commit_sha":null,"homepage":"https://sanix-darker.github.io/rust_learn/rust.html","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sanix-Darker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-06-17T15:12:32.000Z","updated_at":"2024-06-30T21:16:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"500637a6-8d6e-4922-a7b4-074d21a9ffef","html_url":"https://github.com/Sanix-Darker/rust_learn","commit_stats":null,"previous_names":["sanix-darker/rust_learn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sanix-Darker/rust_learn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanix-Darker%2Frust_learn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanix-Darker%2Frust_learn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanix-Darker%2Frust_learn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanix-Darker%2Frust_learn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sanix-Darker","download_url":"https://codeload.github.com/Sanix-Darker/rust_learn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanix-Darker%2Frust_learn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271630271,"owners_count":24793282,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["learning","rust","tutorial"],"created_at":"2024-10-14T23:12:38.961Z","updated_at":"2025-08-22T11:35:47.321Z","avatar_url":"https://github.com/Sanix-Darker.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Learning Map\n\n## LEARN MAP\n\n![map](./rust.svg)\n\n[CHECK THE INTERACTIVE MAP](https://sanix-darker.github.io/rust_learn/rust.html)\n\n## CONCEPTS\n- What is Rust?\n  - Systems programming language\n  - Memory safety without garbage collection\n  - Concurrency\n- History of Rust\n- Installation\n  - Rustup\n  - Cargo\n\n## Basic Concepts\n- Syntax and Semantics\n  - Hello World\n  - Comments\n  - Variables\n    - Immutable by default\n    - Mutable variables\n  - Data Types\n    - Scalar types (integer, floating-point, boolean, character)\n    - Compound types (tuples, arrays)\n  - Functions\n    - Defining functions\n    - Function parameters\n    - Return values\n  - Control Flow\n    - If-else\n    - Loops (loop, while, for)\n    - Match\n\n## Ownership and Borrowing\n- Ownership\n  - Ownership rules\n  - Variable scope\n  - Memory management\n- Borrowing\n  - References\n  - Mutable references\n  - Slices\n\n## Structs and Enums\n- Structs\n  - Defining structs\n  - Tuple structs\n  - Unit-like structs\n  - Methods\n- Enums\n  - Defining enums\n  - Enum variants\n  - Pattern matching with enums\n\n## Error Handling\n- Panic\n  - Unrecoverable errors\n  - Using panic! macro\n- Result\n  - Recoverable errors\n  - Using Result enum\n  - Error propagation with ?\n- Option\n  - Representing optional values\n  - Using Option enum\n\n## Collections\n- Vectors\n  - Creating vectors\n  - Modifying vectors\n  - Iterating over vectors\n- Strings\n  - String vs \u0026str\n  - Creating strings\n  - Modifying strings\n- Hash Maps\n  - Creating hash maps\n  - Modifying hash maps\n  - Iterating over hash maps\n\n## Lifetimes\n- Lifetime Annotations\n  - Function lifetimes\n  - Struct lifetimes\n  - Lifetime elision\n- Lifetime Bounds\n  - Generic type parameters\n  - Lifetime bounds\n\n## Generics\n- Defining Generics\n  - Generic functions\n  - Generic structs\n  - Generic enums\n- Traits\n  - Defining traits\n  - Implementing traits\n  - Trait bounds\n\n## Concurrency\n- Threads\n  - Spawning threads\n  - Thread handles\n  - Using join\n- Channels\n  - Message passing\n  - Creating channels\n  - Sending and receiving messages\n- Mutex\n  - Shared state concurrency\n  - Mutex locks\n\n## Advanced Topics\n- Macros\n  - Declarative macros\n  - Procedural macros\n  - Attribute-like macros\n  - Function-like macros\n- Unsafe Rust\n  - Unsafe keyword\n  - Raw pointers\n  - Calling unsafe functions\n- Crates and Modules\n  - Creating a crate\n  - Defining modules\n  - Re-exporting names with pub use\n- FFI (Foreign Function Interface)\n  - Calling C code from Rust\n  - Creating bindings\n\n## Tools and Ecosystem\n- Cargo\n  - Creating a project\n  - Building and running\n  - Dependencies\n  - Cargo.toml\n- Rustfmt\n  - Code formatting\n  - Using rustfmt\n- Clippy\n  - Linting\n  - Using clippy\n- Rustdoc\n  - Generating documentation\n  - Writing doc comments\n- Testing\n  - Unit tests\n  - Integration tests\n  - Documentation tests\n\n## Best Practices\n- Writing idiomatic Rust\n  - Borrowing and ownership\n  - Error handling\n  - Code organization\n- Performance optimization\n  - Profiling tools\n  - Efficient data structures\n  - Avoiding unnecessary allocations\n- Security\n  - Safe Rust\n  - Auditing unsafe code\n\n## Resources\n- Official Documentation\n  - The Rust Programming Language (The Book)\n  - Rust by Example\n  - Rust Reference\n- Tutorials and Courses\n  - Rustlings\n  - Exercism.io\n  - Codecademy\n  - Udemy\n- Books\n  - \"Programming Rust\" by Jim Blandy and Jason Orendorff\n  - \"Rust in Action\" by Tim McNamara\n  - \"The Rust Programming Language\" by Steve Klabnik and Carol Nichols\n- Online Communities\n  - Rust Users Forum\n  - Rust subreddit (r/rust)\n  - Rust Discord\n  - Stack Overflow\n- Practice Projects\n  - Building a CLI tool\n  - Developing a web application with Rocket\n  - Creating a game with Amethyst\n\n## Conclusion\n- Keeping up-to-date\n  - Rust Blog\n  - This Week in Rust\n  - Rust release notes\n  - Community events (RustConf, RustFest)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanix-darker%2Frust_learn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanix-darker%2Frust_learn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanix-darker%2Frust_learn/lists"}