Managing project tools with Go
Comparing approaches for managing non-application tool dependencies in Go projects, including go tool, tools.go, and go run.
Comparing approaches for managing non-application tool dependencies in Go projects, including go tool, tools.go, and go run.
A custom shell-based solution for automatically installing and switching Go versions when changing directories.
Essential Go concurrency patterns including goroutines, channels, mutexes, and common synchronization techniques.
Using bitwise operators in Go to manipulate individual flags within a single integer for compact state management.
A hands-on guide to building and deploying edge applications with Fastly Compute using JavaScript, Go, or Rust compiled to Wasm.
Why an interface holding a nil pointer is not itself nil in Go, and how typed nils can cause unexpected behavior.
A step-by-step guide to writing a custom Terraform provider in Go using the terraform-plugin-sdk.
How to install, manage, and switch between multiple Go versions using official tools and custom shell functions.
Configuring Neovim with LSP support for Rust and Go development, including required executables and plugin setup.
A personal Go style guide covering naming, error handling, interfaces, slice gotchas, and function design patterns.
A practical walk-through of Go's reflect package using a real CLI flags library as the guiding example.
A deep dive into how Go arrays and slices work, including memory layout, append behavior, and capacity gotchas.
A practical guide to designing flexible Go code using interfaces, dependency injection, and programming to abstractions.
Building a reverse proxy in Go using httputil.ReverseProxy, from simple single-origin to configurable multi-route setups.
Techniques and tools for profiling Go applications including pprof, benchmarks, and memory management analysis.
How to use Docker containers as clean, isolated development environments for Python and Go projects.
A comprehensive cheat sheet covering Go fundamentals, from types and control flow to concurrency and testing.
An introduction to Google's gRPC framework covering Protocol Buffers, service definitions, and building clients and servers.
Exploring different RPC implementations in Go including net/rpc, JSON-RPC, and gRPC with Protocol Buffers.
How Go's http.HandlerFunc adapter uses a func type to satisfy the Handler interface and enable flexible HTTP routing.
An exploration of shared memory vs message passing concurrency models including threads, locks, actors, and CSP.