Hi, I’m Rizky Darmawan 👋

Rizky Note’s adalah tempat saya menuliskan catatan pribadi seputar Software Engineering, terutama tentang Backend Engineering. Ditulis untuk diri sendiri, dibagikan untuk siapa saja.

Basic Concept and Benefit of Api Gateway

English Version: For English version of this article, please visit: dev.to Photo by Javier Allegue Barros on Unsplash API Gateway adalah komponen penting dalam arsitektur perangkat lunak modern, terutama dalam sistem yang mengimplementasikan microservices. API Gateway bertindak sebagai gerbang utama untuk menerima semua permintaan API yang masuk. Dengan peran ini, API Gateway menyederhanakan manajemen API dan meningkatkan kinerja dan keamanan sistem secara keseluruhan. ...

March 27, 2025 · 9 min · Rizky Darmawan

Connection Pool in Backend Development Basic Concept Benefits and Implementation

English Version: For English version of this article, please visit: dev.to Photo by Christine Tutunjian on Unsplash Connection Pooling adalah mekanisme yang menciptakan dan mengelola kumpulan koneksi database yang dapat digunakan oleh aplikasi. Konsep ini penting dalam mengelola koneksi ke database dengan tujuan mengoptimalkan penggunaan sumber daya dan meningkatkan performa aplikasi yang sering berinteraksi dengan database. ...

February 6, 2025 · 7 min · Rizky Darmawan

Mastering Enum in Golang

English Version: For English version of this article, please visit: dev.to Gambar oleh Hans-Peter Gauster dari Unsplash Mari kita asumsikan bahwa kita sedang membangun API E-commerce yang akan menerima beberapa pesanan, setiap proses pesanan memiliki beberapa status seperti Pending, Processed, Shipped, Delivered, Cancelled. Dan aplikasi kita menerima string input yang akan disimpan dalam database, sebagai contoh statusnya adalah Processed, received Process, Processing atau sesuatu yang lain yang menyebabkan inkonsistensi data. Di sini Enum memiliki peran penting. ...

December 31, 2024 · 4 min · Rizky Darmawan

Defensive Programming as a Backend Developer Building Robust and Secure Systems

English Version: For English version of this article, please visit: dev.to Dalam pengembangan aplikasi backend, memastikan keamanan dan stabilitas aplikasi adalah suatu keharusan mutlak. Backend adalah tulang punggung dari aplikasi, yang bertanggung jawab untuk menangani logika bisnis, menyimpan data, dan berinteraksi dengan sistem eksternal. Menulis kode yang kuat dan andal sangat penting untuk semua pengembang perangkat lunak. Namun, tidak peduli seberapa hati-hati kita, bug dan situasi yang tidak terduga masih bisa terjadi. Di sinilah Defensive programming berperan. ...

November 3, 2024 · 13 min · Rizky Darmawan

How to Handle Time Zones and Sync Your Software on the Server Side Using Go

English Version: For English version of this article, please visit: dev.to Ketika aplikasi Anda mulai berkembang dalam skala besar, peningkatan pengguna akan bertambah. Yang sangat mungkin terjadi adalah lokasi pengguna tidak hanya berada di area yang sama, bisa saja berada di area lain yang memiliki zona waktu yang berbeda. Jadi sebagai developer Backend, hal-hal yang berkaitan dengan penanganan perbedaan zona waktu sangat penting untuk dipikirkan. Saya baru-baru ini menghadapi masalah yang melibatkan zona waktu. Mari kita jujur, berurusan dengan tanggal dan waktu adalah salah satu area paling rumit yang harus ditangani manusia. Dan ini merupakan kesempatan bagi saya untuk belajar bagaimana menangani tanggal dan waktu dengan benar di sisi server. ...

October 1, 2024 · 8 min · Rizky Darmawan

Observability Why Logging Its Important

