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, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
카카오 「MySQL DATETIME, TIMESTAMP 데이터 타입에 대한 분석」 리뷰 — 바이트 단위 저장 구조부터 아직 안 고쳐진 Y2K38까지 Tech Blog Review 원문: MySQL DATETIME, TIMESTAMP 데이터 타입에 대한 분석 — kakao tech, 2025-10-17 한 줄 요약 DATETIME은 연월일시분초를 5바이트 정수로 묶어 부호 오프셋을 더해 저장하고(정렬 순서가 시간 순서와 같게), TIMESTAMP는 세션 타임존으로 UTC로 바꿔 32비트 정수로 저장한다. 소수 초는 선언 자릿... 2025/10/27 TechBlog, Kakao 빅테크 기술 블로그 리뷰 14편
폴링 배치를 SQS 이벤트 파이프라인으로 바꾼 이유: 재시도, DLQ, 메시지 ID 멱등 실무 사례 Notes 글로벌 유통 시스템(MDS)에서는 파트너사가 앨범을 올리고, 관리자가 검수하고, 검수가 끝나면 해외 플랫폼으로 전송하는 흐름이 계속 발생한다. 처음에는 이 작업들을 폴링 배치가 순서대로 처리했다. 이 글은 그 구조가 어디서 한계에 부딪혔는지, 큐로 바꾸면서 무엇을 새로 떠안게 됐는지(중복 전달, 순서, 실패 격리), 그리고 각각을 어떻게 다뤘는지 정리... 2025/10/19 Notes, Common
정산이 진행되는 동안 기준 데이터 수정을 막는 방법: 상태 플래그와 AOP로 만든 경량 락 실무 사례 Notes 글로벌 유통 시스템(MDS)에서 정산은 계약, 앨범, 곡 메타데이터를 기준으로 수익을 계산하는 프로세스였다. 이 글은 그 정산이 도는 동안 기준 데이터가 바뀌는 문제를 어떻게 막았는지, 왜 DB 락이 아니라 애플리케이션 레벨의 상태 플래그를 택했는지, 그리고 그 선택이 남긴 구멍을 어디까지 받아들였는지 정리한 기록이다. 이 글의 코드와 SQL은... 2025/10/05 Notes, Common
단위 테스트와 통합 테스트를 어떻게 구분해야 할까 Notes 테스트를 작성하다 보면 가장 자주 헷갈리는 질문 중 하나가 있다. 이 테스트는 단위 테스트인가, 통합 테스트인가? 이 질문이 중요한 이유는 용어 자체보다 테스트가 어떤 책임을 가지는지를 결정하기 때문이다. 단위 테스트와 통합 테스트를 잘 구분하지 못하면 테스트는 많아지는데도 실패 원인을 찾기 어렵고, 실행 속도는 느려지고, 유지보수 비용은 ... 2025/09/03 Notes, Programming
카카오 「추가배포 없이 API의 case 통일시키기」 리뷰 — 받는 쪽이 자기 케이스에 맞춰 알아서 읽게 하면 배포 순서가 사라진다 Tech Blog Review 원문: 추가배포 없이 API의 case 통일시키기 — kakao tech, 루이스(마이구독 백엔드), 2024-11-19 한 줄 요약 서버마다 camelCase와 snake_case가 섞인 DTO(서버 간에 주고받는 데이터 객체) 900개를 camelCase로 통일해야 했다. 무중단으로 하려면 v2 API 추가 → 호출자 전환 → v1 제거의 배포... 2025/09/03 TechBlog, Kakao 빅테크 기술 블로그 리뷰 11편
2025-09-02-TIL TIL Today I Learned Spring의 의존주입(DI) 방식 3가지 생성자 주입 (Constructor Injection) 의존 객체를 생성자의 파라미터로 전달받아 주입하는 방식 불변성(immutability)을 보장하고, 테스트 시에 의존 객체를 명확하게 주입해야 하므로 안정성이 높다. 스프링 4.3 이후에는 생성자가 하... 2025/09/02 TIL, 2025-TIL