All Articles

Sort by topic / Sort by publication date

Go language features

  1. An introduction to Packages, Imports and Modules in Go Beginner
  2. Golang Interfaces Explained Beginner
  3. A gentle introduction to Pointers Beginner
  4. Demystifying function parameters in Go Beginner
  5. Understanding Mutexes Intermediate

Web applications

  1. Serving Static Sites with Go Beginner
  2. Golang Response Snippets: JSON, XML and more Beginner
  3. An Introduction to Handlers and Servemuxes in Go Beginner
  4. Which Go router should I use? Beginner
  5. Making and Using HTTP Middleware Beginner
  6. How to Disable http.FileServer Directory Listings Intermediate
  7. A complete guide to working with Cookies in Go Intermediate
  8. The ‘fat service’ pattern for Go web applications Intermediate
  9. How to Rate Limit HTTP Requests Intermediate
  10. I18n in Go: Managing Translations Intermediate
  11. How to correctly use Basic Authentication in Go Intermediate
  12. How to use the http.ResponseController type Advanced

Form processing and validation

  1. Form Validation and Processing in Go Beginner
  2. Validation Snippets for Go Beginner
  3. Simple Flash Messages in Go Beginner
  4. HTTP Method Spoofing in Go Intermediate

Working with databases

  1. An Introduction to using SQL Databases in Go Beginner
  2. Organising Database Access in Go Intermediate
  3. Configuring sql.DB for Better Performance Advanced
  4. How to Manage Database Timeouts and Cancellations in Go Advanced
  5. Working with Redis in Go Intermediate

Working with JSON

  1. How to Parse a JSON Request Body in Go Intermediate
  2. Surprises and Gotchas When Working With JSON Intermediate
  3. Using PostgreSQL JSONB with Go Advanced

Miscellaneous tutorials

  1. An Overview of Go's Tooling Intermediate
  2. Custom command-line flags with flag.Func Intermediate
  3. How to Hash and Verify Passwords With Argon2 in Go Advanced
  4. Continuous integration with Go and GitHub Actions Intermediate
  5. Using go run to manage tool dependencies Intermediate
  6. Streamline Your Sublime Text + Go Workflow Intermediate
  7. How to build a Serverless API with Go and AWS Lambda Intermediate

Quick tips

  1. Quick tip: Implementing an in-memory cache in Go Intermediate
  2. Quick tip: A time-saving Makefile for your Go projects Intermediate
  3. Quick tip: Change URL query params in Go Intermediate
  4. Quick tip: Easy test assertions with Go generics Intermediate

My open source work

  1. Flow: A delightfully tiny but powerful HTTP router for Go
  2. SCS: A session manager for Go
  3. Golang Automatic Reloads
  4. Context-Aware Handler Chains in Go (using Stack)