English Version: For English version of this article, please visit: dev.to Dalam era digital yang semakin kompleks, observabilitas adalah kunci utama dalam mengelola sistem perangkat lunak modern. Salah satu pilar terpenting dari observabilitas adalah logging. Mari kita jelajahi mengapa logging sangat penting dan bagaimana cara memanfaatkannya secara optimal. Apa itu Logging? Logging adalah proses pencatatan aktivitas dan kejadian dalam sistem. Ini mencakup berbagai informasi, mulai dari pesan error, aktivitas pengguna, hingga performa sistem. Bayangkan logging sebagai ‘kotak hitam’ pesawat terbang untuk sistem Anda - selalu merekam apa yang terjadi, siap memberikan wawasan ketika dibutuhkan. ...

July 28, 2024 · 5 min · Rizky Darmawan

Optimizing Relational Databases for Best Performance in Mysql

English Version: For English version of this article, please visit: dev.to Pengantar Di dunia yang didorong oleh data saat ini, basis data relasional adalah tulang punggung dari aplikasi yang tak terhitung jumlahnya. Mereka menyimpan dan mengelola informasi penting, tetapi kinerja mereka dapat secara signifikan mempengaruhi pengalaman pengguna dan efisiensi sistem secara keseluruhan. Posting blog ini membahas strategi kunci untuk mengoptimalkan basis data relasional dan memastikan mereka berjalan pada kinerja puncak. 🔍 Kesalahan Query Umum yang Menyebabkan Bottleneck Sebelum mengoptimalkan, dalam penulisan ini diskusi hanya mencakup Full Table Scan yang Tidak Perlu, Query yang Tidak Efisien, Denormalisasi, Sumber Daya Hardware yang Tidak Cukup. Sangat penting untuk mengidentifikasi bottleneck kinerja. Berikut adalah beberapa penyebab umum: ...

May 7, 2024 · 9 min · Rizky Darmawan

Mengenal Context Pada Golang

Saat mengembangkan sebuah aplikasi backend yang menangani http request dari client, mungkin yang perlu diketahui adalah url endpoint mana yang diminta klien untuk menentukan sebuah function mana yang akan melayani response. Namun saat melayani sebuah response beberapa hal selalu dapat terjadi, seperti client memutuskan koneksi sebelum menerima response. Jika fungsi yang melayani response tidak mengetahui bahwa klien terputus, server mungkin menghabiskan lebih banyak waktu untuk memproses response yang tidak akan digunakan atau diharapkan oleh client itu lagi. ...

November 25, 2022 · 13 min · Rizky Darmawan

Golang Dasar #6 - Constant

Constant adalah jenis variable yang nilainya tidak dapat diubah. Deklarasi nilai hanya dilakukan di awal, setelah itu nilainya tidak dapat diubah lagi. Cara Membuat Constant Untuk membuat constant memiliki beberapa cara. Mari kita bahas Constant dengan manifest typing atau inference typing Ketika membuat variable pada Golang kita dapat menggunakan manifest typing yaitu di tuliskan tipe datanya dan inference typing tidak di tuliskan tipe datanya. Tentang manifest typing dan inference typing dapat dipelajari pada postingan instagram jabutech disini. ...

November 21, 2022 · 2 min · Rizky Darmawan

Membuat Minimal Docker Image Dengan Golang

Ketika proses kontainerisasi sebuah aplikasi dengan menggunakan docker kita membutuhkan sebuah image. Dimana image ini didalamnya adalah sebuah aplikasi dengan seluruh package dan library yang dibutuhkan untuk siap dijalankan yang dibungkus menjadi satu. Tapi yang menjadi masalah ukuran image ini bisa menjadi sangat besar, bisa ratusan Megabyte atau Gigabyte tergantung seberapa besar dan banyak package atau library yang ikut terinstall didalanya. Kali ini kita akan mencoba menggunakan teknik multistage dimana akan membuat ukuran image bisa menjadi sangat jauh lebih kecil. ...

November 18, 2022 · 8 min · Rizky Darmawan