<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Rizky Note's</title><link>https://rizkynotes.com/en/posts/</link><description>Recent content in Blog on Rizky Note's</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 03 Jun 2026 10:00:00 +0700</lastBuildDate><atom:link href="https://rizkynotes.com/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Cutting Deployment Time by 80% with GitHub Actions and Docker</title><link>https://rizkynotes.com/en/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/en/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>A while back, I was working on a project for a client. Day to day, I&amp;rsquo;m a backend engineer, but in this project the scope expanded. I had to dip into the server side as well. The client wanted to migrate their Laravel application from &lt;strong>AWS Elastic Beanstalk&lt;/strong> to &lt;strong>AWS Lightsail&lt;/strong>, aiming to cut infrastructure costs and gain more control over the server.&lt;/p>
&lt;p>As someone who enjoys learning, this was actually an exciting moment. I&amp;rsquo;d been comfortable in the backend zone, and now I had the chance to get my hands on infrastructure and DevOps work directly.&lt;/p></description></item><item><title>Basic Concept &amp; Benefit of API Gateway</title><link>https://rizkynotes.com/en/posts/basic-concept-and-benefit-of-api-gateway/</link><pubDate>Thu, 27 Mar 2025 09:57:41 +0700</pubDate><guid>https://rizkynotes.com/en/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 gateways are an important component in modern software architecture, especially in systems that implement microservices. Api Gateway acts as the main gateway to receive all incoming API requests. With this role, API Gateway simplifies API management and improves overall system performance and security.&lt;/p>
&lt;p>Using API Gateway helps build systems that are &lt;strong>scalable&lt;/strong> and &lt;strong>easy to maintain&lt;/strong>. As system complexity increases, API Gateway plays a critical role in managing effective integration and communication between various backend services and clients.&lt;/p></description></item><item><title>Connection Pool in Backend Development: Basic Concept, Benefits, and Implementation</title><link>https://rizkynotes.com/en/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/en/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 is a mechanism that creates and manages a pool of database connections that can be used by applications. This concept is important in managing connections to the database with the aim of optimizing resource use and improving the performance of applications that frequently interact with the database.&lt;/p>
&lt;p>Instead of creating a new connection every time it is needed (which is expensive in terms of time and resources), connection pools allow applications to borrow/use existing connections and return them to the pool when they are finished using them. That&amp;rsquo;s why it&amp;rsquo;s called &lt;strong>connection pool&lt;/strong>.&lt;/p></description></item><item><title>Mastering Enums in Go</title><link>https://rizkynotes.com/en/posts/mastering-enums-in-go/</link><pubDate>Tue, 31 Dec 2024 15:18:47 +0700</pubDate><guid>https://rizkynotes.com/en/posts/mastering-enums-in-go/</guid><description>&lt;h5 id="image-by">&lt;em>Image by &lt;a href="https://unsplash.com/@sloppyperfectionist">Hans-Peter Gauster&lt;/a> from &lt;a href="https://unsplash.com/photos/stack-of-jigsaw-puzzle-pieces-3y1zF4hIPCg">Unsplash&lt;/a>&lt;/em>&lt;/h5>
&lt;p>Let&amp;rsquo;s say we are building an E-commerce API that will receive several orders, each order process has several statuses such as &lt;em>Pending, Processed, Shipped, Delivered, Cancelled&lt;/em>. And our application receives input strings which will be stored in the database, for example the status is Processed, received Process, Processing or something else that causes data inconsistencies. Here Enum has an important role.&lt;/p>
&lt;p>In Golang enums unlike other languages ​​such as Java or C# which offer built-in support for enums, Go takes a different approach. In Go, enums are not a native language feature, but developers have several techniques that can be used to achieve similar functionality.&lt;/p></description></item><item><title>Defensive Programming as a Backend Developer: Building Robust and Secure Systems</title><link>https://rizkynotes.com/en/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/en/posts/defensive-programming-as-a-backend-developer-building-robust-and-secure-systems/</guid><description>&lt;p>In backend application development, ensuring application security and stability is an absolute must. The backend is the backbone of the application, which is responsible for handling business logic, storing data, and interacting with external systems. Writing strong and reliable code is essential for all software developers. However, no matter how careful we are, bugs and unexpected situations can still occur. This is where Defensive programming comes into play.&lt;/p>
&lt;p>Defensive programming is a coding practice aimed at ensuring that software functions correctly even when unexpected events or invalid input occur. For a backend developer defensive programming is an important approach, which allows us to design applications that can survive bad input, system errors, and external attacks.&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/en/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/en/posts/how-to-handle-time-zones-and-sync-your-software-on-the-server-side-using-go/</guid><description>&lt;p>When your application starts on a large scale, the increase in users will increase. What is very likely to happen is that the user&amp;rsquo;s location is not only in the same area, it could be in another area that has a different time zone. So as a Backend developer, things related to handling time zone differences are very important to think about.&lt;/p>
&lt;p>I recently came across an issue involving time zones. Let&amp;rsquo;s be honest, dealing with dates and times is one of the most complicated areas a human being has to deal with. And this was an opportunity for me to learn how to properly handle dates and times on the server side.&lt;/p></description></item><item><title>Observability: Why Logging Is Important</title><link>https://rizkynotes.com/en/posts/observability-why-logging-is-important/</link><pubDate>Sun, 28 Jul 2024 09:06:36 +0700</pubDate><guid>https://rizkynotes.com/en/posts/observability-why-logging-is-important/</guid><description>&lt;p>In an increasingly complex digital era, observability is the main key in managing modern software systems. One of the most important pillars of observability is &lt;strong>logging&lt;/strong>. Let&amp;rsquo;s explore why logging is so important and how to make optimal use of it.&lt;/p>
&lt;h2 id="what-is-logging">What is Logging?&lt;/h2>
&lt;p>Logging is the process of recording activities and events in a system. This includes a variety of information, from error messages, user activity, to system performance. Think of logging as an airplane &amp;lsquo;black box&amp;rsquo; for your system - always recording what&amp;rsquo;s happening, ready to provide insights when needed.&lt;/p></description></item><item><title>Optimizing Relational Databases for Best Performance in MySQL</title><link>https://rizkynotes.com/en/posts/optimizing-relational-databases-for-best-performance-in-mysql/</link><pubDate>Tue, 07 May 2024 10:12:24 +0700</pubDate><guid>https://rizkynotes.com/en/posts/optimizing-relational-databases-for-best-performance-in-mysql/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>In today&amp;rsquo;s data-driven world, relational databases are the backbone of countless applications. They store and manage critical information, but their performance can significantly impact user experience and overall system efficiency.&lt;/p>
&lt;p>This blog post dives into key strategies for optimizing relational databases and ensuring they run at peak performance.&lt;/p>
&lt;h2 id="-common-query-mistake-that-lead-bottleneck">🔍 Common Query Mistake That Lead Bottleneck&lt;/h2>
&lt;p>Before optimizing, in this writing the discussion only covers &lt;strong>Unnecessary Full Table Scans&lt;/strong>, &lt;strong>Inefficient Queries&lt;/strong>, &lt;strong>Denormalization&lt;/strong>, &lt;strong>Insufficient Hardware Resources&lt;/strong>. It&amp;rsquo;s crucial to identify performance bottlenecks. Here are some common causes:&lt;/p></description></item></channel></rss>