<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Artikel on Rizky Note's</title><link>https://rizkynotes.com/posts/</link><description>Recent content in Artikel 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/posts/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>Cutting Deployment Time by 80% with GitHub Actions and Docker</title><link>https://rizkynotes.com/posts/cutting-deployment-time-by-80-with-github-actions-and-docker/</link><pubDate>Wed, 03 Jun 2026 10:00:00 +0700</pubDate><guid>https://rizkynotes.com/posts/cutting-deployment-time-by-80-with-github-actions-and-docker/</guid><description>&lt;h5 id="photo-by-bruno-kelzer-on-unsplash">Photo by &lt;a href="https://unsplash.com/@bruno_kelzer?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Bruno Kelzer&lt;/a> on &lt;a href="https://unsplash.com/photos/person-holding-green-and-gray-leaf-UZuNn5yjHpc?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash&lt;/a>&lt;/h5>
&lt;p>Beberapa waktu lalu saya sedang mengerjakan project untuk seorang client. Sehari-hari saya adalah backend engineer, tapi di project ini ternyata scope-nya meluas. Saya harus masuk ke ranah server juga. Client ingin memigrasikan aplikasi Laravel mereka dari &lt;strong>AWS Elastic Beanstalk&lt;/strong> ke &lt;strong>AWS Lightsail&lt;/strong>, dengan alasan ingin menekan biaya infrastruktur bulanan dan punya kontrol lebih penuh atas server.&lt;/p>
&lt;p>Sebagai orang yang suka belajar, ini justru momen yang menarik. Selama ini saya nyaman di zona backend, sekarang kesempatan buat pegang hal-hal infrastruktur dan DevOps secara langsung.&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>Optimizing Relational Databases for Best Performance in Mysql</title><link>https://rizkynotes.com/posts/optimizing-relational-databases-for-best-performance-in-mysql/</link><pubDate>Tue, 07 May 2024 10:12:24 +0700</pubDate><guid>https://rizkynotes.com/posts/optimizing-relational-databases-for-best-performance-in-mysql/</guid><description>&lt;h2 id="pengantar">Pengantar&lt;/h2>
&lt;p>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.&lt;/p>
&lt;p>Posting blog ini membahas strategi kunci untuk mengoptimalkan basis data relasional dan memastikan mereka berjalan pada kinerja puncak.&lt;/p>
&lt;h2 id="-kesalahan-query-umum-yang-menyebabkan-bottleneck">🔍 Kesalahan Query Umum yang Menyebabkan Bottleneck&lt;/h2>
&lt;p>Sebelum mengoptimalkan, dalam penulisan ini diskusi hanya mencakup &lt;strong>Full Table Scan yang Tidak Perlu&lt;/strong>, &lt;strong>Query yang Tidak Efisien&lt;/strong>, &lt;strong>Denormalisasi&lt;/strong>, &lt;strong>Sumber Daya Hardware yang Tidak Cukup&lt;/strong>. Sangat penting untuk mengidentifikasi bottleneck kinerja. Berikut adalah beberapa penyebab umum:&lt;/p></description></item><item><title>Mengenal Context Pada Golang</title><link>https://rizkynotes.com/posts/mengenal-context-pada-golang/</link><pubDate>Fri, 25 Nov 2022 09:52:55 +0700</pubDate><guid>https://rizkynotes.com/posts/mengenal-context-pada-golang/</guid><description>&lt;p>Saat mengembangkan sebuah aplikasi backend yang menangani &lt;code>http request&lt;/code> dari client, mungkin yang perlu diketahui adalah url endpoint mana yang diminta klien untuk menentukan sebuah function mana yang akan melayani response.&lt;/p>
&lt;p>Namun saat melayani sebuah response beberapa hal selalu dapat terjadi, seperti client memutuskan koneksi sebelum menerima response.&lt;/p>
&lt;p>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.&lt;/p></description></item><item><title>Golang Dasar #6 - Constant</title><link>https://rizkynotes.com/posts/golang-dasar-6-constant/</link><pubDate>Mon, 21 Nov 2022 09:06:24 +0700</pubDate><guid>https://rizkynotes.com/posts/golang-dasar-6-constant/</guid><description>&lt;p>Constant adalah jenis &lt;code>variable&lt;/code> yang nilainya tidak dapat diubah. Deklarasi nilai hanya dilakukan di awal, setelah itu nilainya tidak dapat diubah lagi.&lt;/p>
&lt;h1 id="cara-membuat-constant">Cara Membuat Constant&lt;/h1>
&lt;p>Untuk membuat &lt;code>constant&lt;/code> memiliki beberapa cara.&lt;/p>
&lt;p>Mari kita bahas&lt;/p>
&lt;h2 id="constant-dengan-manifest-typing-atau-inference-typing">Constant dengan manifest typing atau inference typing&lt;/h2>
&lt;p>Ketika membuat variable pada Golang kita dapat menggunakan &lt;code>manifest typing&lt;/code> yaitu di tuliskan tipe datanya dan &lt;code>inference typing&lt;/code> tidak di tuliskan tipe datanya.&lt;/p>
&lt;blockquote>
&lt;p>Tentang manifest typing dan inference typing dapat dipelajari pada postingan instagram jabutech &lt;a href="https://www.instagram.com/p/Cg1BTGsvCVE/?utm_source=ig_web_copy_link">disini.&lt;/a>&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><item><title>Golang Dasar #5 - Tipe Data</title><link>https://rizkynotes.com/posts/golang-dasar-5-tipe-data/</link><pubDate>Mon, 14 Nov 2022 10:47:40 +0700</pubDate><guid>https://rizkynotes.com/posts/golang-dasar-5-tipe-data/</guid><description>&lt;p>Pada Go (Golang) ada beberapa tipe data. Yaitu adalah tipe data &lt;code>integer&lt;/code>, &lt;code>float (floating point)&lt;/code>, &lt;code>string&lt;/code>, dan &lt;code>boolean&lt;/code>.&lt;/p>
&lt;p>Mari kita bahas satu persatu.&lt;/p>
&lt;h1 id="tipe-data-integer">Tipe data Integer&lt;/h1>
&lt;p>Tipe data &lt;code>integer&lt;/code> pada Go ada beberapa jenis.&lt;/p>
&lt;p>Tapi secara umum ada 2 tipe data pada kategori ini yang perlu diketahui, yaitu:&lt;/p>
&lt;ul>
&lt;li>&lt;code>uint&lt;/code>, tipe data untuk bilangan cacah (bilangan positif).&lt;/li>
&lt;li>&lt;code>int&lt;/code>, tipe data untuk bilangan bulat (bilangan negatif dan positif).&lt;/li>
&lt;/ul>
&lt;p>Tipe data ini memiliki &lt;code>zero value&lt;/code> atau nilai awal yaitu &lt;code>0&lt;/code>.&lt;/p></description></item><item><title>Mengenal net/http Default Package Golang</title><link>https://rizkynotes.com/posts/mengenal-net/http-default-package-golang/</link><pubDate>Sat, 29 Oct 2022 20:06:48 +0700</pubDate><guid>https://rizkynotes.com/posts/mengenal-net/http-default-package-golang/</guid><description>&lt;p>Go atau Golang yang sering kita dengar sangat bagus untuk membangun aplikasi web dari segala bentuk dan ukuran.&lt;/p>
&lt;p>Hal ini karena Go memiliki standart paket library yang bersih, konsisten dan mudah digunakan.&lt;/p>
&lt;h1 id="apa-itu-nethttp">Apa itu net/http&lt;/h1>
&lt;p>Salah satu paket librarynya adalah &lt;code>net/http&lt;/code>. Paket ini memungkinkan kita membangun server HTTP di Go dengan baik dan beberapa fitur lain seperti routing, templating, dan lainnya.&lt;/p>
&lt;p>Go memiliki web servernya sendiri dan web server ini ada didalam Go. Berbeda dengan bahasa lain yang memerlukan pendukung web server terpisah (contoh PHP yang membutuhkan Nginx atau Apache sebagai web servernya).&lt;/p></description></item><item><title>Environment Variable Pada Golang</title><link>https://rizkynotes.com/posts/environment-variable-pada-golang/</link><pubDate>Sun, 26 Jun 2022 11:01:35 +0700</pubDate><guid>https://rizkynotes.com/posts/environment-variable-pada-golang/</guid><description>&lt;p>Ketika membangun sebuah aplikasi pastinya memiliki beberapa informasi &lt;em>credential&lt;/em>. Katakan aplikasi kita terhubung ke database.&lt;/p>
&lt;p>Dimana diharuskan untuk menuliskan &lt;em>credential&lt;/em> seperti &lt;code>host&lt;/code>, &lt;code>name&lt;/code>, &lt;code>username&lt;/code>, dan &lt;code>password&lt;/code> database yang bisa saja dilakukan langsung didalam kode program.&lt;/p>
&lt;p>Tapi cara ini sangat tidak dianjurkan karena tidak aman dan kurang efesien.&lt;/p>
&lt;p>Ditambah lagi jika bekerja menggunakan &lt;strong>Git&lt;/strong>. Data &lt;em>credential&lt;/em> akan dicatat olehnya dan mudah dicuri oleh orang lain.&lt;/p>
&lt;p>Salah satu cara yang baik yaitu dengan menggunakan &lt;strong>environment variable&lt;/strong> untuk menyimpan &lt;em>credential&lt;/em>.&lt;/p></description></item><item><title>Cara Deploy Aplikasi Golang Dan Database Mysql Ke Heroku</title><link>https://rizkynotes.com/posts/cara-deploy-aplikasi-golang-dan-database-mysql-ke-heroku/</link><pubDate>Tue, 10 May 2022 15:06:39 +0700</pubDate><guid>https://rizkynotes.com/posts/cara-deploy-aplikasi-golang-dan-database-mysql-ke-heroku/</guid><description>&lt;p>Ketika membangun sebuah Aplikasi, pastinya kita ingin untuk melakukan publishing aplikasi kita agar bisa diakses oleh publik.&lt;/p>
&lt;p>Dengan berbagai tujuan, misalnya ingin melakukan testing, mendapat feedback orang lain, atau juga menunjukkan hasil kerja kepada client.&lt;/p>
&lt;p>Untuk memenuhi kebutuhan diatas, kali ini kita akan melakukan proses deployment aplikasi &lt;strong>Go (Golang)&lt;/strong> dan menggunakan database &lt;strong>MySQL&lt;/strong> sebagai penyimpanan datanya ke &lt;strong>Heroku&lt;/strong>.&lt;/p>
&lt;h1 id="1-apa-itu-heroku-">1. Apa itu Heroku ?&lt;/h1>
&lt;p>&lt;strong>Heroku&lt;/strong> adalah sebuah layanan berbasis &lt;strong>Cloud Computing&lt;/strong> yang menyediakan &lt;em>Platform as a Service (Paas)&lt;/em> yang dimana memungkinkan untuk menjalankan, membangun, dan mengoperasikan aplikasi yang sudah kita bangun agar siap digunakan tanpa perlu banyak kerumitan.&lt;/p></description></item><item><title>Deploy Aplikasi React Js Ke Vercel Dari Github</title><link>https://rizkynotes.com/posts/deploy-aplikasi-react-js-ke-vercel-dari-github/</link><pubDate>Tue, 08 Mar 2022 06:31:39 +0700</pubDate><guid>https://rizkynotes.com/posts/deploy-aplikasi-react-js-ke-vercel-dari-github/</guid><description>&lt;p>Terkadang kita ingin menunjukkan hasil karya kita atau project kita ke publik agar bisa lihat oleh orang banyak.&lt;/p>
&lt;p>Kali ini kita akan menggunakan penyedia layanan hosting &lt;strong>Vercel&lt;/strong> untuk mempublikasikan aplikasi React Js yang sudah kita push ke &lt;strong>Github&lt;/strong>.&lt;/p>
&lt;p>Kenapa harus dengan &lt;strong>github&lt;/strong> ?&lt;/p>
&lt;p>Ini adalah cara agar source code kita bisa aman disimpan di github dan ketika ingin pindah layanan hosting kita hanya perlu koneksikan github ke hosting lain.&lt;/p>
&lt;h2 id="persiapan">Persiapan&lt;/h2>
&lt;p>Sebelum kita lanjut kamu harus punya:&lt;/p></description></item><item><title>Mengirim Email Dari Expressjs Dengan Nodemailer</title><link>https://rizkynotes.com/posts/mengirim-email-dari-expressjs-dengan-nodemailer/</link><pubDate>Tue, 15 Feb 2022 06:11:57 +0700</pubDate><guid>https://rizkynotes.com/posts/mengirim-email-dari-expressjs-dengan-nodemailer/</guid><description>&lt;p>Kita selalu mendapatkan email setiap harinya.&lt;/p>
&lt;p>Contohnya aplikasi ecommerce yang selalu mengingatkan barang yang ada dikeranjang untuk segera dilakukan checkout.&lt;/p>
&lt;p>Tapi coba kita berpikir sebentar, apakah ada seseorang yang mengirimkan email itu satu per satu kepada setiap ribuan user ?.&lt;/p>
&lt;p>Jika iya, ini adalah pekerjaan yang melelahkan.&lt;/p>
&lt;p>Tapi biasanya hal ini bisa ditangain oleh sebuah aplikasi.&lt;/p>
&lt;p>Selain contoh kasus mengirim email pada ecommerce diatas, cara mengirim email dengan aplikasi ini bisa juga digunakan untuk beberapa kasus yaitu:&lt;/p></description></item></channel></rss>