Phase 1: Unlearning & Idiomatic Go
Week 1–3 · Day 1–15 · Bare-metal values, errors, composition
Explore Phase 1 →Master Curriculum Roadmap: จาก JVM สู่ Senior/Lead Go Architect — 4 phases, 55 days
Week 1–3 · Day 1–15 · Bare-metal values, errors, composition
Explore Phase 1 →Week 4–7 · Day 16–30 · Goroutines, channels, GMP, GC
Explore Phase 2 →Week 8–11 · Day 31–45 · HTTP, gRPC, pgx, observability
View roadmap →Week 12+ · Day 46–55 · Escape analysis, pprof, capstone
View roadmap →ล้างภาพจำ Magic Annotations, Reflection และ Class Hierarchy สู่ความโปร่งใสของ Go: Values บน RAM, Memory Layout ไร้ Overhead และ Composition over Inheritance. เปิด Phase 1 →
Stack vs Heap, Dereferencing, Unaddressable values, JVM Reference passing เทียบกับ Go Pure Value Copying
8-byte boundary, Struct field reordering, L1/L2 cache locality, False sharing เบื้องต้น
Data ptr, Len, Cap, Reallocation trap, Sub-slice memory retention leaks
Hash distribution, 8-key buckets, Overflow chains, Load factor 6.5, Non-thread-safe design
String memory sharing, Zero-copy conversions, Runes vs Bytes
ทำไม Go ไม่มี Exception/Stack Traces, var Err..., errors.New vs fmt.Errorf
errors.Is, errors.As & Wrapping %w)Tree traversal, Custom unwrappers, Structured contextual errors, Typed nil trap
Panic ไม่ใช่ Exception, Goroutine panic recovery boundaries ใน Banking Engine
Field/Method Promotion, Method Shadowing, Contiguous RAM layout
Structural Duck Typing, 16-byte interface fat pointers, Method Sets, Dynamic dispatch latency
จาก Spring Layer-Driven สู่ Go Domain-Driven Packages, Cyclic Dependency, internal/
io.Reader, io.Writer, bufio)Streaming, Buffered scanning, Zero-copy สำหรับไฟล์ธุรกรรมขนาดใหญ่
Event Parsing Pipeline, Memory pre-allocation, Bitmask error flags
CLI Financial Ledger Parser: In-place byte scanning, [12]byte fixed array packing
Single-Pass summary, testing.B, พิสูจน์ 0 B/op, 0 allocs/op
เปลี่ยนจาก 1MB OS Threads ใน JVM สู่ 2KB Goroutines บน User-Space Scheduler และบริหาร State ด้วย Channel Pipelines ร่วมกับ Low-Level Sync. เปิด Phase 2 →
2KB Goroutine vs 1MB JVM Thread, Contiguous stack, Asynchronous preemption, Panic isolation
Circular buffer, sudog, Wait queues, Holy Channel State Matrix (Nil, Open, Closed)
select, Non-Blocking I/O & Timeoutsselectgo, Nil channel deactivation, time.After memory leak trap
Type-safe directional channels (chan<-, <-chan), Fan-In / Fan-Out
sync.Mutex & sync.RWMutex8-byte Mutex, Normal vs Starvation modes, Non-reentrancy by design
WaitGroup atomic layout, sync.Once double-checked locking, sync.Cond signaling
sync/atomicCAS, Atomic Add/Load/Store, CPU Bus Locking vs Cache Coherency
Propagation graph, Timeout enforcement, หลีกเลี่ยง Value abuse ใน Banking pipeline
go test -race)Data races, Deadlocks, Goroutine leaks, ThreadSanitizer shadow memory
High Ingestion Worker Pool, Static allocation, Throttling
LRQ 256 slots, GRQ, Work-stealing, Network Poller handoff
Syscall decoupling (P drops M), sysmon, Retake mechanism
Non-blocking socket I/O, Goroutine parking/unparking
Write Barrier, Mark-Sweep, Pacer, STW ระดับ sub-millisecond
Fan-out workers, Graceful shutdown, ตรวจด้วย -race 100%
สร้าง Distributed Services ระดับ Production-Grade สำหรับงาน Banking ที่ทนทาน ปลอดภัย และทดสอบได้จริงโดยไม่พึ่ง Magic Frameworks
net/http internals, Custom middleware, Context passing
MaxIdleConns, IdleConnTimeout, Keep-Alive, TCP socket reuse
Protobuf wire format, Schema definition, Protoc Go code generation
Auth/Logging/Metrics interceptors, Deadline propagation, Circuit breaking
Client-side, Server-side และ Bidirectional streaming สำหรับ real-time ledger feeds
Native wire protocol, PreparedStatement cache, Zero-alloc binary decoding
MaxConns, MinConns, MaxConnLifetime, Starvation handling
Read Committed vs Repeatable Read vs Serializable, Deadlock detection
golang-migrate, Expand/Contract database pattern
Unit of Work ใน Go, ส่ง Tx ข้าม Repository ผ่าน context.Context
log/slogJSON formatting, Contextual attributes, Zero-alloc custom handlers
W3C TraceContext, Spans, tracing ข้าม gRPC/HTTP
Counter, Gauge, Histogram สำหรับ p95/p99 latency และ TPS
Idiomatic table tests, t.Run, Interface mocking โดยไม่พึ่ง Magic Mock
gRPC + pgx + OpenTelemetry + testcontainers-go
บีบเค้นประสิทธิภาพระดับฮาร์ดแวร์ ปรับโปรแกรมสู่ Zero-Allocation และขจัดคอขวดอย่างเป็นวิทยาศาสตร์
go build -gcflags="-m -m", กฎที่ทำให้ตัวแปรหนีจาก Stack ลง Heap
Slice truncation reuse, Array pointers, unsafe.Pointer
sync.PoolpoolLocal caches, GC drain behavior, reuse byte buffers
Inlining heuristics, Mid-stack inlining, Bound-check elimination
CPU Flamegraphs, Heap inuse_space vs alloc_space
Lock Contention, Channel blocking bottlenecks
go tool traceScheduling latency, Syscall delays, GC stop-the-world pauses
ออกแบบ Ultra-Fast Ledger / Race Timing In-Memory Store
Sharded Ring Buffers, Partitioned state เพื่อขจัด lock contention
Benchmark เปรียบเทียบ พร้อมรายงาน pprof ก่อนและหลังจูน