The magic function: designing clean APIs in Rust
How do you design user-friendly APIs in Rust? The answer is easy: you use them! Let’s build a simple Rust CLI tool using what I call the “magic function” approach.
How do you design user-friendly APIs in Rust? The answer is easy: you use them! Let’s build a simple Rust CLI tool using what I call the “magic function” approach.
GoReleaser v2.5 is out with Rust and Zig support - let’s explore how we can use it!
Introduction: In the final episode of the Optimizing Databases on Kubernetes series, Jérôme Petazzoni dives into advanced backup and recovery techniques for PostgreSQL, showcasing how CNPG (Cloud Native PostgreSQL) and ZFS snapshots ensure durability and fast recovery in produc...
Sometimes, working on big projects, running all tests locally take too much time.
Introduction: In Episode 4 of the Optimizing Databases on Kubernetes series, Jérôme Petazzoni benchmarks the performance of various Kubernetes storage classes, including cloud block storage, ZFS, and Rancher’s Local Path provisioner. This episode dives into the practical aspe...
People love single-method interfaces (SMIs) in Go. They’re simple to implement and easy to reason about. The standard library is packed with SMIs like io.Reader, io.Writer, io.Closer, io.Seeker, and more. One cool thing about SMIs is that you don’t always need to crea...
People love single-method interfaces (SMIs) in Go. They’re simple to implement and easy to reason about. The standard library is packed with SMIs like io.Reader, io.Writer, io.Closer, io.Seeker, and more. One cool thing about SMIs is that you don’t always need to crea...
Implement single-method interfaces with function types instead of structs. Master http.HandlerFunc patterns for middlewares, mocks, and adapters.
What we learned from our 2024 H2 developer survey
This is Part 5 in a series of posts describing the Raft distributed consensus algorithm and its complete implementation in Go. Here is a list of posts in the series: Part 0: Introduction Part 1: Elections Part 2: Commands and log replication Part 3: Persistence and optimizations...