운에 맡기던 배치를 시스템으로 바꾸기: Part 1 — 왜 이 배치는 가끔 터질까? Notes 이 시리즈는 80만 건 이상 데이터를 처리하는 배치 시스템을 운영하며 겪은 문제와 개선 과정을 기록한 글입니다. Redis 락, 단일 트랜잭션, 폴링 기반 배치처럼 흔히 쓰이는 구조가 실제 운영 환경에서는 어떤 식으로 정합성 문제와 장애로 이어지는지, 그리고 이를 어떻게 시스템적으로 해결했는지를 다룹니다. 이 글은 단순한 성능 최적화나 기술... 2025/12/19 Notes, Common
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 3장 성능을 좌우하는 DB 설계와 쿼리 Book 백엔드 성능 문제에서 가장 자주 병목이 되는 곳은 결국 DB다. 애플리케이션은 수평 확장이 비교적 쉽지만, DB는 잘못 설계되면 병목이 누적되기 쉽다. 이 장의 핵심 좋은 DB 설계는 단순히 정규화/비정규화 선택 문제가 아니다. 쿼리 패턴과 인덱스 전략이 실제 성능을 결정한다. 쿼리는 “문법적으로 맞는지”가 아니라 “어떻게 실행되는지”... 2025/12/04 Book, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
2025-11-17-TIL TIL Today I Learned 오늘은 올해 봤던 면접중 하나를 복기하면서 내가 잘 대답하지 못 했던 개념들, 그리고 내가 잘 설명하지 못 했던 나의 경험들에 대해서 정리해보았다. 그때 당시에는 몰랐는데 내가 들어도 정말 매력이 느껴지지 않는 지원자로 들린다. 뭔가 알맹이는 없고 껍데기만 있는 것 같다. 플랫폼이란 플랫폼(Platform)은 사람들이... 2025/11/17 TIL, 2025-TIL
2025-11-11-TIL TIL Today I Learned 오늘 동네를 돌아다니다가 수많은 임대 건물들과 손님이 없는 가게들을 보았다. 그 손님이 없는 술집, 음식점, 그리고 카페에는 사장님들이 각자 쓸쓸하게 또는 굳건하게 자리를 지키는 모습이 보였다. 어두운 동네에서 따뜻한 주황빛 하나가 사장님을 비추고 있는데, 어떤 사람은 핸드폰만 만지면서 마냥 기다리기만 했고, 어떤 사람은... 2025/11/11 TIL, 2025-TIL
Bulkhead Pattern Notes Bulkhead Pattern Bulkhead(Partition, 격벽)란 항공기나 선박에서 내부의 구간을 나누는 칸막이 역할을 하는 요소를 말한다. 이는 구획별로 침수 피해를 입어도 다른 구획은 피해를 입지않도록 막아주는 역할을 한다. 서버에서 데이터의 흐름을 살펴보면 물의 흐름과 비슷한 점이 많다. 따라서 파이프의 서킷 브레이커 같은 용어를 가... 2025/11/10 Archive, Web
2025-11-05-TIL TIL Today I Learned 오늘의집 커피챗을 대비하면서 나에게 도움이 될만한 질문을 준비해보았다. 실제로 간단한 커머스 서비스를 설계하고 내부 시스템까지 구축해보면서 커머스의 구조를 대략적으로 파악해보려고 한다. 공고 내용을 바탕으로 보면, 오늘의집 커머스 백엔드 포지션은 트래픽이 높은 커머스 코어 도메인(주문·결제·정산 등)을 다루면서, AI ... 2025/11/05 TIL, 2025-TIL
2025-11-04-TIL TIL Today I Learned 오늘은 링크드인에서 B사의 개발자분이 직접 채용공고와 함께 글을 올린것을 보았다. 편하게 연락달라는 글과 연락처 및 메일, 그리고 채용공고 링크가 있었다. 이렇게 올라온 글은 어떤 목적으로 쓰여진 것일까? 내가 생각하기로는 지원자 입장에서는 편하게 연락해서 커피챗이나 간단한 통화를 해보고 내 이력서의 이름이라도 한 번 더... 2025/11/04 TIL, 2025-TIL
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 2장 느려진 서비스, 어디부터 봐야 할까 Book 서비스가 느려졌을 때 가장 흔한 실수는 “일단 코드 최적화부터 시작하는 것”이다. 실무에서는 먼저 병목이 어느 계층에 있는지부터 구분해야 한다. 기본 분류 성능 문제는 대체로 네 군데에서 시작한다. 애플리케이션 CPU 사용량 증가 DB 지연 외부 시스템 응답 지연 네트워크 또는 인프라 계층 문제 같은 “응답 지연”이어도 원인은... 2025/11/03 Book, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 1장 들어가며 Book 이 책의 시작점은 단순하다. 주니어 백엔드 개발자는 언어 문법이나 프레임워크 문법을 아는 것만으로는 충분하지 않다. 실제 서비스 환경에서는 다음 질문에 답할 수 있어야 한다. 왜 서비스가 느려졌는가 DB가 병목일 때 어디를 봐야 하는가 외부 연동 실패를 어떻게 해석해야 하는가 동시성 문제를 어떤 관점으로 분해해야 하는가 서버, 네... 2025/10/28 Book, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
단위 테스트와 통합 테스트를 어떻게 구분해야 할까 Notes 테스트를 작성하다 보면 가장 자주 헷갈리는 질문 중 하나가 있다. 이 테스트는 단위 테스트인가, 통합 테스트인가? 이 질문이 중요한 이유는 용어 자체보다 테스트가 어떤 책임을 가지는지를 결정하기 때문이다. 단위 테스트와 통합 테스트를 잘 구분하지 못하면 테스트는 많아지는데도 실패 원인을 찾기 어렵고, 실행 속도는 느려지고, 유지보수 비용은 ... 2025/09/03 Notes, Programming