RSS.Social

Alex Edwards

follow: @[email protected]

Posts

How to manage configuration settings in Go web applications

Organize your Go middleware without dependencies

When is it OK to panic in Go?

How to manage tool dependencies in Go 1.24+

11 tips for structuring your Go projects

Quick tip: Implementing an in-memory cache in Go

Demystifying function parameters in Go

Quick tip: A time-saving Makefile for your Go projects

How to use the http.ResponseController type

An introduction to Packages, Imports and Modules in Go

A complete guide to working with Cookies in Go

The 'fat service' pattern for Go web applications

Flow: A tiny but powerful HTTP router for Go

How to use go run to manage tool dependencies

Quick tip: Easy test assertions with Go generics

Continuous integration with Go and GitHub Actions

Quick tip: Change URL query params in Go

Which Go router should I use?

I18n in Go: Managing translations

How to correctly use Basic Authentication in Go

Custom command-line flags with flag.Func

Surprises and gotchas when working with JSON

How to manage database timeouts and cancellations in Go

How to parse a JSON request body in Go

Golang Interfaces explained

Using PostgreSQL JSONB with Go

An overview of Go's tooling

How to hash and verify passwords with Argon2 in Go

Streamline your Sublime Text + Go workflow

HTTP Method spoofing in Go

How to build a Serverless API with Go and AWS Lambda

How to disable http.FileServer directory listings

Configuring sql.DB for better performance

How to rate limit HTTP requests in Go

Validation snippets for Go

SCS: A session manager for Go web applications 1.7+

Working with Redis

Organising database access in Go

Practical Persistence in Go: SQL Databases

Context-aware Handler chains

Making and using HTTP Middleware in Go

Simple 'flash' messages in Go

Form validation and processing in Go

HTTP Response Snippets for Go

Understanding Mutexes

Automatic code reloading in Go

An introduction to Handlers and Servemuxes in Go

Serving static sites with Go

A fresh start

The 9 Go test assertions I use (and why)