? 10-Week Golang Learning Plan for Distributed Systems
? 10-Week Golang Learning Plan for Distributed Systems
Distributed Systems
Tools & Frameworks
Tool/Framework Use Case
Docker Containerization
Recommended Books
Book Title Link
Go in Action Amazon
Concurrency in Go Amazon
Weekly Breakdown
Week Topic
Topics:
Syntax, variables, control structures
Functions, packages, modules
Go toolchain ( go run , go build , go mod )
Testing and debugging
Resources:
Go Tour
Effective Go
Go By Example
Udemy: Learn How To Code: Google's Go (Golang) Programming Language
Projects:
1. CLI Calculator
2. File Scanner
3. URL Shortener (CLI)
4. Todo CLI App
5. Markdown to HTML Converter
Topics:
Structs and methods
Interfaces and type assertions
Error handling
Unit testing, benchmarks
Goroutines (intro)
Resources:
Go Blog
Go Testify
Go 101
Projects:
1. Bank Account Manager
2. REST API Client
3. CSV Data Analyzer
4. Simple ORM
5. Rate Limiter
Topics:
Goroutines and sync.WaitGroup
Channels and select statements
Mutexes and atomic operations
Context package for cancellation
Resources:
Concurrency in Go (Book)
Go Concurrency Patterns (Talk by Rob Pike)
Go Channel Axioms (Talk by Sameer Ajmani)
Projects:
1. Web Crawler
2. Parallel File Downloader
3. Chat Server
4. Job Scheduler
5. Concurrent Cache
Topics:
TCP/UDP basics
HTTP clients/servers
Middleware and routing
JSON/XML parsing
TLS/SSL
Resources:
Go HTTP Package Docs
Go Web Examples
Building Web Apps with Go (Gobook)
Projects:
1. HTTP Proxy Server
2. REST API with JWT Auth
3. WebSocket Chat App
4. Load Balancer
5. Rate-Limited API
Topics:
RPC (Remote Procedure Calls)
gRPC and Protobuf
Microservices architecture
Containerization (Docker)
Kubernetes basics
Resources:
gRPC Go Docs
Kubernetes Docs
Go Kit Distributed Tracing
Docker Docs
Microservices Patterns (Chris Richardson)
Projects:
1. gRPC Chat Service
2. Distributed Key-Value Store
3. Service Mesh with Istio
4. CI/CD Pipeline
5. Event Streaming System