Go26 phases · 104 topics
Progress
0 / 104
Foundations
▸
Goroutine Scheduling (M:N)
▸
Channel Types & Directions
▸
Select Statement & Multiplexing
Core Concepts
▸
Fan-Out / Fan-In Patterns
▸
Context Package & Cancellation
▸
sync.Pool & Object Reuse
Intermediate Skills
▸
Worker Pool (Pipeline)
▸
errgroup for Error Handling
▸
Interface Satisfaction (Duck Typing)
Advanced Topics
▸
Empty Interface (any) & Type Assertions
▸
Type Switches
▸
Interface Embedding
Expert Level
▸
Generics in Go 1.18+
▸
Type Constraints & ~ Operator
▸
Constraints Package (comparable, ordered)
Mastery
▸
Go Memory Model (happens-before)
▸
Stack vs Heap Allocation (Escape Analysis)
▸
GC: Non-Generational Concurrent Mark-Sweep
Ecosystem
▸
GC Tuning (GOGC, GOMEMLIMIT)
▸
Memory Profiling (pprof)
▸
Compiler Alloc Optimizations
Architecture
▸
Goroutine Stack Growth
▸
reflect.Type & reflect.Value
▸
Modifying Values via Reflection
Optimization
▸
Reflective Struct Tag Parsing
▸
Creating Functions at Runtime
▸
Deep Equal Implementation
Deployment
▸
Performance Cost of Reflection
▸
Flect Library for Reflection
▸
Table-Driven Tests
Phase 11
▸
Subtests & Parallel Execution
▸
Test Fixtures (TestMain)
▸
Fuzzing (Go 1.18+)
Phase 12
▸
Benchmarking & Profiling
▸
Mocking Interfaces with Testify
▸
Integration Testing with httptest
Phase 13
▸
Mutex vs RWMutex
▸
Atomic Operations (sync/atomic)
▸
Once for Lazy Initialization
Phase 14
▸
Cond for Event Signaling
▸
Semaphore Pattern (Weighted)
▸
Pipeline & Chain Patterns
Phase 15
▸
Parallel MapReduce in Go
▸
CPU & Memory Profiling (pprof)
▸
Tracing with go tool trace
Phase 16
▸
Escape Analysis & Allocation Reduction
▸
Compiler Optimizations (inlining, bounds check elimination)
▸
Benchmark Best Practices (benchmem)
Phase 17
▸
Weapon of Mass Destruction: sync.Pool Explained
▸
Profiling gRPC & HTTP Services
▸
Module Path & Versioning
Phase 18
▸
Go Sum & Checksum Database
▸
Workspace Mode (Go 1.18+)
▸
Replacing Dependencies (replace directive)
Phase 19
▸
Vendor Mode
▸
Minimal Version Selection (MVS)
▸
Retract & Deprecation Directives
Phase 20
▸
unsafe.Pointer & ArbitraryType
▸
Sizeof, Alignof, Offsetof
▸
Pointer Arithmetic
Phase 21
▸
String to Byte Slice Conversion (no copy)
▸
Slice Header Manipulation
▸
unsafe.Slice & unsafe.String (Go 1.20+)
Phase 22
▸
Safety Rules for unsafe.Pointer
▸
net/http Handler Internals
▸
HTTP Client Connection Pooling
Phase 23
▸
gRPC Streams vs Unary
▸
WebSocket (gorilla/websocket)
▸
TCP Server with net.Dialer
Phase 24
▸
UDP & Multicast in Go
▸
TLS Certificate Pinning
▸
JSON Encoding Tags & MarshalJSON
Phase 25
▸
Custom Marshaler/Unmarshaler
▸
Protocol Buffers (protobuf)
▸
MessagePack (msgpack)
Phase 26
▸
Gob Encoding
▸
Binary Encoding (binary package)
▸
Schema Evolution & Compatibility
Go RoadmapGo
Space mark complete
·
Esc close
·
Drag pan
·
Wheel zoom