<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tips on Rizky Note's</title><link>https://rizkynotes.com/tags/tips/</link><description>Recent content in Tips on Rizky Note's</description><generator>Hugo</generator><language>id-ID</language><lastBuildDate>Fri, 31 Jul 2026 09:00:00 +0700</lastBuildDate><atom:link href="https://rizkynotes.com/tags/tips/index.xml" rel="self" type="application/rss+xml"/><item><title>Registry Pattern: Cara Elegan Mengelola Banyak Provider</title><link>https://rizkynotes.com/posts/registry-pattern-cara-elegan-mengelola-banyak-provider/</link><pubDate>Fri, 31 Jul 2026 09:00:00 +0700</pubDate><guid>https://rizkynotes.com/posts/registry-pattern-cara-elegan-mengelola-banyak-provider/</guid><description>&lt;h5 id="photo-by-daria-glakteeva-on-unsplash">Photo by &lt;a href="https://unsplash.com/@olenichek?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Daria Glakteeva&lt;/a> on &lt;a href="https://unsplash.com/photos/a-close-up-of-a-puzzle-board-with-many-pieces-missing-sKnQ7he3flU?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash&lt;/a>&lt;/h5>
&lt;p>Beberapa waktu lalu saya mengerjakan project yang mengintegrasikan AI dengan dua provider sekaligus, yaitu OpenCode dan Anthropic.
Hal yang biasa saya lakukan sebelum mulai menulis kode adalah memikirkan dan membayangkan kira-kira kode atau case apa yang akan terjadi ke depannya. Saya juga suka dengan kode yang bersih dan mudah dibaca.
Muncul pertanyaan:&lt;/p>
&lt;blockquote>
&lt;p>Bagaimana ya agar saya bisa mengimplementasikan dua provider ini, dan kalau nanti ada provider baru, kode saya tidak berubah menjadi tumpukan &lt;code>switch/if-else&lt;/code> yang terus memanjang?&lt;/p></description></item><item><title>Basic Concept and Benefit of Api Gateway</title><link>https://rizkynotes.com/posts/basic-concept-and-benefit-of-api-gateway/</link><pubDate>Thu, 27 Mar 2025 09:57:41 +0700</pubDate><guid>https://rizkynotes.com/posts/basic-concept-and-benefit-of-api-gateway/</guid><description>&lt;h5 id="photo-by-javier-allegue-barros-on-unsplash">Photo by &lt;a href="https://unsplash.com/@soymeraki?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Javier Allegue Barros&lt;/a> on &lt;a href="https://unsplash.com/photos/silhouette-of-road-signage-during-golden-hour-C7B-ExXpOIE?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash&lt;/a>&lt;/h5>
&lt;p>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.&lt;/p>
&lt;p>Menggunakan API Gateway membantu membangun sistem yang &lt;strong>scalable&lt;/strong> dan &lt;strong>mudah dipelihara&lt;/strong>. Seiring dengan meningkatnya kompleksitas sistem, API Gateway memainkan peran kritis dalam mengelola integrasi dan komunikasi yang efektif antara berbagai layanan backend dan klien.&lt;/p></description></item><item><title>Connection Pool in Backend Development Basic Concept Benefits and Implementation</title><link>https://rizkynotes.com/posts/connection-pool-in-backend-development-basic-concept-benefits-and-implementation/</link><pubDate>Thu, 06 Feb 2025 09:46:35 +0700</pubDate><guid>https://rizkynotes.com/posts/connection-pool-in-backend-development-basic-concept-benefits-and-implementation/</guid><description>&lt;h5 id="photo-by-christine-tutunjian-on-unsplash">Photo by &lt;a href="https://unsplash.com/@buying_thyme?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Christine Tutunjian&lt;/a> on &lt;a href="https://unsplash.com/photos/assorted-color-balloons-7oLuQ0ZEQ9A?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash&lt;/a>&lt;/h5>
&lt;p>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.&lt;/p>
&lt;p>Alih-alih membuat koneksi baru setiap kali dibutuhkan (yang mahal dari segi waktu dan sumber daya), connection pool memungkinkan aplikasi meminjam/menggunakan koneksi yang sudah ada dan mengembalikannya ke pool ketika selesai menggunakannya. Itulah mengapa disebut &lt;strong>connection pool&lt;/strong>.&lt;/p></description></item><item><title>Mastering Enum in Golang</title><link>https://rizkynotes.com/posts/mastering-enum-in-golang/</link><pubDate>Tue, 31 Dec 2024 15:18:47 +0700</pubDate><guid>https://rizkynotes.com/posts/mastering-enum-in-golang/</guid><description>&lt;h5 id="gambar-oleh">&lt;em>Gambar oleh &lt;a href="https://unsplash.com/@sloppyperfectionist">Hans-Peter Gauster&lt;/a> dari &lt;a href="https://unsplash.com/photos/stack-of-jigsaw-puzzle-pieces-3y1zF4hIPCg">Unsplash&lt;/a>&lt;/em>&lt;/h5>
&lt;p>Mari kita asumsikan bahwa kita sedang membangun API E-commerce yang akan menerima beberapa pesanan, setiap proses pesanan memiliki beberapa status seperti &lt;em>Pending, Processed, Shipped, Delivered, Cancelled&lt;/em>. 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.&lt;/p>
&lt;p>Di Golang enum tidak seperti bahasa lain seperti Java atau C# yang menawarkan dukungan built-in untuk enum, Go mengambil pendekatan yang berbeda. Di Go, enum bukan fitur bahasa asli, tetapi developer memiliki beberapa teknik yang dapat digunakan untuk mencapai fungsionalitas yang serupa.&lt;/p></description></item><item><title>Defensive Programming as a Backend Developer Building Robust and Secure Systems</title><link>https://rizkynotes.com/posts/defensive-programming-as-a-backend-developer-building-robust-and-secure-systems/</link><pubDate>Sun, 03 Nov 2024 11:42:30 +0700</pubDate><guid>https://rizkynotes.com/posts/defensive-programming-as-a-backend-developer-building-robust-and-secure-systems/</guid><description>&lt;p>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.&lt;/p>
&lt;p>Defensive programming adalah praktik coding yang bertujuan untuk memastikan bahwa perangkat lunak berfungsi dengan benar bahkan ketika peristiwa tak terduga atau input tidak valid terjadi. Untuk seorang backend developer, defensive programming adalah pendekatan penting, yang memungkinkan kita merancang aplikasi yang dapat bertahan dari input buruk, error sistem, dan serangan eksternal.&lt;/p></description></item><item><title>How to Handle Time Zones and Sync Your Software on the Server Side Using Go</title><link>https://rizkynotes.com/posts/how-to-handle-time-zones-and-sync-your-software-on-the-server-side-using-go/</link><pubDate>Tue, 01 Oct 2024 09:36:41 +0700</pubDate><guid>https://rizkynotes.com/posts/how-to-handle-time-zones-and-sync-your-software-on-the-server-side-using-go/</guid><description>&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p></description></item><item><title>Observability Why Logging Its Important</title><link>https://rizkynotes.com/posts/observability-why-logging-its-important/</link><pubDate>Sun, 28 Jul 2024 09:06:36 +0700</pubDate><guid>https://rizkynotes.com/posts/observability-why-logging-its-important/</guid><description>&lt;p>Dalam era digital yang semakin kompleks, observabilitas adalah kunci utama dalam mengelola sistem perangkat lunak modern. Salah satu pilar terpenting dari observabilitas adalah &lt;strong>logging&lt;/strong>. Mari kita jelajahi mengapa logging sangat penting dan bagaimana cara memanfaatkannya secara optimal.&lt;/p>
&lt;h2 id="apa-itu-logging">Apa itu Logging?&lt;/h2>
&lt;p>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 &amp;lsquo;kotak hitam&amp;rsquo; pesawat terbang untuk sistem Anda - selalu merekam apa yang terjadi, siap memberikan wawasan ketika dibutuhkan.&lt;/p></description></item><item><title>Membuat Minimal Docker Image Dengan Golang</title><link>https://rizkynotes.com/posts/membuat-minimal-docker-image-dengan-golang/</link><pubDate>Fri, 18 Nov 2022 08:34:24 +0700</pubDate><guid>https://rizkynotes.com/posts/membuat-minimal-docker-image-dengan-golang/</guid><description>&lt;p>Ketika proses &lt;code>kontainerisasi&lt;/code> sebuah aplikasi dengan menggunakan &lt;code>docker&lt;/code> kita membutuhkan sebuah &lt;code>image&lt;/code>.&lt;/p>
&lt;p>Dimana &lt;code>image&lt;/code> ini didalamnya adalah sebuah aplikasi dengan seluruh package dan library yang dibutuhkan untuk siap dijalankan yang dibungkus menjadi satu.&lt;/p>
&lt;p>Tapi yang menjadi masalah ukuran &lt;code>image&lt;/code> ini bisa menjadi sangat besar, bisa ratusan Megabyte atau Gigabyte tergantung seberapa besar dan banyak package atau library yang ikut terinstall didalanya.&lt;/p>
&lt;p>Kali ini kita akan mencoba menggunakan teknik &lt;code>multistage&lt;/code> dimana akan membuat ukuran &lt;code>image&lt;/code> bisa menjadi sangat jauh lebih kecil.&lt;/p></description></item></channel></rss>