diff --git a/content/1-berkenalan-dengan-golang.md b/content/1-berkenalan-dengan-golang.md index e416a159d..aac41f8dd 100644 --- a/content/1-berkenalan-dengan-golang.md +++ b/content/1-berkenalan-dengan-golang.md @@ -26,4 +26,5 @@ Pada buku ini (terutama semua serial chapter A) kita akan belajar tentang dasar --- - + + diff --git a/content/2-instalasi-golang.md b/content/2-instalasi-golang.md index 88e8ee6c3..dbce939e5 100644 --- a/content/2-instalasi-golang.md +++ b/content/2-instalasi-golang.md @@ -103,4 +103,4 @@ Jika pembaca tertarik untuk mencoba versi development Go, ingin mencoba fitur ya --- - + diff --git a/content/A-array.md b/content/A-array.md index 0bc7abfd1..fdf896b39 100644 --- a/content/A-array.md +++ b/content/A-array.md @@ -203,4 +203,4 @@ Parameter pertama keyword `make` diisi dengan tipe data elemen array yang diingi --- - + diff --git a/content/A-buffered-channel.md b/content/A-buffered-channel.md index cdac3e3dd..cee814d6c 100644 --- a/content/A-buffered-channel.md +++ b/content/A-buffered-channel.md @@ -74,4 +74,4 @@ Lebih detailnya mengenai fungsi `time.Sleep()` dan `time.Second` dibahas pada ch --- - + diff --git a/content/A-channel-range-close.md b/content/A-channel-range-close.md index 1bffce2ad..5a316c7f3 100644 --- a/content/A-channel-range-close.md +++ b/content/A-channel-range-close.md @@ -78,4 +78,4 @@ Dan sebaliknya pada fungsi `printMessage(ch <-chan string)`, channel `ch` hanya --- - + diff --git a/content/A-channel-select.md b/content/A-channel-select.md index 4ea4c87ad..0dc97208e 100644 --- a/content/A-channel-select.md +++ b/content/A-channel-select.md @@ -87,4 +87,4 @@ Cukup mudah bukan? --- - + diff --git a/content/A-channel-timeout.md b/content/A-channel-timeout.md index e88578441..66f9bdd75 100644 --- a/content/A-channel-timeout.md +++ b/content/A-channel-timeout.md @@ -74,4 +74,4 @@ Muncul output setiap kali ada penerimaan data dengan delay waktu acak. Ketika ti --- - + diff --git a/content/A-channel.md b/content/A-channel.md index d63fd9c2b..0cae9dc06 100644 --- a/content/A-channel.md +++ b/content/A-channel.md @@ -165,4 +165,4 @@ fmt.Println(message) --- - + diff --git a/content/A-client-http-request-simple.md b/content/A-client-http-request-simple.md index 999cbfa5f..5e8775307 100644 --- a/content/A-client-http-request-simple.md +++ b/content/A-client-http-request-simple.md @@ -179,4 +179,4 @@ Kita telah mempelajari bagaimana cara membuat http request sederhana untuk kirim --- - + diff --git a/content/A-command-line-args-flag.md b/content/A-command-line-args-flag.md index 401d76c2b..235d3949c 100644 --- a/content/A-command-line-args-flag.md +++ b/content/A-command-line-args-flag.md @@ -138,4 +138,4 @@ Kegunaan dari parameter terakhir method-method flag adalah untuk memunculkan hin --- - + diff --git a/content/A-concurrency-pipeline.md b/content/A-concurrency-pipeline.md index 7300a989d..f9292f0a0 100644 --- a/content/A-concurrency-pipeline.md +++ b/content/A-concurrency-pipeline.md @@ -543,4 +543,4 @@ Ok sekian untuk chapter panjang ini. --- - + diff --git a/content/A-data-type-conversion.md b/content/A-data-type-conversion.md index c423d6523..271bc98c1 100644 --- a/content/A-data-type-conversion.md +++ b/content/A-data-type-conversion.md @@ -251,4 +251,4 @@ Kombinasi `switch` - `case` bisa dimanfaatkan untuk deteksi tipe konkret data ya --- - + diff --git a/content/A-defer-exit.md b/content/A-defer-exit.md index 69baca607..772ce0266 100644 --- a/content/A-defer-exit.md +++ b/content/A-defer-exit.md @@ -137,4 +137,4 @@ Meskipun `defer fmt.Println("halo")` ditempatkan sebelum `os.Exit()`, statement --- - + diff --git a/content/A-encoding-base64.md b/content/A-encoding-base64.md index 5accb3b3a..90204a0d7 100644 --- a/content/A-encoding-base64.md +++ b/content/A-encoding-base64.md @@ -89,4 +89,4 @@ fmt.Println(decodedString) --- - + diff --git a/content/A-error-panic-recover.md b/content/A-error-panic-recover.md index ab9e52584..c666c7591 100644 --- a/content/A-error-panic-recover.md +++ b/content/A-error-panic-recover.md @@ -218,4 +218,4 @@ Pada kode di atas, bisa dilihat di dalam perulangan terdapat sebuah IIFE untuk r --- - + diff --git a/content/A-exec.md b/content/A-exec.md index 48d9d5b60..3e42f2f21 100644 --- a/content/A-exec.md +++ b/content/A-exec.md @@ -59,4 +59,4 @@ Selain `.Output()` ada sangat banyak sekali API untuk keperluan komunikasi denga --- - + diff --git a/content/A-file.md b/content/A-file.md index 49def3014..c562378a2 100644 --- a/content/A-file.md +++ b/content/A-file.md @@ -160,4 +160,4 @@ func main() { --- - + diff --git a/content/A-fungsi-closure.md b/content/A-fungsi-closure.md index 0ee522fa9..4571e2cb3 100644 --- a/content/A-fungsi-closure.md +++ b/content/A-fungsi-closure.md @@ -178,4 +178,4 @@ Output program: --- - + diff --git a/content/A-fungsi-multiple-return.md b/content/A-fungsi-multiple-return.md index 131ff118a..f8afc2f28 100644 --- a/content/A-fungsi-multiple-return.md +++ b/content/A-fungsi-multiple-return.md @@ -105,4 +105,4 @@ Fungsi `math.Pow()` digunakan untuk memangkat nilai. `math.Pow(2, 3)` berarti 2 --- - + diff --git a/content/A-fungsi-sebagai-parameter.md b/content/A-fungsi-sebagai-parameter.md index 90c9fa18b..8b7b7a84d 100644 --- a/content/A-fungsi-sebagai-parameter.md +++ b/content/A-fungsi-sebagai-parameter.md @@ -106,4 +106,4 @@ Variabel `result` bernilai `true` karena string `"ang"` merupakan bagian dari st --- - + diff --git a/content/A-fungsi-variadic.md b/content/A-fungsi-variadic.md index eaf48b82b..20c243ea0 100644 --- a/content/A-fungsi-variadic.md +++ b/content/A-fungsi-variadic.md @@ -153,4 +153,4 @@ Output program: --- - + diff --git a/content/A-fungsi.md b/content/A-fungsi.md index 35e61c0c2..7722750a0 100644 --- a/content/A-fungsi.md +++ b/content/A-fungsi.md @@ -176,4 +176,4 @@ Di dalamnya terdapat proses validasi nilai variabel pembagi, jika nilainya adala --- - + diff --git a/content/A-go-command.md b/content/A-go-command.md index 83525d4c8..6b7236d23 100644 --- a/content/A-go-command.md +++ b/content/A-go-command.md @@ -106,4 +106,4 @@ Command ini digunakan untuk vendoring. Lebih detailnya akan dibahas di akhir ser --- - + diff --git a/content/A-go-vendoring.md b/content/A-go-vendoring.md index a43c9ba56..cafc99234 100644 --- a/content/A-go-vendoring.md +++ b/content/A-go-vendoring.md @@ -77,4 +77,4 @@ Untuk penggunaan vendor apakah wajib? menurut saya tidak. Sesuaikan kebutuhan sa --- - + diff --git a/content/A-golang-generics.md b/content/A-golang-generics.md index 9369576b1..5383b3053 100644 --- a/content/A-golang-generics.md +++ b/content/A-golang-generics.md @@ -280,4 +280,4 @@ Ok, sekian pembahasan mengenai generics. Jika ada update perihal generic API aka --- - + diff --git a/content/A-gopath-dan-workspace.md b/content/A-gopath-dan-workspace.md index 7ec61c06c..8e626c48a 100644 --- a/content/A-gopath-dan-workspace.md +++ b/content/A-gopath-dan-workspace.md @@ -41,4 +41,4 @@ Struktur di atas merupakan struktur standar workspace Go. Jadi pastikan penamaan --- - + diff --git a/content/A-goroutine.md b/content/A-goroutine.md index 5b0941937..824ab4b12 100644 --- a/content/A-goroutine.md +++ b/content/A-goroutine.md @@ -93,4 +93,4 @@ Bisa dilihat pada kode di atas, untuk menampung inputan text `trafalgar d law`, --- - + diff --git a/content/A-hash-sha1.md b/content/A-hash-sha1.md index 19db57e11..268ec928e 100644 --- a/content/A-hash-sha1.md +++ b/content/A-hash-sha1.md @@ -104,4 +104,4 @@ Metode ini sering dipakai untuk enkripsi password user. Salt dan data hasil hash --- - + diff --git a/content/A-hello-world.md b/content/A-hello-world.md index 9bfde32ba..f24c07876 100644 --- a/content/A-hello-world.md +++ b/content/A-hello-world.md @@ -131,4 +131,4 @@ Contoh statement di atas akan menghasilkan output: **Hello world! how are you**. --- - + diff --git a/content/A-instalasi-editor.md b/content/A-instalasi-editor.md index 89aebec69..31d971aeb 100644 --- a/content/A-instalasi-editor.md +++ b/content/A-instalasi-editor.md @@ -47,4 +47,4 @@ indent_size = 8 --- - + diff --git a/content/A-interface-kosong.md b/content/A-interface-kosong.md index b1b3ad63d..0c815c704 100644 --- a/content/A-interface-kosong.md +++ b/content/A-interface-kosong.md @@ -154,4 +154,4 @@ for _, each := range fruits { --- - + diff --git a/content/A-interface.md b/content/A-interface.md index f12f39e9a..df635aa12 100644 --- a/content/A-interface.md +++ b/content/A-interface.md @@ -183,4 +183,4 @@ Pada chapter [A.23. Pointer](/A-pointer.html) dijelaskan bahwa method pointer bi --- - + diff --git a/content/A-json.md b/content/A-json.md index 73bbcd034..b42628800 100644 --- a/content/A-json.md +++ b/content/A-json.md @@ -138,4 +138,4 @@ Output: --- - + diff --git a/content/A-komentar.md b/content/A-komentar.md index 31718e5bf..260c972f2 100644 --- a/content/A-komentar.md +++ b/content/A-komentar.md @@ -53,4 +53,4 @@ Sifat komentar ini sama seperti komentar inline, yaitu sama-sama diabaikan oleh --- - + diff --git a/content/A-konstanta.md b/content/A-konstanta.md index 5cd147327..e46d64f88 100644 --- a/content/A-konstanta.md +++ b/content/A-konstanta.md @@ -108,4 +108,4 @@ const three, four string = "tiga", "empat" --- - + diff --git a/content/A-map.md b/content/A-map.md index 81b21e9c9..8df37f276 100644 --- a/content/A-map.md +++ b/content/A-map.md @@ -179,4 +179,4 @@ var data = []map[string]string{ --- - + diff --git a/content/A-method.md b/content/A-method.md index 32afeb085..00bef3fba 100644 --- a/content/A-method.md +++ b/content/A-method.md @@ -156,4 +156,4 @@ Lebih detailnya akan dibahas pada chapter selanjutnya. --- - + diff --git a/content/A-mongodb.md b/content/A-mongodb.md index 1bd5de2c0..5add6a3b5 100644 --- a/content/A-mongodb.md +++ b/content/A-mongodb.md @@ -333,4 +333,4 @@ if len(result) > 0 { --- - + diff --git a/content/A-mutex.md b/content/A-mutex.md index ef2573598..a39cd79f1 100644 --- a/content/A-mutex.md +++ b/content/A-mutex.md @@ -178,4 +178,4 @@ func main() { --- - + diff --git a/content/A-operator.md b/content/A-operator.md index 59c546482..7232048c3 100644 --- a/content/A-operator.md +++ b/content/A-operator.md @@ -99,4 +99,4 @@ Template `\t` digunakan untuk menambahkan indent tabulasi. Biasa dimanfaatkan un --- - + diff --git a/content/A-perulangan.md b/content/A-perulangan.md index 89d5a947c..dcf8641d8 100644 --- a/content/A-perulangan.md +++ b/content/A-perulangan.md @@ -163,4 +163,4 @@ Pada `for` bagian dalam, terdapat seleksi kondisi untuk pengecekan nilai `i`. Ke --- - + diff --git a/content/A-pipeline-context-cancellation.md b/content/A-pipeline-context-cancellation.md index d61c5a459..816e9cebf 100644 --- a/content/A-pipeline-context-cancellation.md +++ b/content/A-pipeline-context-cancellation.md @@ -454,4 +454,4 @@ Perbedannya ada pada penerapan *cancellation*-nya. Pada contoh ini kita tidak me --- - + diff --git a/content/A-pointer.md b/content/A-pointer.md index 30112cefb..a19d75b22 100644 --- a/content/A-pointer.md +++ b/content/A-pointer.md @@ -107,4 +107,4 @@ Nilai variabel `number` berubah menjadi `10` karena perubahan yang terjadi di da --- - + diff --git a/content/A-properti-public-dan-private.md b/content/A-properti-public-dan-private.md index aec5e0708..2225b9a66 100644 --- a/content/A-properti-public-dan-private.md +++ b/content/A-properti-public-dan-private.md @@ -336,4 +336,4 @@ Dalam sebuah package diperbolehkan ada banyak fungsi `init()` (urutan eksekusiny --- - + diff --git a/content/A-random.md b/content/A-random.md index e1b56825b..bfdda3d00 100644 --- a/content/A-random.md +++ b/content/A-random.md @@ -123,4 +123,4 @@ Dengan fungsi di atas kita bisa dengan mudah meng-generate string random dengan --- - + diff --git a/content/A-reflect.md b/content/A-reflect.md index 5be4db6ec..90d695449 100644 --- a/content/A-reflect.md +++ b/content/A-reflect.md @@ -172,4 +172,4 @@ Jika eksekusi method diikuti pengisian parameter, maka parameternya harus dituli --- - + diff --git a/content/A-regex.md b/content/A-regex.md index 4ef767fa6..92dd3d943 100644 --- a/content/A-regex.md +++ b/content/A-regex.md @@ -171,4 +171,4 @@ Pada contoh di atas, ekspresi regexp `[a-b]+` digunakan sebagai kriteria split. --- - + diff --git a/content/A-seleksi-kondisi.md b/content/A-seleksi-kondisi.md index 10d8f70b2..13ec1b6c4 100644 --- a/content/A-seleksi-kondisi.md +++ b/content/A-seleksi-kondisi.md @@ -209,4 +209,4 @@ if point > 7 { --- - + diff --git a/content/A-setup-go-project-dengan-go-modules.md b/content/A-setup-go-project-dengan-go-modules.md index 83e992a3c..64b2981b4 100644 --- a/content/A-setup-go-project-dengan-go-modules.md +++ b/content/A-setup-go-project-dengan-go-modules.md @@ -50,4 +50,4 @@ O iya, sebenarnya selain Go Modules, setup project di Go juga bisa menggunakan ` --- - + diff --git a/content/A-simplified-fan-in-fan-out-pipeline.md b/content/A-simplified-fan-in-fan-out-pipeline.md index bc8042795..2a66cfa2b 100644 --- a/content/A-simplified-fan-in-fan-out-pipeline.md +++ b/content/A-simplified-fan-in-fan-out-pipeline.md @@ -340,4 +340,4 @@ Nah dari sini semoga cukup jelas ya bedanya kalau dari sisi performa. Inilah pen --- - + diff --git a/content/A-slice.md b/content/A-slice.md index a85f4be45..73db03e3d 100644 --- a/content/A-slice.md +++ b/content/A-slice.md @@ -264,4 +264,4 @@ fmt.Println(cap(bFruits)) // cap: 2 --- - + diff --git a/content/A-sql.md b/content/A-sql.md index 809fdbda9..c359a65b6 100644 --- a/content/A-sql.md +++ b/content/A-sql.md @@ -344,4 +344,4 @@ Selengkapya mengenai driver yang tersedia bisa dilihat di [https://github.com/go --- - + diff --git a/content/A-string-format.md b/content/A-string-format.md index 3c75e69d4..8cb1fb1ab 100644 --- a/content/A-string-format.md +++ b/content/A-string-format.md @@ -276,4 +276,4 @@ fmt.Printf("%%\n") --- - + diff --git a/content/A-strings.md b/content/A-strings.md index 5eb0e25a9..b32b3406e 100644 --- a/content/A-strings.md +++ b/content/A-strings.md @@ -164,4 +164,4 @@ fmt.Println(str) // "EAT!" --- - + diff --git a/content/A-struct.md b/content/A-struct.md index b8483e3d3..a0f3086ef 100644 --- a/content/A-struct.md +++ b/content/A-struct.md @@ -416,4 +416,4 @@ var num Number = 12 --- - + diff --git a/content/A-time-duration.md b/content/A-time-duration.md index 1b22adbe5..b28d41441 100644 --- a/content/A-time-duration.md +++ b/content/A-time-duration.md @@ -128,4 +128,4 @@ duration := time.Duration(n) * time.Second --- - + diff --git a/content/A-time-parsing-format.md b/content/A-time-parsing-format.md index feeedb257..472d9dfd5 100644 --- a/content/A-time-parsing-format.md +++ b/content/A-time-parsing-format.md @@ -220,4 +220,4 @@ Kode di atas menghasilkan error karena format tidak sesuai dengan skema data yan --- - + diff --git a/content/A-timer-ticker-scheduler.md b/content/A-timer-ticker-scheduler.md index c1ed68e20..1de080bdf 100644 --- a/content/A-timer-ticker-scheduler.md +++ b/content/A-timer-ticker-scheduler.md @@ -203,4 +203,4 @@ Ketika user tidak menginputkan apa-apa dalam kurun waktu 5 detik, maka akan munc --- - + diff --git a/content/A-tipe-data.md b/content/A-tipe-data.md index e3868829c..345a854da 100644 --- a/content/A-tipe-data.md +++ b/content/A-tipe-data.md @@ -126,4 +126,4 @@ Nantinya kita akan sering bertemu dengan `nil` setelah masuk pada pembahasan-pem --- - + diff --git a/content/A-unit-test.md b/content/A-unit-test.md index 8f5ff84aa..1591a8666 100644 --- a/content/A-unit-test.md +++ b/content/A-unit-test.md @@ -195,4 +195,4 @@ Fungsi `assert.Equal()` digunakan untuk uji perbandingan. Parameter ke-2 dibandi --- - + diff --git a/content/A-url-parsing.md b/content/A-url-parsing.md index 0e395223e..fba827aa4 100644 --- a/content/A-url-parsing.md +++ b/content/A-url-parsing.md @@ -45,4 +45,4 @@ Selain itu, query yang ada pada url akan otomatis diparsing juga, menjadi bentuk --- - + diff --git a/content/A-variabel.md b/content/A-variabel.md index cd19206f6..e81cb6b31 100644 --- a/content/A-variabel.md +++ b/content/A-variabel.md @@ -189,4 +189,4 @@ Dan lagi, mungkin banyak yang akan bingung. Ketika sudah masuk ke pembahasan mas --- - + diff --git a/content/A-waitgroup.md b/content/A-waitgroup.md index 1aefa87b9..c276bb28a 100644 --- a/content/A-waitgroup.md +++ b/content/A-waitgroup.md @@ -78,4 +78,4 @@ Kombinasi yang tepat antara `sync.WaitGroup` dan channel sangat penting, keduany --- - + diff --git a/content/A-web-server.md b/content/A-web-server.md index 0224b3ebb..4b919ce61 100644 --- a/content/A-web-server.md +++ b/content/A-web-server.md @@ -131,4 +131,4 @@ Sampai chapter ini yang kita pelajari adalah dasar-dasar pemrograman Go, dibahas --- - + diff --git a/content/A-web-service-api.md b/content/A-web-service-api.md index 4e279e225..f71104bcf 100644 --- a/content/A-web-service-api.md +++ b/content/A-web-service-api.md @@ -148,4 +148,4 @@ Data ID yang ingin dicari melalui endpoint /user, ditulis dengan ?id=B002 yang b --- - + diff --git a/content/B-ajax-json-payload.md b/content/B-ajax-json-payload.md index 7655d3b9d..3feb0f332 100644 --- a/content/B-ajax-json-payload.md +++ b/content/B-ajax-json-payload.md @@ -198,4 +198,4 @@ Gunakan fasilitas Developer Tools pada Chrome untuk melihat detail dari request. --- - + diff --git a/content/B-ajax-json-response.md b/content/B-ajax-json-response.md index 7c70cdaf2..e4182b8fa 100644 --- a/content/B-ajax-json-response.md +++ b/content/B-ajax-json-response.md @@ -91,4 +91,4 @@ Kode di atas hasilnya ekuivalen dengan penggunaan `json.Marshal`. --- - + diff --git a/content/B-ajax-multi-upload.md b/content/B-ajax-multi-upload.md index f9fb8a19f..25ecbaa57 100644 --- a/content/B-ajax-multi-upload.md +++ b/content/B-ajax-multi-upload.md @@ -206,4 +206,4 @@ Cek apakah file sudah terupload. --- - + diff --git a/content/B-cookie.md b/content/B-cookie.md index ebe60edea..8457a0057 100644 --- a/content/B-cookie.md +++ b/content/B-cookie.md @@ -132,4 +132,4 @@ Objek cookie memiliki beberapa property, beberapa di antaranya: --- - + diff --git a/content/B-custom-mux-multiplexer.md b/content/B-custom-mux-multiplexer.md index dec0f2e46..4937008e4 100644 --- a/content/B-custom-mux-multiplexer.md +++ b/content/B-custom-mux-multiplexer.md @@ -88,4 +88,4 @@ Jika ada keperluan untuk menambahkan middleware baru lainnya, cukup registrasika --- - + diff --git a/content/B-download-file.md b/content/B-download-file.md index 0e8ecd6ef..6e9a771a1 100644 --- a/content/B-download-file.md +++ b/content/B-download-file.md @@ -226,4 +226,4 @@ Jalankan program, akses rute `/`. List semua file dalam folder `files` muncul di --- - + diff --git a/content/B-form-upload-file.md b/content/B-form-upload-file.md index f63630abd..19cb842eb 100644 --- a/content/B-form-upload-file.md +++ b/content/B-form-upload-file.md @@ -178,4 +178,4 @@ Jalankan program, test hasilnya lewat browser. --- - + diff --git a/content/B-form-value.md b/content/B-form-value.md index f3bd3162c..524af9480 100644 --- a/content/B-form-value.md +++ b/content/B-form-value.md @@ -138,4 +138,4 @@ OK, sekarang coba jalankan program yang telah kita buat, dan cek hasilnya. --- - + diff --git a/content/B-golang-web-hello-world.md b/content/B-golang-web-hello-world.md index a6562088c..d3e0f5086 100644 --- a/content/B-golang-web-hello-world.md +++ b/content/B-golang-web-hello-world.md @@ -159,4 +159,4 @@ Ada banyak lagi property dari struct `http.Server` ini, yang pastinya akan dibah --- - + diff --git a/content/B-http-basic-auth.md b/content/B-http-basic-auth.md index f51af4a0d..e96975c86 100644 --- a/content/B-http-basic-auth.md +++ b/content/B-http-basic-auth.md @@ -233,4 +233,4 @@ $ curl -X GET --user batman:secret http://localhost:9000/student?id=s001 --- - + diff --git a/content/B-http-method-basic.md b/content/B-http-method-basic.md index da82fd83e..6b78af953 100644 --- a/content/B-http-method-basic.md +++ b/content/B-http-method-basic.md @@ -60,4 +60,4 @@ Jika method yang digunakan adalah selain POST dan GET, maka sesuai source code d --- - + diff --git a/content/B-middleware-using-http-handler.md b/content/B-middleware-using-http-handler.md index 40b1d93f4..78b9e343e 100644 --- a/content/B-middleware-using-http-handler.md +++ b/content/B-middleware-using-http-handler.md @@ -178,4 +178,4 @@ Dibanding metode pada chapter sebelumnya, dengan teknik ini kita bisa sangat mud --- - + diff --git a/content/B-render-html-string.md b/content/B-render-html-string.md index 4f6b3088c..e4e7cd6e5 100644 --- a/content/B-render-html-string.md +++ b/content/B-render-html-string.md @@ -64,4 +64,4 @@ Lakukan tes dan lihat hasilnya. --- - + diff --git a/content/B-render-specific-html-template.md b/content/B-render-specific-html-template.md index 565ce3b15..b718d6543 100644 --- a/content/B-render-specific-html-template.md +++ b/content/B-render-specific-html-template.md @@ -82,4 +82,4 @@ Lakukan tes pada program yang telah kita buat, kurang lebih hasilnya seperti pad --- - + diff --git a/content/B-routing-http-handlefunc.md b/content/B-routing-http-handlefunc.md index df9418c90..96137b344 100644 --- a/content/B-routing-http-handlefunc.md +++ b/content/B-routing-http-handlefunc.md @@ -82,4 +82,4 @@ Dalam routing, handler bisa berupa fungsi, closure, ataupun anonymous function; --- - + diff --git a/content/B-routing-static-assets.md b/content/B-routing-static-assets.md index 7739e49c8..7d86261d9 100644 --- a/content/B-routing-static-assets.md +++ b/content/B-routing-static-assets.md @@ -92,4 +92,4 @@ Routing static assets menjadi valid, karena file yang di-request akan cocok deng --- - + diff --git a/content/B-server-handler-http-request-cancellation.md b/content/B-server-handler-http-request-cancellation.md index e115c5855..0bdc344ad 100644 --- a/content/B-server-handler-http-request-cancellation.md +++ b/content/B-server-handler-http-request-cancellation.md @@ -124,4 +124,4 @@ curl -X POST http://localhost:8080/ -H 'Content-Type: application/json' -d '{}' --- - + diff --git a/content/B-simple-configuration.md b/content/B-simple-configuration.md index d4c3aad76..fcb9e3a08 100644 --- a/content/B-simple-configuration.md +++ b/content/B-simple-configuration.md @@ -240,4 +240,4 @@ Kita akan membahas solusi dari beberapa masalah di atas pada chapter terpisah, y --- - + diff --git a/content/B-template-actions-variables.md b/content/B-template-actions-variables.md index 7c8372600..0554773e2 100644 --- a/content/B-template-actions-variables.md +++ b/content/B-template-actions-variables.md @@ -253,4 +253,4 @@ Untuk seleksi kondisi yang kondisinya adalah bersumber dari variabel bertipe `bo --- - + diff --git a/content/B-template-custom-functions.md b/content/B-template-custom-functions.md index 36460ba0c..3a5c1abdc 100644 --- a/content/B-template-custom-functions.md +++ b/content/B-template-custom-functions.md @@ -114,4 +114,4 @@ Chapter selanjutnya akan membahas lebih detail mengenai penggunaan method `Parse --- - + diff --git a/content/B-template-functions.md b/content/B-template-functions.md index cab20e218..838036d77 100644 --- a/content/B-template-functions.md +++ b/content/B-template-functions.md @@ -237,4 +237,4 @@ Output: --- - + diff --git a/content/B-template-render-html.md b/content/B-template-render-html.md index 5cedee036..bc7ff3a58 100644 --- a/content/B-template-render-html.md +++ b/content/B-template-render-html.md @@ -145,4 +145,4 @@ Jalankan aplikasi untuk test hasil. --- - + diff --git a/content/B-template-render-partial-html.md b/content/B-template-render-partial-html.md index 2bb85139a..c9fd0bc9f 100644 --- a/content/B-template-render-partial-html.md +++ b/content/B-template-render-partial-html.md @@ -235,4 +235,4 @@ Jalankan aplikasi untuk test hasilnya. --- - + diff --git a/content/C-advanced-configuration-viper.md b/content/C-advanced-configuration-viper.md index ba24c88c1..f3dddc65f 100644 --- a/content/C-advanced-configuration-viper.md +++ b/content/C-advanced-configuration-viper.md @@ -156,4 +156,4 @@ Penggunaan fasilitas watcher memerlukan tambahan 3rd party library [fsnotify](ht --- - + diff --git a/content/C-advanced-middleware-and-logging.md b/content/C-advanced-middleware-and-logging.md index 041771b0a..dc6c98a18 100644 --- a/content/C-advanced-middleware-and-logging.md +++ b/content/C-advanced-middleware-and-logging.md @@ -277,4 +277,4 @@ Satu kata, *cantik*. --- - + diff --git a/content/C-best-practice-configuration-env-var.md b/content/C-best-practice-configuration-env-var.md index b0bbf9e8e..4f2423163 100644 --- a/content/C-best-practice-configuration-env-var.md +++ b/content/C-best-practice-configuration-env-var.md @@ -163,4 +163,4 @@ Mungkin dari sini temen-temen bisa lanjut ke chapter [C.35. Dockerize Aplikasi G --- - + diff --git a/content/C-client-http-request-advanced.md b/content/C-client-http-request-advanced.md index b6c29f0ae..a30e94432 100644 --- a/content/C-client-http-request-advanced.md +++ b/content/C-client-http-request-advanced.md @@ -195,4 +195,4 @@ Jalankan aplikasi server, buka prompt terminal/CMD baru, lalu jalankan aplikasi --- - + diff --git a/content/C-convert-html-to-pdf.md b/content/C-convert-html-to-pdf.md index 1472738ed..9c870e5d7 100644 --- a/content/C-convert-html-to-pdf.md +++ b/content/C-convert-html-to-pdf.md @@ -178,4 +178,4 @@ Cara ini cocok digunakan untuk konversi data HTML yang isinya muncul pada saat p --- - + diff --git a/content/C-cors-preflight-request.md b/content/C-cors-preflight-request.md index d04af8b08..f0befd430 100644 --- a/content/C-cors-preflight-request.md +++ b/content/C-cors-preflight-request.md @@ -298,4 +298,4 @@ Berikut adalah list konfigurasi yang bisa dimanfaatkan dari library ini. --- - + diff --git a/content/C-csrf.md b/content/C-csrf.md index 9d3bde1b7..c67301b90 100644 --- a/content/C-csrf.md +++ b/content/C-csrf.md @@ -226,4 +226,4 @@ Lewat teknik pencegahan ini, bukan berarti serangan CSRF tidak bisa dilakukan, s --- - + diff --git a/content/C-dockerize-golang.md b/content/C-dockerize-golang.md index 425310e30..1db7ac212 100644 --- a/content/C-dockerize-golang.md +++ b/content/C-dockerize-golang.md @@ -326,4 +326,4 @@ docker container stop my-container-hello-world --- - + diff --git a/content/C-echo-routing.md b/content/C-echo-routing.md index c52cd8f1d..7ab757dc0 100644 --- a/content/C-echo-routing.md +++ b/content/C-echo-routing.md @@ -285,4 +285,4 @@ Jalankan aplikasi, lalu coba akses `http://localhost:9000/static/layout.js`. --- - + diff --git a/content/C-echo-template-rendering.md b/content/C-echo-template-rendering.md index c766d50c6..256207ae8 100644 --- a/content/C-echo-template-rendering.md +++ b/content/C-echo-template-rendering.md @@ -143,4 +143,4 @@ Proses parsing dan rendering tidak di-handle oleh echo, melainkan menggunakan AP --- - + diff --git a/content/C-flag-parser.md b/content/C-flag-parser.md index 0297f961b..334fd9006 100644 --- a/content/C-flag-parser.md +++ b/content/C-flag-parser.md @@ -342,4 +342,4 @@ Cobra merupakan library yang dirancang khusus untuk development aplikasi berbasi --- - + diff --git a/content/C-go-project-layout.md b/content/C-go-project-layout.md index 1b07a3301..a228a9229 100644 --- a/content/C-go-project-layout.md +++ b/content/C-go-project-layout.md @@ -19,4 +19,4 @@ Library FTP client yang kita gunakan adalah [github.com/jlaffaye/ftp](https://gi --- - + diff --git a/content/C-golang-aws-s3.md b/content/C-golang-aws-s3.md index 0658d1c14..e9942e828 100644 --- a/content/C-golang-aws-s3.md +++ b/content/C-golang-aws-s3.md @@ -443,4 +443,4 @@ Hasilnya: --- - + diff --git a/content/C-golang-ftp.md b/content/C-golang-ftp.md index 001d7e657..f88fab978 100644 --- a/content/C-golang-ftp.md +++ b/content/C-golang-ftp.md @@ -299,4 +299,4 @@ Jalankan aplikasi, cek hasilnya. Untuk memvalidasi bahwa file di client dan di s --- - + diff --git a/content/C-golang-grpc-protobuf.md b/content/C-golang-grpc-protobuf.md index 5a3e20e57..5ea103eec 100644 --- a/content/C-golang-grpc-protobuf.md +++ b/content/C-golang-grpc-protobuf.md @@ -547,4 +547,4 @@ OK, jika anda membaca sampai baris ini, berarti anda telah berhasil sabar dalam --- - + diff --git a/content/C-golang-jwt.md b/content/C-golang-jwt.md index e58c6114f..e92e74dd3 100644 --- a/content/C-golang-jwt.md +++ b/content/C-golang-jwt.md @@ -413,4 +413,4 @@ Semua berjalan sesuai harapan. Agar lebih meyakinkan, coba lakukan beberapa test --- - + diff --git a/content/C-golang-ldap-authentication.md b/content/C-golang-ldap-authentication.md index 53784e430..237d50c05 100644 --- a/content/C-golang-ldap-authentication.md +++ b/content/C-golang-ldap-authentication.md @@ -323,4 +323,4 @@ if err != nil { --- - + diff --git a/content/C-golang-protobuf-implementation.md b/content/C-golang-protobuf-implementation.md index ea2f38339..612b1ca6a 100644 --- a/content/C-golang-protobuf-implementation.md +++ b/content/C-golang-protobuf-implementation.md @@ -396,4 +396,4 @@ Pada chapter selanjutnya kita akan belajar tentang penerapan gRPC dan protobuf. --- - + diff --git a/content/C-golang-redis.md b/content/C-golang-redis.md index 1c89b5cc8..5f5644018 100644 --- a/content/C-golang-redis.md +++ b/content/C-golang-redis.md @@ -169,4 +169,4 @@ Error, ini karena data yang disimpan hanya di retain sesuai `ttl` yaitu 3 detik, --- - + diff --git a/content/C-golang-ssh-sftp.md b/content/C-golang-ssh-sftp.md index 00ffbeeee..e58437822 100644 --- a/content/C-golang-ssh-sftp.md +++ b/content/C-golang-ssh-sftp.md @@ -270,4 +270,4 @@ Jalankan aplikasi untuk melihat hasilnya. --- - + diff --git a/content/C-golang-sso-saml-sp.md b/content/C-golang-sso-saml-sp.md index b952d2b76..6077fadae 100644 --- a/content/C-golang-sso-saml-sp.md +++ b/content/C-golang-sso-saml-sp.md @@ -317,4 +317,4 @@ Salah satu benefit metode inisialisasi ini: ketika ada banyak aplikasi SP (misal --- - + diff --git a/content/C-golang-web-framework.md b/content/C-golang-web-framework.md index 48206b450..a6dea00ef 100644 --- a/content/C-golang-web-framework.md +++ b/content/C-golang-web-framework.md @@ -63,4 +63,4 @@ Ok, saya rasa cukup untuk pembahasan kali ini. Semoga bermanfaat --- - + diff --git a/content/C-http-error-handling.md b/content/C-http-error-handling.md index c548b3298..f99bbf275 100644 --- a/content/C-http-error-handling.md +++ b/content/C-http-error-handling.md @@ -111,4 +111,4 @@ Silakan ubah kode `fmt.Sprintf("%d.html", report.Code)` sesuai format nama halam --- - + diff --git a/content/C-http-gzip-compression.md b/content/C-http-gzip-compression.md index a34804b99..1877096b3 100644 --- a/content/C-http-gzip-compression.md +++ b/content/C-http-gzip-compression.md @@ -147,4 +147,4 @@ e.Logger.Fatal(e.Start(":9000")) --- - + diff --git a/content/C-http-request-payload-validation.md b/content/C-http-request-payload-validation.md index c012b4fd8..44b933104 100644 --- a/content/C-http-request-payload-validation.md +++ b/content/C-http-request-payload-validation.md @@ -115,4 +115,4 @@ Nah, pada chapter selanjutnya kita akan belajar cara membuat custom error handle --- - + diff --git a/content/C-http2-server-push.md b/content/C-http2-server-push.md index 7080cbc2f..a579eaebb 100644 --- a/content/C-http2-server-push.md +++ b/content/C-http2-server-push.md @@ -168,4 +168,4 @@ Selain dari kolom protocol, penanda server push bisa dilihat juga lewat grafik * --- - + diff --git a/content/C-https-tls.md b/content/C-https-tls.md index 59be91cbc..114646cc7 100644 --- a/content/C-https-tls.md +++ b/content/C-https-tls.md @@ -137,4 +137,4 @@ Warning `NET::ERR_CERT_AUTHORITY_INVALID` muncul ketika mengakses sebuah website --- - + diff --git a/content/C-parsing-http-request-payload-echo.md b/content/C-parsing-http-request-payload-echo.md index ac9183edc..a9ea605c9 100644 --- a/content/C-parsing-http-request-payload-echo.md +++ b/content/C-parsing-http-request-payload-echo.md @@ -121,4 +121,4 @@ curl -X GET http://localhost:9000/user?name=Joe&email=nope@novalagung.com --- - + diff --git a/content/C-project-layout-structure.md b/content/C-project-layout-structure.md index f90cf9aa7..4829ad37e 100644 --- a/content/C-project-layout-structure.md +++ b/content/C-project-layout-structure.md @@ -119,4 +119,4 @@ Ok, sampai sini saja pembahasan mengenai project layout, selanjutnya silakan men --- - + diff --git a/content/C-read-write-excel-xlsx-file.md b/content/C-read-write-excel-xlsx-file.md index 804e36926..a36a39d13 100644 --- a/content/C-read-write-excel-xlsx-file.md +++ b/content/C-read-write-excel-xlsx-file.md @@ -198,4 +198,4 @@ Jalankan aplikasi untuk mengecek hasilnya. --- - + diff --git a/content/C-scraping-parsing-html.md b/content/C-scraping-parsing-html.md index a80a07641..63927e370 100644 --- a/content/C-scraping-parsing-html.md +++ b/content/C-scraping-parsing-html.md @@ -196,4 +196,4 @@ Jalankan aplikasi, lihat hasilnya. --- - + diff --git a/content/C-secure-insecure-client-http-request.md b/content/C-secure-insecure-client-http-request.md index e071fb0cf..a17558d69 100644 --- a/content/C-secure-insecure-client-http-request.md +++ b/content/C-secure-insecure-client-http-request.md @@ -191,4 +191,4 @@ Tujuan mengapa penulis tambahkan sub chapter **Konfigurasi SSL/TLS Lanjutan** in --- - + diff --git a/content/C-secure-middleware.md b/content/C-secure-middleware.md index bb2b0ff3b..fc2bd8bff 100644 --- a/content/C-secure-middleware.md +++ b/content/C-secure-middleware.md @@ -155,4 +155,4 @@ Lebih mendetailnya silakan langsung cek halaman official library secure di https --- - + diff --git a/content/C-securecookie.md b/content/C-securecookie.md index b57be771a..a0ff98dd3 100644 --- a/content/C-securecookie.md +++ b/content/C-securecookie.md @@ -159,4 +159,4 @@ http.SetCookie(c.Response(), cookie) --- - + diff --git a/content/C-send-email.md b/content/C-send-email.md index 70bac2dfa..d180b017d 100644 --- a/content/C-send-email.md +++ b/content/C-send-email.md @@ -200,4 +200,4 @@ Daaaaannnnn ... cukup itu saja penyesuaiannya agar bisa kirim email via konfigur --- - + diff --git a/content/C-session.md b/content/C-session.md index f8f211988..b982518ed 100644 --- a/content/C-session.md +++ b/content/C-session.md @@ -316,4 +316,4 @@ Tujuan dari kode yang kita tulis kurang lebih sebagai berikut. --- - + diff --git a/content/C-singleflight.md b/content/C-singleflight.md index 120966145..47c0f84d4 100644 --- a/content/C-singleflight.md +++ b/content/C-singleflight.md @@ -241,4 +241,4 @@ Cukup berguna bukan? Dengan adahnya singleflight API ini, beban backend akan sed --- - + diff --git a/content/C-write-pdf-file.md b/content/C-write-pdf-file.md index bef41d30d..eee38dc33 100644 --- a/content/C-write-pdf-file.md +++ b/content/C-write-pdf-file.md @@ -93,4 +93,4 @@ Coba jalankan aplikasi untuk melihat hasilnya. Buka generated file `file.pdf`, i --- - + diff --git a/content/C-xml-parser.md b/content/C-xml-parser.md index 2d2872880..278815e88 100644 --- a/content/C-xml-parser.md +++ b/content/C-xml-parser.md @@ -280,4 +280,4 @@ Jalankan aplikasi, lihat hasilnya. --- - + diff --git a/content/D-golang-web-socket-chatting-app.md b/content/D-golang-web-socket-chatting-app.md index 1d46d9416..d0d6eca02 100644 --- a/content/D-golang-web-socket-chatting-app.md +++ b/content/D-golang-web-socket-chatting-app.md @@ -420,4 +420,4 @@ Ketika salah satu user leave, pesan **User XXX: disconnected** akan di-broadcast --- - + diff --git a/content/D-google-api-search.md b/content/D-google-api-search.md index 7c1beed8a..dcc3549e4 100644 --- a/content/D-google-api-search.md +++ b/content/D-google-api-search.md @@ -331,4 +331,4 @@ Error di atas muncul karena, host `localhost` belum didaftarkan pada API console --- - + diff --git a/content/D-insert-1mil-csv-record-into-db-in-a-minute.md b/content/D-insert-1mil-csv-record-into-db-in-a-minute.md index 95d284c47..87693f0ea 100644 --- a/content/D-insert-1mil-csv-record-into-db-in-a-minute.md +++ b/content/D-insert-1mil-csv-record-into-db-in-a-minute.md @@ -348,4 +348,4 @@ Praktek pada chapter ini sifatnya adalah POC, jadi sangat mungkin diperlukan pen --- - + diff --git a/content/images/cover_ebook_golang.png b/content/images/cover_ebook_golang.png new file mode 100644 index 000000000..3484458c4 Binary files /dev/null and b/content/images/cover_ebook_golang.png differ diff --git a/content/images/cover_ebook_python.png b/content/images/cover_ebook_python.png new file mode 100644 index 000000000..50ee400f0 Binary files /dev/null and b/content/images/cover_ebook_python.png differ diff --git a/content/images/cover_ebook_rust.png b/content/images/cover_ebook_rust.png new file mode 100644 index 000000000..eee5a115d Binary files /dev/null and b/content/images/cover_ebook_rust.png differ diff --git a/content/partial/ebooks.html b/content/partial/ebooks.html new file mode 100644 index 000000000..a207ae046 --- /dev/null +++ b/content/partial/ebooks.html @@ -0,0 +1,89 @@ +