References
Official ๐
- Rust Cookbook
- API Guidelines Checklist
- Naming conventions - API Guide
- Documentation - API Guide
- Selecting a collection - Module std::collections
- Setting up defaults - Trait std::default::Default
- Attributes - The Rust Reference
- Code like
#![]
and#[]
- I always thought they were compiler directives
- Code like
- Minimal Reproducible Example tips - Stack Overflow Rust Info
- Conditional Compilation
- Managing External Processes - Rust Cookbook
- Testing CLI Applications by running them
- Filing reports of unclear error messages (Choose Diagnostic) - Rust Issues
- Crate.io and Docs.rs issue status - https://status.crates.io/
- Build Queue for Docs.rs - docs.rs
- Raw Pointers - std docs
- Magic Completions - Rust Analyzer User Manual
- Directory Traversal - Rust Cookbook
- Recommended way to write
expect
messages - std docs - Types of enum variants - Rust by Example
Reference Books (Also see Official) ๐
- Collection patters, idioms and anti-patterns - Rust design patterns
Blog Posts ๐
Podcasts ๐
- Rustacean Station - Current community run podcast
- New Rustacean - Stopped but itโs where I started. This podcast introduced me to rust and got me excited before I read the book and actually tried it myself (converted commute time into see if I like this rust thing time). I think the main reason it got me excited is that he spoke about the parts of rust that I was interested in and maybe contributed to making it easier to learn rust. I found learning rust easy but thatโs not a sentiment Iโve heard from many other people so maybe this is why it was easy for me.
Video ๐
See here for youtube videos.
Useful crates ๐
For some crates I have more detailed notes. For those their page title starts with โCrate โ. And for ease of maintenance they are not duplicated here. So please do see the section page for rust to see the list.
- log - A lightweight logging facade
- log4rs - a highly configurable logging framework modeled after Javaโs Logback and log4j libraries.
- Logging patterns patterns
- tracing
- float_eq - Compare IEEE floating point primitives, structs and collections for equality
- float_ord - Add Ord for floats (used as
FloatOrd(1.0)
) - inventory - Typed distributed plugin registration.
- dirs - Helps you find the suitable directory to use in a cross platform way
- -secrecy - Simple secret keeping library. Small API surface and reasonable protection from mistakes.
- version - Easy way to check the version of a executable compiled with cargo (clap is probably better if itโs just to add a CLI arg to show to users)
- List of my crates on crates.io