ALL_SERIES
SERIES_OVERVIEW // CURRICULUM_MAP

Learn Go

// Materi Part 01 seri belajar Go untuk software engineer: mental model Go, tujuan desain bahasa, cara membaca program Go, dan rencana 20 jam pertama berbasis framework The First 20 Hours.

35 Lessons495 Min Total04 Phases

This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.

advanced-goapi-designarchitecturearchitecture-reviewarrays+129 more

Curriculum Map

Navigate by phase, then choose the lesson that matches your current depth.

07

Pointers, Memory, Allocation, dan Escape Analysis

13 min

Materi mendalam tentang pointer, value semantics, allocation, escape analysis, mutability boundary, dan desain API Go yang aman untuk software engineer.

08

Packages, Modules, Visibility, dan Dependency Boundaries

15 min

Materi mendalam tentang package, module, exported identifier, internal package, go.mod, go.sum, workspace, dan dependency boundary dalam Go.

09

Idiomatic Go: Dari Bisa Menulis ke Bisa Dibaca

13 min

Materi mendalam tentang idiomatic Go untuk software engineer: readability, naming, package design, interfaces, error style, API design, dan checklist code review Go.

10

Error Handling, Domain Failure, dan Defensive Boundaries

12 min

Materi mendalam tentang error handling di Go: error as value, wrapping, errors.Is, errors.As, sentinel error, custom error, domain failure, retryability, dan boundary translation.

11

Testing Fundamentals: Unit, Table Test, Example, dan Testdata

13 min

Materi mendalam tentang testing fundamental di Go: unit test, table-driven test, subtest, helper, testdata, golden file, example test, coverage, dan desain test yang stabil.

12

Benchmarking, Fuzzing, dan Property-style Thinking

11 min

Materi mendalam tentang benchmark, fuzzing, dan property-style thinking di Go: b.N, allocation measurement, fuzz target, seed corpus, invariants, dan regression testing.

13

Goroutines, Channels, dan Select: Mental Model Concurrency Go

13 min

Materi mendalam tentang goroutine, channel, select, pipeline, worker pool, backpressure, cancellation, dan failure mode concurrency Go untuk software engineer.

14

Sync Primitives: Mutex, WaitGroup, Once, Cond, dan Atomic

12 min

Materi mendalam tentang primitive sync Go: Mutex, RWMutex, WaitGroup, Once, Cond, sync.Map, atomic, lock design, deadlock, data race, dan concurrency correctness.

15

Context, Cancellation, Deadline, dan Lifecycle Control

15 min

Materi mendalam tentang context.Context di Go: cancellation, timeout, deadline, request lifecycle, graceful shutdown, dan desain API cancellation-aware untuk service production-grade.

16

Go Memory Model, Race Detector, dan Concurrency Correctness

16 min

Materi mendalam tentang Go Memory Model, happens-before, data race, synchronization, race detector, dan cara menulis concurrent Go code yang benar secara produksi.

17

Runtime Go: Scheduler, Stack, GC, dan Cost Model

18 min

Panduan mendalam runtime Go untuk software engineer: scheduler, goroutine stack, garbage collector, allocation pressure, syscall, blocking operation, runtime metrics, dan cost model production.

18

Standard Library I/O: Files, Buffers, Readers, Writers, Encoding

13 min

Panduan mendalam standard library I/O Go: io.Reader, io.Writer, os, fs, embed, bufio, JSON, CSV, streaming, error handling, dan resource management production-grade.

19

HTTP Client dan Server yang Benar

13 min

Panduan production-grade untuk membangun HTTP client dan server di Go: net/http, handler, middleware, timeout, context, body lifecycle, connection pooling, dan error contract.