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
The Ideology of JPA and the Gap with SQL
When using JPA, you sometimes encounter moments like “Huh? They don’t support this?” JPA (Java Persistence API) is a tool designed to bridge the gap between databases and objects in Java applications and help with object-oriented development. However, despite the advantages gained from using JPA, th...
November 28, 2024
Resolving DB Replication Lag
I’m sharing about a replication lag issue I encountered at work. Problem Occurrence Our company uses database replication to distribute load and improve performance. The system is configured as Active-Active redundancy in a Master-Slave structure, and through ProxySQL, SELECT statements are sent to ...
November 15, 2024
[Troubleshooting] QueryDSL StackOverflowError Investigation
I’m sharing about a Querydsl StackOverflow issue I encountered at work. Problem Occurrence As always, the problem starts with a Slack message. As soon as I received the message, I couldn’t help but react with “huh?” StackOverflow? Was there recursively implemented code in the server? What is StackOv...
March 15, 2024