Go
Go from fundamentals to production
- 01 Getting Started with Go Why Go exists, how to set it up, and your first program — understand the philosophy before writing a single line. beginner 15 min →
- 02 Types, Variables & Control Flow Go's type system is simple but strict — learn the building blocks before you build anything real. beginner 18 min →
- 03 Functions & Error Handling Go's approach to functions and errors is radically different from most languages — explicit, composable, and impossible to ignore. beginner 20 min →
- 04 Pointers & Memory Pointers let you share data without copying it — understand them once and never be confused by & and * again. beginner 16 min →
- 05 Structs & Methods Go doesn't have classes — it has structs with methods. Simpler, more explicit, and surprisingly powerful. beginner 18 min →
- 06 Interfaces & Polymorphism Go interfaces are implicit — no 'implements' keyword needed. This changes everything about how you design software. intermediate 20 min →
- 07 Generics Write code that works with any type — Go 1.18's biggest feature eliminates boilerplate without sacrificing type safety. intermediate 18 min →
- 08 Packages, Modules & Testing How to organize Go code for real projects — dependency management, package design, and writing tests that catch real bugs. intermediate 20 min →
- 09 Strings, Runes & Encoding Go strings are UTF-8 byte slices — knowing this prevents an entire class of bugs when handling international text, emojis, and binary data. intermediate 15 min →
- 10 Concurrency with Goroutines Go's concurrency model is its killer feature — goroutines and channels make concurrent programming feel natural, not terrifying. intermediate 22 min →
- 11 Advanced Concurrency Patterns Context, sync primitives, worker pools, and the patterns that power Go at scale — from Uber to Cloudflare. intermediate 22 min →
- 12 Working with Data JSON, HTTP clients, databases, and file I/O — the bread and butter of every Go backend service. intermediate 22 min →
- 13 Building REST APIs A complete, production-grade REST API from scratch — routing, validation, error responses, and the project structure used at real companies. intermediate 25 min →
- 14 Authentication & Middleware JWT authentication, middleware chains, CORS, rate limiting — the security and cross-cutting concerns every API needs. intermediate 20 min →
- 15 Database Patterns Migrations, repository pattern, connection pooling, and query builders — the database layer that scales. intermediate 22 min →
- 16 gRPC & Protocol Buffers High-performance service-to-service communication — gRPC is what REST wants to be when services talk to each other. intermediate 20 min →
- 17 WebSockets & Real-Time Build real-time features in Go — chat, live updates, notifications — using WebSockets and Go's concurrency model. intermediate 20 min →
- 18 Error Handling at Scale Beyond 'if err != nil' — error wrapping strategies, domain errors, error budgets, and patterns from large Go codebases. advanced 18 min →
- 19 Testing Strategies Unit tests, integration tests, test fixtures, mocking, and testcontainers — testing that catches real bugs, not just checkbox coverage. advanced 22 min →
- 20 Observability Logs, metrics, and traces — the three pillars that let you understand what your Go service is doing in production. advanced 20 min →
- 21 Production Go Logging, configuration, graceful shutdown, profiling, and deployment — everything between 'it works on my machine' and running at scale. advanced 25 min →
- 22 Building CLI Tools Go's single-binary output makes it perfect for CLI tools — build developer tools, automation scripts, and DevOps utilities. advanced 18 min →
- 23 Design Patterns in Go Go's simplicity changes how you apply classic patterns — no classes, no inheritance, just composition and interfaces. advanced 20 min →
- 24 Security Best Practices SQL injection, XSS, CSRF, secrets management, and cryptography — secure your Go services against real-world attacks. advanced 18 min →
- 25 Case Study: URL Shortener Build a complete URL shortener from scratch — applying everything you've learned: HTTP, database, caching, testing, and deployment. advanced 25 min →