본문 바로가기

Study for./My thoughts3

인덱스와 캐시, 구조 개선을 통해 읽기 성능을 향상시키며 정리한 판단들 TL;DR: 이번 주차에서는 인덱스, likesCount 비정규화, 캐시, 쓰기 경로의 명시적 무효화를 통해 상품 조회 경로를 더 단순하게 만들고 읽기 성능을 개선하는 방향으로 구조를 정리했다. 이번 주차를 돌아보면서 내 머릿속에 가장 오래 남은 생각은, 읽기 성능 문제는 쿼리 하나만 고친다고 끝나지 않는다는 점이었다.상품 목록을 브랜드로 필터링하고, 좋아요 순으로 정렬하고, 같은 요청이 반복해서 들어오는 흐름을 보고 있으면, 문제는 단순히 더 빨라야 한다에 머무르지 않았다. 오히려 읽기 경로 자체를 더 단순하게 만들 필요가 있는 것 아닌가 하는 생각이 계속 남았다.이번 구현 과제는 바로 그 관점에서 인덱스와 캐시를 추가하고, likesCount를 비정규화하고, 쓰기 경로에 무효화 책임을 두면서 조회.. 2026. 3. 13.
4년 전 포인트 시스템이 나에게 남긴 것: Slack 장애 알림 주인공이 되지 않는 날이 되기까지 내가 동시성 문제를 두 번 겪은 이야기 — 포인트 시스템의 트라우마가 이커머스 프로젝트에서 약이 된 건에 대하여 나는 동시성이라는 단어를 들으면 명치가 살짝 아프다. 비유가 아니다. 진짜 아프다. 진짜다4년 전, 회사에서 포인트 관련 API를 처음부터 만들 일이 있었다. 이미 테이블 구조는 정해져 있었고, 여기저기 쿼리 형태로 흩어져 있던 포인트 관련 기능을 하나의 API로 모으면 되는 과제였다. 돌이켜 보면 그 과제의 무게를 나는 전혀 인식하지 못했다. 그때까지 기존 시스템에 기능을 얹는 작업만 해왔던 나에게는, 그냥 API 엔드포인트를 하나 만드는 감각이었다. 기존 기능을 목록으로 정리하고, 하나씩 구현하고, 운영에 올렸다. 동료들의 관심 속에서, 모든 것이 순조로워 보였다.문제는 모니터링을 할 생각.. 2026. 3. 6.
[WIL - TDD] 대리님 ~ 레드 페이즈에서 어서션 빌드업하고 그린 넘어가서 리팩터링 사이클 돌려주세요 ~ 커버리지 리포트 머지 전에 락앤 주시고요 ~ 루퍼스 백엔드 코스 1주차 회고 - 테스트 주도 개발, 그리고 소통의 도구올해 안에 개발 스킬에 대한 갈증을 해소하고 싶었다. 무언가 부족하다는 감각은 있었지만, 그걸 어디서부터 채워야 할지 잘 몰랐다. 그러다 루퍼스 백엔드 코스를 알게 됐고, 고민 없이 신청했다. 1주차 주제는 테스트 주도 개발이었다. 회사에서 받은 피드백 중 기억에 남는 게 있다. "현우님은 여러 관심의 포인트를 가지실 때가 아닌 것 같아요, 기본부터 합시다", "지금 기술적인 공부를 할 때가 아닌 것 같아요." 이 문장들이 꽤 오래 머릿속에 남아 있었다. 영어 대문자처럼 머리에 각인된 기분이었다.내가 부족하다는 건 알고 있었는데, 그게 구체적으로 어떤 부분인지 설명하기 어려웠다. 코드를 작성하는 능력인지, 설계 감각인지, 아니면 일.. 2026. 2. 8.