Jika kamu menjalankan aplikasi di server, kamu perlu menulis log aplikasi ke file. Ini akan membantu kamu men-debug dan menganalisis aplikasi kamu. File log yang baik akan memberi tahu kamu apa kesalahannya, kapan itu terjadi, dan dari mana asalnya. Artikel ini akan menunjukkan cara menulis log ke file di Go.
[Read More]Upload File ke Amazon S3 dengan Go
Saat aplikasi kamu menangani banyak file seperti gambar atau dokumen, kamu perlu menyimpan file tersebut dalam sistem penyimpanan tertentu di luar server aplikasi kamu. Salah satu layanan penyimpanan terbaik adalah Amazon S3. Artikel ini akan menunjukkan cara membuat Bucket Amazon S3, membuat access key id dan secret, dan mengunggah file ke Amazon S3 dengan Go.
[Read More]Monitoring Errors dengan Jaeger
Distributed tracing dengan Jaeger dapat digunakan untuk memantau error. Kita dapat menemukan span mana yang mengalami error dan melihat log error. Artikel ini akan menunjukkan caranya.
[Read More]Profiling Go App Menggunakan pprof
Melakukan profiling pada suatu sistem sangat berguna untuk mengidentifikasi pemakaian resource pada saat aplikasi berjalan. Kita dapat melihat fungsi apa yang memakai paling banyak CPU atau memori. Kita dapat melihat apakah aplikasi kita sudah efisien atau belum, dan kita dapat mencari cara untuk mengimprovenya. Pada aplikasi Go, kita dapat menggunakan pprof, library built-in untuk profiling yang dapat dengan mudah kita gunakan dan integrasikan.
[Read More]Distributed Tracing dengan Jaeger di Go
Golang Function Timeout Dengan Context
Timeout bisa sangat berguna pada suatu aplikasi. Dia dapat membatasi berapa lama durasi maksimum suatu proses. Kita dapat menghemat resource dengan menghentikan proses ketika waktu timeout sudah terlewati. Pada bahasa pemrograman Go, kita dapat menggunakan context
untuk mengatur timeout pada suatu fungsi.
2 Cara Untuk Menjalankan Golang App Dengan Docker
Lagi cari cara untuk menjalankan aplikasi Golang dengan docker? Baca post ini. Kita akan mencoba 2 cara untuk menjalankan aplikasi golang dengan docker. Kamu bisa menentukan yang mana yang lebih cocok untukmu.
[Read More]Zero Downtime Reload Menggunakan Socketmaster
Zero downtime reload sudah menjadi keharusan pada kebanyakan sistem, terutama sistem yang diakses user sepanjang waktu. User menginginkan sistem yang memilik high availability. Jadi merupakan hal buruk apabila sistem memerlukan downtime untuk reload walaupun hanya dalam hitungan milisecond. Socketmaster hadir untuk membantu kita membuat sistem dengan zero downtime reload.
[Read More]Handle Panic di HTTP Server dengan Middleware Go
Kalau kalian pernah coding di Go, kemungkinan besar pernah kena panic. Panic bisa mematikan aplikasi mu kalau tidak di recover. Untungnya di HTTP server bawaan Go sudah ada recovery untuk panic, jadi server tetap bisa berjalan walaupun ada panic. Tapi dari sisi client tidak mendapat response apa-apa kalau server kena panic. Jadi lebih baik kalau kita menggunakan panic recovery kita sendiri yang memberikan response dengan error message ketika ada panic.
[Read More]Menunggu Beberapa Goroutine Selesai Dengan WaitGroup
Goroutine sangat berguna untuk menjalan proses secara asynchronous. Kita juga bisa menggunakan beberapa goroutine untuk menjalankan beberapa proses dalam waktu bersamaan. Tapi bagaimana kalau kita ingin menunggu goroutine tersebut selesai sebelum melanjutkan ke proses berikutnya? Kita dapat menggunakan WaitGroup untuk mengunggu goroutine selesai dijalankan.
[Read More]