실전 데이터베이스 입문 복습: SQL을 적는 순서와 해석하는 순서 Lecture 데이터 모델과 기본 SQL을 연결하고 WHERE, GROUP BY, HAVING의 역할을 논리적 처리 순서로 정리한다. 2025/09/20 Database
화면 단위 API를 도메인 책임 단위로 다시 나누기: 응답 1.5초에서 300ms까지 실무 사례 Notes 음원 콘텐츠 플랫폼(MCP) 전면 개편에서 가장 먼저 손댄 것은 API의 단위였다. 기존 API는 화면 하나에 맞춰 만들어져 있었고, 그 결과 같은 데이터를 여러 번 읽고, 하나의 변경을 여러 API에 나눠 담고 있었다. 이 글은 그 구조가 어떤 증상으로 드러났는지, 왜 API를 도메인 책임 단위로 다시 나눴는지, 트랜잭션 경계를 어디에 두었는지, 그... 2025/09/13 Common 음원 콘텐츠 플랫폼(MCP) 전면 개편 6편
8천만 곡 규모 음원 데이터와 온프레미스에서 AWS로의 점진 전환: 참여자로 본 것 실무 사례 Notes 음원 플랫폼 회사에서 일하는 동안 회사 차원의 인프라 전환이 있었다. 온프레미스 서버에서 돌던 서비스를 AWS로 옮기는 작업이었고, 인프라팀이 주도하고 여러 팀이 참여하는 전사 이니셔티브였다. 나는 이 작업을 설계하거나 주도하지 않았다. 참여자로서 가까이에서 지켜본 것이다. 그래서 이 글은 마이그레이션 회고가 아니다. 어떤 데이터를 다루는 환경이었는... 2025/09/06 Common 음원 플랫폼 운영과 클라우드 전환 1편
이력서 기반의 면접 준비 노트 Recruit Java 11, 17, 21의 차이점 Java 11, 17, 21은 모두 LTS(Long-Term Support) 릴리스다. 아래는 각 버전에 포함된 JEP를 기준으로 정리한 것이다. 어떤 기능이 어느 버전에서 정식(final)이 되었는지는 해당 JEP의 Release 항목으로 확인했다. Java 11 JDK 11의 GA는 2018년 9월 25일... 2025/09/04 Interview
단위 테스트와 통합 테스트를 어떻게 구분해야 할까 Notes 테스트를 작성하다 보면 가장 자주 헷갈리는 질문 중 하나가 있다. 이 테스트는 단위 테스트인가, 통합 테스트인가? 이 질문이 중요한 이유는 용어 자체보다 테스트가 어떤 책임을 가지는지를 결정하기 때문이다. 단위 테스트와 통합 테스트를 잘 구분하지 못하면 테스트는 많아지는데도 실패 원인을 찾기 어렵고, 실행 속도는 느려지고, 유지보수 비용은 ... 2025/09/03 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 Kakao 빅테크 기술 블로그 리뷰 11편
2025-09-02-TIL TIL Today I Learned Spring의 의존주입(DI) 방식 3가지 생성자 주입 (Constructor Injection) 의존 객체를 생성자의 파라미터로 전달받아 주입하는 방식 불변성(immutability)을 보장하고, 테스트 시에 의존 객체를 명확하게 주입해야 하므로 안정성이 높다. 스프링 4.3 이후에는 생성자가 하... 2025/09/02 2025-TIL
Single Flight Notes Single Flight? 개발을 하면서 종종 동일한 리소스에 대한 여러 요청이 동시에 발생하는 상황에 직면하게 된다. 이는 중복 작업, 서비스 부하 증가, 그리고 전반적인 비효율성과 성능 저하로 이어질 수 있다. Go에서는 singleflight 패키지(golang.org/x/sync/singleflight)로 이에 대한 해결책을 제시한다. “S... 2025/09/02 Programming
테스트 코드는 왜 작성해야 할까? Notes 왜 테스트 코드를 작성해야 할까? 테스트 코드는 “버그 예방 + 안전한 변경 + 지식의 기록”을 자동으로 해주는 가장 싸고 강력한 도구이다. 덕분에 더 빠르게, 더 자신 있게, 더 오래 유지되는 소프트웨어를 만들 수 있다. 반대로 말하면 테스트 코드가 주는 핵심 가치의 장점이 크기 때문에 작성하는 것이 좋다. 테스트 코드가 주는 핵심 가치 1... 2025/09/02 Programming
2025-08-27-TIL TIL Today I Learned 오늘은 멘토링이 있는 날이다. 이전 시간에 ACID에 대해서 깊이있는 이야기를 했는데, 관련 내용이 ‘데이터 중심 애플리케이션’의 07장 트랜잭션에 나와있다. 이 책에서 말하는 설명을 잘 읽어보면 ACID 속성의 하나하나가 더 와닿는다. 이 네 가지 속성에 대해서는 다시 한 번 정리해봐야겠다. 그리고 MongoDB 등 N... 2025/08/27 2025-TIL