👋 환영합니다! 쥐뿔도 모르는 개발자가 백엔드, 인프라, 트러블슈팅 등의 경험을 공유하고 기록하는 개발 블로그입니다 ✨

온프레미스에서 클라우드로 - 무중단 마이그레이션 경험기

안녕하세요 저는 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 3년차 백엔드 개발자 정정일입니다. 이번 글에서는 온프레미스 환경에서 운영되던 모놀리식 서버를 클라우드(AWS)로 이전한 경험과 그 과정에서 테라폼(Terraform)을 활용한 인프라 자동화 경험에 대해 공유하려 합니다. 배경 상황 제가 올해 3월에 팀에 합류했을 때, 대부분의 서비스는 이미 클...

더보기 →

2025년 7월 10일

서비스 장애는 사용자가 알려주지 않아도 알아야한다 - 사내 모니터링 시스템 구축기

안녕하세요. 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 3년차 백엔드 개발자 정정일입니다. 올해 3월에 팀에 합류한 후, 눈에 띈 것 중 한가지는 팀에서 모니터링 시스템에 개선할만한 부분들이 보였다는 것이었습니다. 기존에는 AWS CloudWatch를 이용하고 있었지만 효과적으로 활용되지 않고 있다는 점이 존재했습니다. 특히 장애가 발생하더라도 사용자 ...

더보기 →

2025년 7월 4일

네이밍 컨벤션의 부재는 장애로 이어진다.

안녕하세요 저는 프롭테크 플랫폼에서 백엔드 개발자로 근무 중인 3년차 백엔드 개발자 정정일입니다. 오늘은 소프트웨어 개발에서 중요한 것은 알지만 중요성에 비해 리소스 투자를 간과하기 쉬운 네이밍 컨벤션의 중요성에 대해 이야기해보려 합니다. 최근 저희 팀에서 실제로 겪었던 문제를 통해, 일관되지 않은 네이밍이 어떻게 시스템 안정성을 위협할 수 있는지 공유드리...

더보기 →

2025년 6월 30일

😨 입금된 돈이 사라졌다? 계좌 잔고 정합성 검증 배치, Tasklet에서 Chunk & Partitioning으로의 전환기

안녕하세요. 저는 대출 및 투자 연계 플랫폼에서 백엔드 개발자로 근무 중인 2년 차 개발자 정정일입니다. 운영 중인 회사 서비스에서 내부적으로 데이터 정합성을 검증하던 중, 트랜잭션 처리 시간과 배치 작업의 비효율성으로 은행 계좌 잔고와 서비스 내부 포인트(Point)의 불일치로 인해 정합성 검증 작업이 실패하거나, 잘못된 노티가 발송되는 경우가 있었습니다...

더보기 →

2024년 12월 24일

🚀 외부 API 성능 개선기: Look-aside 캐시로 5100ms ➔ 57ms 단축

안녕하세요. 저는 현재 대출 및 투자 연계 플랫폼에서 백엔드 개발자로 근무 중인 2년 차 개발자입니다. 이번 글에서는 Look-aside 캐시 패턴을 활용하여 외부 API 성능을 개선한 경험을 공유하려고 합니다. 이 과정에서 제가 직면했던 문제들은 단순하지 않았습니다. API 호출의 지연, 중복 호출로 인한 비용 문제, 그리고 사용자 경험의 저하 등 다양한...

더보기 →

2024년 12월 16일

Cherry-pick 지옥에서 탈출하기: 주니어 개발자들의 PR 단위 코드리뷰와 Git Flow 도입기

들어가며 안녕하세요. 이 글에서는 Pull Request(PR) 이 없던 회사의 혼돈의 로컬 개발 환경에서, PR 단위 코드리뷰와 Git Flow를 도입했던 경험을 풀어보려고 합니다. 당시 저희 팀은 각자 로컬에서 Merge하고 Push하는 방식으로 작업했고, 모든 개발이 단일 브랜치(dev)에서 이루어졌기에 Cherry-pick 남발과 그로 인한 conf...

더보기 →

2024년 12월 10일

내가 느낀 클린 코드와 현실의 괴리

개발을 하다 보면 “클린 코드” 라는 단어를 접하게 됩니다. 코드는 읽기 쉽고, 의도를 명확히 드러내며, 유지보수하기 쉬워야 한다는 원칙들이죠. 처음 클린 코드를 배울때 참 많은 것들을 느꼈습니다. 변수하나의 네이밍을 붙이면서도 많은 고민을 해야하구나 하는 생각을 처음으로 하게 됐었거든요. 하지만 실무에 발을 들이고 여러 프로젝트를 경험하다 보니 현실은 생...

더보기 →

2024년 12월 3일

[회고록] JPA와 MyBatis 혼용으로 발생한 HikariCP Deadlock 문제를 해결하며

2024년 초, 예상치 못한 문제와 마주한 사건이 있었습니다. (해당 글) 당시의 상황에 대한 회고록을 작성하려 합니다. JPA와 MyBatis를 혼용한 코드에서 HikariCP Deadlock 문제가 발생했는데요. 몇 달간 문제없이 운영되던 코드였기에 더욱 당황스러웠습니다. 해결 과정에서 JPA, HikariCP, 그리고 영속성 컨텍스트의 동작 원리를 깊...

더보기 →

2024년 12월 2일

JPA의 설계 철학과 SQL의 간극, 그리고 현실적인 대안

JPA를 사용하다 보면 “어라, 이건 왜 안 되지?“라는 순간을 마주하게 됩니다. SQL에서는 당연하게 사용하던 기능이 JPQL에서는 지원되지 않아 당황했던 경험, 아마 JPA를 사용해보신 분이라면 한 번쯤은 있으실 거라 생각합니다. 이 글에서는 JPA와 SQL 사이의 간극이 왜 존재하는지, 그리고 실무에서 이런 한계를 어떻게 극복할 수 있는지 제 경험을 ...

더보기 →

2024년 11월 28일

DB Replication 복제 지연, 어떻게 해결할 것인가

데이터베이스 Replication을 사용하는 환경에서 개발하다 보면, 언젠가 한번쯤은 마주치게 되는 문제가 있습니다. 바로 복제 지연(Replication Lag) 문제입니다. 저 역시 회사에서 이 문제를 직면했고, 해결 과정에서 여러 고민을 했던 경험이 있습니다. 이 글에서는 복제 지연이 왜 발생하는지, 그리고 어떤 해결 방법들이 있는지 제 경험을 바탕으...

더보기 →

2024년 11월 15일