From On-Premises to Cloud - A Zero-Downtime Migration Story
Hello, I’m Jeong Jeong-il, a 3rd-year backend developer working at a PropTech platform. In this post, I’d like to share my experience migrating a monolithic server operating in an on-premises environment to the cloud (AWS), and the infrastructure automation experience using Terraform during this pro...
July 10, 2025
Service Failures Should Be Detected Before Users Report Them - Building Our In-House Monitoring System
Hello. I’m Jeong Jeongil, a 3rd-year backend developer working at a proptech platform. After joining the team in March this year, one thing that stood out was that there were areas for improvement in the team’s monitoring system. Although we were using AWS CloudWatch before, there was an issue that ...
July 4, 2025
Absence of Naming Conventions Leads to Failures
Hello, I’m Jeongil Jeong, a 3rd-year backend developer working at a proptech platform. Today I’d like to talk about the importance of naming conventions, which we know are important in software development but whose importance we tend to overlook when it comes to resource investment. Through a probl...
June 30, 2025
Money Disappeared? Transitioning Account Balance Verification Batch from Tasklet to Chunk & Partitioning
Hello. I’m Jeong Jeongil, a 2-year backend developer working at a lending and investment platform. While internally verifying data consistency in our operational company service, we experienced account balance and internal Point inconsistencies due to transaction processing time and batch work ineff...
December 24, 2024
External API Performance Improvement: Reducing Response Time from 5100ms to 57ms with Look-aside Cache
Hello. I’m a 2-year backend developer currently working at a lending and investment platform. In this post, I’d like to share my experience of improving external API performance using the Look-aside cache pattern. The problems I faced during this process were not simple. Various issues were intertwi...
December 16, 2024
Escaping Cherry-pick Hell: Junior Developers' PR-based Code Review and Git Flow Introduction Story
Introduction Hello. In this article, I’ll share our experience of introducing Pull Request (PR)-based code reviews and Git Flow in a company where PRs didn’t exist, in a chaotic local development environment. At that time, our team worked by merging and pushing from each person’s local, and all deve...
December 10, 2024
The Gap Between Clean Code and Reality as I Feel It
When developing, you encounter the term “Clean Code”. Principles that code should be easy to read, clearly express intent, and be easy to maintain. When I first learned clean code, I felt many things. I started thinking for the first time that I need to think a lot even when naming one variable. But...
December 3, 2024
[Memoir] Solving HikariCP Deadlock Problem from Mixing JPA and MyBatis
In early 2024, there was an incident where I faced an unexpected problem. (That article) I’ll write a memoir about the situation at that time. HikariCP Deadlock problem occurred in code mixing JPA and MyBatis. It was more bewildering because it was code that had been operating without problems for s...
December 2, 2024
JPA's Design Philosophy and the Gap with SQL: Finding Practical Alternatives
When using JPA, you sometimes encounter moments like “Huh? Why doesn’t this work?” I think anyone who has used JPA has probably experienced the confusion when a feature that was natural in SQL isn’t supported in JPQL. In this article, I want to talk about why the gap between JPA and SQL exists, and ...
November 28, 2024
DB Replication Lag: How to Solve It
When developing in an environment that uses database Replication, there’s a problem you’ll inevitably encounter at some point. It’s the replication lag problem. I also faced this issue at my company, and went through various considerations during the resolution process. In this article, I want to sh...
November 15, 2024