👋 Welcome! A tech blog where a backend developer shares experiences in Backend, Infrastructure, Troubleshooting, and more ✨

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...

Read more →

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...

Read more →

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...

Read more →

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 ...

Read more →

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...

Read more →

March 15, 2024

[Troubleshooting] Failed Graceful Shutdown During Kubernetes Pod Scale In, Journey to Find Lost Async Logic

I’m sharing about a failed Graceful Shutdown issue I encountered at work. Problem Occurrence Usually, I encounter exceptions and problem situations through Slack quite often. Today, I encountered a problem differently than usual. This problem started with a back office user’s inquiry. “I think one p...

Read more →

February 9, 2024

[Troubleshooting] Journey to Resolving HikariCP Deadlock When Using JPA and MyBatis Together (feat. OSIV)

I’m sharing an issue related to HikariCP Deadlock that I encountered at work. Problem Occurrence As always, the issue starts with a Slack message. Excerpt from Stack trace Caused by: org.apache.ibatis.exceptions.PersistenceException: ###Error querying database. Cause: org.springframework.jdbc.Cannot...

Read more →

January 9, 2024

Spring Batch Job Concurrent Registration Deadlock Issue (Deadlock accessing creating a job on sqlserver when multiple jobs start at once)

I’d like to share a Spring Batch-related issue I encountered at work. Problem Occurrence The issue started with an error message in Slack. It was a stack trace indicating that a Deadlock had occurred on our company’s Batch server. Naturally, since Deadlock could severely impact the service, I immedi...

Read more →

November 20, 2023

Creating a Common Excel Download Utility Class Using Java POI

It’s nothing grand, but I’d like to share an experience I had at work a few months ago. It started with inquiries from end users, namely my coworkers, who use the back-office system internally. The inquiry was as follows: Excel download doesn’t work or becomes strange when the row count exceeds a ce...

Read more →

November 19, 2023

Review of Auto-Trading System Built with Spring Batch

It’s not grand content, but I want to share a personal experience I had a few months ago. https://github.com/12OneTwo12/auto-trading This article doesn’t describe how to implement it. If you want to see the code, please enter the github link above. Also, I think the auto-trading system I made doesn’...

Read more →

October 24, 2023