Kodeloka
  1. Kodeloka
  2. Kelas Golang
  3. Materi

Materi tertulis · 267 bab dalam 27 domain

Materi Golang

Kelas Golang lengkap berbahasa Indonesia: 267 bab dari sintaks dasar, goroutine dan channel, web server net/http, database, gRPC, observabilitas, Docker, sampai ujian akhir. Dengan editor praktik dan kuis.

  1. Domain 1: Fondasi Bahasa Go52 bab: Pengenalan Golang, Menginstall Golang & Setup Environment, Membuat Project Go, Program Hello World, Multiple Main Function, Tipe Data Number, Tipe Data Boolean…
  2. Domain 2: Standard Library22 bab: Pengenalan Standard Library, Package fmt (Formatting I/O), Package errors, Package os, Package flag, Package strings, Package strconv (String Conversions)…
  3. Domain 3: Go Modules & Dependency6 bab: Pengenalan Go-Modules & Semantic Versioning, Membuat Module Baru & Inisialisasi, Release Module ke Git & GitHub, Menambah Dependency Eksternal, Upgrade Minor &…
  4. Domain 4: Golang Generics8 bab: Pengenalan Generics & Type Parameters, Generic Functions & Type Inference, Generic Structs & Data Structures, Type Sets & Custom Constraints, Comparable…
  5. Domain 5: Unit Testing & Benchmark10 bab: Pengenalan Software Testing & Package testing, Membuat Unit Test Pertama (TestXxx), Menggagalkan Test (Fail, FailNow, Error, Fatal), Assertion dengan Testify…
  6. Domain 6: Goroutines & Concurrency11 bab: Concurrency vs Parallelism & Go Scheduler, Membuat Goroutines (keyword go), Channels (Kirim & Terima Data antar Goroutine), Channel Direction & Buffered…
  7. Domain 7: Package Context5 bab: Pengenalan Context & Context Tree, context.Background, context.TODO, & WithValue, context.WithCancel (Sinyal Pembatalan Manual), context.WithTimeout &…
  8. Domain 8: Go Modern (1.21 - 1.26)4 bab: Iterator & range-over-func (Go 1.23), Paket slices, maps & cmp, errgroup & Concurrency Terstruktur, Fuzzing & testing/synctest.
  9. Domain 9: Golang JSON9 bab: Pengenalan Package encoding/json, Encode JSON (json.Marshal), JSON Objects & Struct Mapping, Decode JSON (json.Unmarshal), JSON Array & Slices Mapping, Custom…
  10. Domain 10: Golang Logging8 bab: Pengenalan Logging & Package Logrus, Level Logging (Trace, Debug, Info, Warn, Error, Fatal, Panic), Output Logging (File & Multi-Writer), Log Formatter…
  11. Domain 11: Golang Embed6 bab: Pengenalan Package Embed & Directive //go:embed, Embed File ke Variable String, Embed File ke Variable Byte Slice ([]byte), Embed Multiple Files dengan embed.FS…
  12. Domain 12: Golang Viper Configuration8 bab: Pengenalan Configuration Management & Package spf13/viper, Membaca File Konfigurasi (JSON, YAML, ENV file), Mengambil Nilai Konfigurasi (GetString, GetInt…
  13. Domain 13: Golang Validation8 bab: Pengenalan Data Validation & Library go-playground/validator, Validasi Field Dasar (Required, Email, Min/Max, Numeric), Validasi Struct & Nested Struct…
  14. Domain 14: Golang Dependency Injection8 bab: Konsep Dependency Injection & Loose Coupling, Pengenalan Google Wire (Compile-Time DI Generator), Provider & Constructor Function Pattern, Injector Function &…
  15. Domain 15: Database & MySQL8 bab: Pengenalan Package database/sql & Driver, Koneksi Database & Connection Pool, Eksekusi SQL Write (db.ExecContext), Membaca Data (QueryContext & QueryRowContext)…
  16. Domain 16: Golang Database Migration7 bab: Pengenalan Database Migration & Golang Migrate Tool, Anatomi File Migration (.up.sql dan .down.sql), Perintah CLI golang-migrate (up, down, version, force)…
  17. Domain 17: Golang GORM ORM Framework9 bab: Pengenalan GORM & DB Connection Setup, Defining GORM Models, Struct Tags & AutoMigrate, CRUD Basic Operations: Insert & Single Record Creation, Querying Records…
  18. Domain 18: Database Go Modern2 bab: pgx - Driver PostgreSQL Berkinerja Tinggi, sqlc - SQL Aman Tipe Tanpa ORM.
  19. Domain 19: Golang Redis Client9 bab: Pengenalan Redis & Driver go-redis/v9 di Golang, String Operations (Set, Get, SetEX, MGet, MSet, Del), Expiration & TTL Management (Expire, TTL, Persist), Hash…
  20. Domain 20: Golang Web Development23 bab: Arsitektur Web (Client & Server) & Package net/http, HTTP Server & http.ListenAndServe, Handler & http.HandlerFunc, Multi-Routing dengan http.ServeMux, Handling…
  21. Domain 21: Golang HTTP Router9 bab: Pengenalan Library julienschmidt/httprouter, Routing Method Spesifik & Handler (GET, POST, PUT, DELETE), Named Path Parameters (:param), Catch-All Path Parameters…
  22. Domain 22: Golang RESTful API10 bab: Arsitektur Clean RESTful API (Entity, Repository, Service, Controller, Router), Model Entity & Data Transfer Object (Request & Response DTO), Repository Layer &…
  23. Domain 23: Golang Fiber Web Framework9 bab: Pengenalan Fiber Framework & Fasthttp Engine, Inisialisasi App & Routing Dasar (GET, POST, PUT, DELETE), Fiber Context (fiber.Ctx) & Request Handling, Response…
  24. Domain 24: gRPC & Protocol Buffers2 bab: Pengenalan gRPC & Protobuf di Go, gRPC Streaming, Interceptor & Produksi.
  25. Domain 25: Observability Go2 bab: OpenTelemetry di Go - Trace & Metrik, Structured Logging Produksi dengan slog.
  26. Domain 26: Deployment & Production Go9 bab: Instalasi Go di Windows (PC Baru), Instalasi Go di Linux / Ubuntu, Menjalankan Go App di VPS / Ubuntu Server, Deploy Go dengan systemd Service, Dockerize Aplikasi…
  27. Domain 27: Mini Project Go3 bab: Mini Project: REST API CRUD Server, Mini Project: CLI Tool dengan Flag & Args, Mini Project: Simple File-based Task Manager.