- Rust Project Primer
- Preface
- 1. Introduction
- 1.1. Why Rust?
- 1.2. Resources
- 2. Development Environment
- 2.1. Zed
- 2.2. Visual Studio Code
- 2.3. RustRover
- 3. Continuous Integration
- 3.1. GitLab CI
- 3.2. GitHub Actions
- 4. Ecosystem
- 4.1. Concurrency
- 4.2. Web Backend
- 4.3. Web Frontend
- 4.4. User Interface
- 4.5. Rendering
- 4.6. Embedded
- 4.7. Logging
- 4.8. Error handling
- 4.9. Serialization
- 5. Organization
- 5.1. Packages
- 5.2. Workspace
- 5.3. Repository
- 6. Build system
- 6.1. Cargo
- 6.2. Bazel
- 6.3. Buck2
- 6.4. Nix
- 6.5. Meson
- 7. Checks
- 7.1. Formatting
- 7.2. Lints
- 7.3. Spelling
- 7.4. Semantic Versioning
- 7.5. Dependency Minimum Versions
- 7.6. Unused Dependencies
- 7.7. Auditing Dependencies
- 7.8. Outdated Dependencies
- 7.9. Cargo Manifest
- 7.10. Crate Features
- 7.11. Minimum Supported Rust Version
- 7.12. Conclusion
- 8. Testing
- 8.1. Unit Tests
- 8.2. Integration Tests
- 8.3. Runners
- 8.4. External Services
- 8.5. Snapshot Testing
- 8.6. Property Testing
- 8.7. Fuzzing
- 8.8. Mutation Testing
- 8.9. Dynamic analysis
- 8.10. Conclusion
- 9. Measure
- 9.1. Coverage
- 9.2. Performance
- 9.3. Memory
- 10. Building
- 10.1. Optimizations
- 10.2. Performance
- 10.3. Codegen
- 10.4. Caching
- 10.5. Linking
- 10.6. Cross-Compiling
- 11. Documentation
- 11.1. Readme
- 11.2. Diagrams
- 11.3. Code Documentation
- 11.4. Project Documentation
- 11.5. Architecture
- 11.6. Design
- 11.7. Examples
- 12. Releasing
- 12.1. Changelog
- 12.2. Versioning
- 12.3. Crate Registry
- 12.4. Containerize
- 12.5. Packaging
- 13. Tools
- 13.1. Code Search
- 13.2. Task Runners
- 13.3. Readme
- 13.4. Watch Files
- 13.5. Expand Macros
- 14. Examples
- 15. Conclusion
- License
- Privacy Policy