Application
216 articles
Challenges Faced When Checking PHP 8.2 Compatibility with PHPCompatibility
Explore PHP 8.2 compatibility checks with PHPCompatibility CodeSniffer, addressing tool limitations and the develop branch.
About Go's rune Type
Learn what Go rune type is and how it represents Unicode code points (int32 alias). Covers string vs. rune differences, range loop behavior, and multi-byte character handling.
One-Liner for Self-Signed Certificates in Go
Generate a self-signed TLS certificate in Go with one command using the built-in generate_cert.go tool. Produces cert.pem and key.pem for local HTTPS without openssl or mkcert.
Implementing Exponential Backoff and Jitter in Go
Implement exponential backoff with jitter in Go for robust retry logic. Covers multiplying retry delays, adding randomness to prevent thundering herd, retry limits, and timeouts.
FuelPHP and PHP Update Project Report
Learn how to update FuelPHP applications from PHP 7.3 to 8.1 with monolithic architecture strategies and compatibility tools.
Changes to ServeMux Specification in Go 1.22rc
Explore Go 1.22 enhanced ServeMux routing: HTTP method patterns (GET /items), wildcard path params (/items/{id}), the /{$} exact-match wildcard, and Request.PathValue.
A Collection of Links for Reviewing gRPC and Protocol Buffers
Review essential gRPC and Protocol Buffers resources covering load balancing, Kubernetes deployment, and best practices.
Using Workspace Mode with Go's Multi-Module Structure
Learn how Go Workspace mode (Go 1.18+) simplifies multi-module development. Covers go work init, go.work file structure, and referencing local modules without editing go.mod.
Schema-Driven Development with OpenAPI
Learn OpenAPI schema-driven development, REST API specification, code generation, and mock server benefits.
Distributing Go Applications with GoReleaser
Using GoReleaser to cross-compile and distribute Go application binaries.
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
Summarizing what I researched while practicing GraphQL.
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
100 Tips for Go: How to Address Common Developer Mistakes
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.