
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.
Servers, handlers, middleware, templates, cookies and sessions on net/http, plus the parts of a real website the tutorials leave out.

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.