Hai, Saya Muchlis

Saya seorang Software Engineer Backend dan Android. Melalui blog ini, saya ingin berbagi pengetahuan dan pengalaman dalam pemrograman, serta menunjukkan cara saya berpikir dan menyelesaikan masalah.

Teknik Implementasi Database Transaction pada Logic Layer di Backend Golang

Database transaction adalah aspek krusial dalam pengembangan aplikasi, terutama pada proyek yang menuntut konsistensi data yang tinggi. Artikel ini akan membahas bagaimana cara melakukan transaksi-database pada service layer (logic), dengan tetap mempertahankan prinsip-prinsip clean architecture dan separation of concerns. ...

October 12, 2024 · 9 min · 1848 words · Muchlis

Optimasi Pagination: Mengapa Limit-Offset Bisa Menjadi Bom Waktu dan Cursor Pagination Menjadi Solusinya

Pagination adalah teknik dalam membagi hasil query database menjadi bagian-bagian yang lebih kecil. Menggunakan Query LIMIT OFFSET adalah metode yang paling umum digunakan. Namun, metode ini ternyata memiliki beberapa kelemahan, terutama dalam hal performa pada dataset yang sangat besar. Artikel ini akan membahas masalah-masalah yang akan muncul saat menggunakan LIMIT OFFSET dan mengeksplorasi alternatif yang lebih efisien, seperti cursor-based pagination dan seek method. ...

August 11, 2024 · 12 min · 2360 words · Muchlis

Struktur Folder dan Aturan Penulisan Kode dalam Project Golang: Preferensi Pribadi

Seringkali, program golang yang kita buat tidak hanya berupa server Rest-API saja, tetapi juga mencakup fungsi lain seperti Event Consumer, Scheduller, CLI Program, Backfill Database, atau kombinasi dari semuanya. Pedoman project struktur ini dapat kita gunakan untuk memungkinkan semua itu. Struktur ini berfokus pada pemisahan logika inti dari ketergantungan eksternal, sehingga memungkinkan penggunaan ulang kode dalam berbagai mode aplikasi. Link Repository : https://github.com/muchlist/templaterepo ...

July 20, 2024 · 8 min · 1701 words · Muchlis

Kesalahan Umum dalam Penggunaan Golang Goroutine

Dalam pengembangan backend dengan Golang, pengelolaan proses di background menggunakan goroutine merupakan praktik umum yang dapat meningkatkan kinerja aplikasi. Namun, terdapat beberapa masalah umum yang sering dihadapi ketika mengimplementasikan goroutine, terutama dalam hal penanganan panic, pengelolaan context, dan proses shutdown yang baik. Artikel ini akan mengulas beberapa kesalahan umum yang terkait dengan penggunaan goroutine dan cara mengatasinya. ...

December 26, 2022 · 4 min · 801 words · Muchlis at eFishery

Teknik Profiling di Golang

Profiling adalah proses mengukur kinerja aplikasi untuk mengidentifikasi dan menganalisis berbagai aspek yang mempengaruhi performa, seperti penggunaan CPU, memori, dan goroutine. Profiling sangat penting dalam proses pengembangan untuk memastikan aplikasi berjalan efisien dan optimal serta untuk mendeteksi anomali. ...

October 20, 2022 · 6 min · 1220 words · Muchlis at eFishery