- Basic rust usage
- CI/CD setup
- Containerization
- Cloud service integration
- Metrics, logs, traces
- Familiarize with rust toolchain: testing, async/await
cargo watch -x check -x test -x run
to run compilation/test/run on file changes.
To check test coverage:
cargo install cargo-tarpaulin
cargo tarpaulin --ignore-tests
To disable a clippy warning: #[allow(clippy::lint_name)]
- Understand
mod
,pub use
(e.g., in mod.rs). - Understand when to use, e.g.
use crate::routes
vsuse zero2prod::startup::run
.
- Understand all those tracing related crates (e.g.,
tracing::instrument
). - Wire tracing with open telemetry (
tracing-opentelemetry
). -
tracing
v.s.log
.
- Use a container image for the app. E.g. Wolfi.
- Deploy to cloudflare if possible.
-
.into()
method -
?
operator
-
std::fmt::Debug
andstd::fmt::Display
. -
?
v.s.unwrap()
. -
async
/await
.