Honest Take — Before You Begin
This module is where Go stops being "worse Ruby" and becomes something Ruby cannot be. And I mean that literally -- Ruby's Global VM Lock means that in all your years of Rails, yo…
Go Concurrency & Networking covers: The Go Programming Language, Concurrency in Go, Network Programming with Go. Master goroutines, channels, select, sync primitives, and Go's networking stack. This is where Go shines and where Ruby falls short.
| Ruby/Rails | Go |
|-----------|-----|
| Thread.new { work } | go work() — 1000x lighter, no GVL |
| Mutex.new / synchronize | sync.Mutex / Lock() / Unlock() |
| SizedQueue.new(10) | make(chan T, 10) — buffered channel |
| ActiveJob.perform_later | Goroutine with channel (or worker pool) |
| Sidekiq (Redis-backed workers) | Goroutine pool with channels (no external dependency) |
| Timeout.timeout(5) | context.WithTimeout — idiomatic, composable |
| Net::HTTP.get(uri) | http.Get(url) — built-in, production-ready |
This course unlocks once you've finished its prerequisite. Open prerequisite →
This module is where Go stops being "worse Ruby" and becomes something Ruby cannot be. And I mean that literally -- Ruby's Global VM Lock means that in all your years of Rails, yo…
When you finished Course 2, one region of the Go book was deliberately left dark: Chapters 8 and 9. You previewed goroutines the way you might glance at an engine through a window…
Sidekiq is a concurrency pattern you bought instead of built. Redis-backed queue, worker pool, retry with backoff, a dashboard — thousands of Rails apps run on that one shape. It …
Here is a question from your own production history: when your Rails app called a flaky third-party API and a Puma worker sat frozen for sixty seconds, what exactly was frozen? No…
Work through each item before the checkpoint.
A worker-pool crawler with rate limiting, per-fetch timeouts, and graceful cancellation — goroutines, channels, select, and context doing exactly what Sidekiq and Faraday have bee…
6 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.