
Do You Need a Go Web Framework or Just net http Alone
Write one small notes API twice, with net/http and with gin, and compare the code you write, where the behavior differs and what the framework really saved.
Everything you need to level up your coding skills.

Write one small notes API twice, with net/http and with gin, and compare the code you write, where the behavior differs and what the framework really saved.

Serve HTTPS from a Go program with autocert and Lets Encrypt, limit which hostnames may get certificates, persist the cache and handle port 80.

Generate a valid RSS 2.0 feed in Go with encoding/xml: required fields, stable GUIDs, RFC 1123 dates, absolute URLs, escaping and conditional GET.

Add strong ETags and If-None-Match handling to Go handlers, including weak comparison, lists of tags and a 304 that repeats the right headers.

Build a contacts directory with templ and HTMX: live search, endless scroll, click to edit with validation, delete with an out of band count and fragments.

Test Go middleware one piece at a time with a spy handler, then test the whole chain for order, short circuits, panics, headers and context values.

A one page templ cheat sheet: component syntax, control flow, attributes, css and script components, children, fragments, helpers and commands in one program.

Build a server sent events endpoint in Go with flushing, event ids, Last-Event-ID resume, heartbeats and clean shutdown, and see the wire format it sends.

Build the sending side of webhooks in Go: signed deliveries, a retry schedule that honors Retry-After, permanent versus temporary failures and dead endpoints.

Write liveness, readiness and startup endpoints for a Go service: what each should check, how to bound dependency checks, and how readiness fits shutdown.

A one page Go HTTP cheat sheet: server settings, routing, JSON helpers, middleware, shutdown, a safe client, status codes and headers, all run together.

Download a large file in Go into a partial file, report progress, resume with Range and If-Range after a failure, and rename it into place when complete.
We send one email when a new article is published. No spam.