Application
223 articles
Command to Generate ADR Template Files
Implement a Make command to auto-generate Architecture Decision Record templates with automatic numbering and status tracking capabilities.
What is GraphQL? A Complete Guide with Practical Examples
A summary of what I researched while practicing GraphQL. Drawing on tutorials like How to GraphQL, it introduces how queries and mutations work, how GraphQL compares with REST, and practical samples for getting started.
Resources Referenced for Creating an HTTP Router
Explore resources for building HTTP routers including radix trees, trie structures, and benchmark comparisons in Go.
Contextual Logging with slog
Learn contextual structured logging in Go using log/slog (Go 1.21+). Covers custom slog.Handler, structured JSON output, and injecting trace IDs from context into every log entry.
Side Effects of Go's response.WriteHeader
Learn why calling Go response.WriteHeader multiple times triggers the superfluous call warning. Covers how the first status code wins and how to fix duplicate WriteHeader in HTTP handlers.
Proposal to Extend ServeMux Functionality in Go Accepted
The proposal to add dynamic routing and path parameters to Go net/http ServeMux was accepted. Learn what this means for third-party routers like goblin and the future of routing in Go.
100 Tips for Go: How to Address Common Developer Mistakes
A review of 100 Go Mistakes and How to Avoid Them. A book that comprehensively covers common Go pitfalls as 100 tips. A handy reference for those already comfortable writing Go who want to raise their code quality another notch.
About Go's http.RoundTripper
Learn what Go http.RoundTripper interface is and how to use it as HTTP client middleware. Includes a custom RoundTripper for request logging and response latency measurement.
Implementing Fan-In and Fan-Out in Go
Implement fan-in and fan-out concurrent patterns in Go using channels and goroutines. Fan-in aggregates multiple producer outputs; fan-out distributes one input across multiple workers.
About Template Method and Strategy Patterns
Master Template Method and Strategy patterns—two behavioral design patterns for controlling process flow and runtime method selection.
Distributed Services with Go
A review of Distributed Services with Go. A hands-on book for building distributed services in Go. It deepens practical understanding of modern techniques in a microservices context, the reasoning behind architectures, and how to implement them.
Practical Go Language
A review of Practical Go Language. Even for those who have written Go for a while, a book that surfaces practical knowledge you did not know or had forgotten. From fine conventions like naming error types to the standard practices worth knowing when writing Go professionally, it covers a broad range.
Challenges with Recursion
Understand recursion challenges involving return statements and call stack evaluation with practice strategies.
Programmer Brain
A review of The Programmer's Brain. A book that uses a cognitive-science approach to study coding as a creative process. It reveals what happens in the mind of someone who reads and writes code quickly and accurately, offering hints from how memory and learning work for training the roots of programming ability.
A Book to Train Your Programming Mind
A review of A Book to Train Your Programming Mind. Using arithmetic as material, it trains the kind of thinking that leads into programming. Its content is gentle and suits those first encountering computational thinking; it may feel light for adults, but it lets you check the basics of thought.
Deployment Strategies Explained: Blue-Green, Canary, Rolling, and More
Compare blue-green, canary, rolling, and recreate deployment strategies. Learn when to use each one and how they minimize downtime and reduce deployment risk.
Continuous Profiling with Pyroscope
Explore continuous profiling with Pyroscope. Learn server setup, pull-based profiling, retention configuration, and Grafana integration methods.
How to Use pprof Without DefaultServeMux
A note on how to use Go's net/http/pprof with a custom router instead of the DefaultServeMux. It covers the common pitfall that a blank import alone won't work, and shows how to register handlers such as pprof.Index on your own router so you can still profile performance.
Prevent URL Encoding in Go's html/template
Learn why Go html/template auto-encodes URLs and how to use template.URL to pass raw URLs in templates without triggering automatic HTML encoding. Includes a minimal working example.
Cross-Compiling Go Application Images with buildx
Learn Docker buildx multi-architecture compilation for Go apps. Build cross-platform images for Linux AMD64 and ARM64 targets.