Run by Fittcha

Facade 패턴, 복잡한 시스템을 단순하게 다루는 법

들어가며 이커머스 시스템에서 “주문하기” 버튼 하나 누르면 뒤에서 무슨 일이 벌어질까요? 재고 확인 결제 처리 포인트 차감 쿠폰 사용 처리 주문 내역 저장 알림 발송 (카카오톡, SMS, 이메일) 외부 물류 시스템 연동 버튼 하나에 이 모든 게 엮여 있습니다. 근데 Controller에서 이걸 다 호출하면 어떻게 될까...

DB 인덱스, 제대로 알고 쓰자 - 실행 계획 편

DB 인덱스, 제대로 알고 쓰자 - 실행 계획 편 들어가며 지난 글에서 인덱스의 기본 개념을 다뤘어요. B+Tree 구조, 클러스터드/논클러스터드 차이, 커버링 인덱스까지. 근데 이론만 알아서는 반쪽짜리입니다. “인덱스 잘 타고 있는 거 맞아?” 이 질문에 답하려면 실행 계획을 읽을 줄 알아야 합니다. 저도 처음엔 실행 계획 창을 열어놓고 뭐가...

DB 인덱스, 제대로 알고 쓰자 - 기본편

들어가며 “인덱스 걸었는데 왜 안 빨라지죠?” 주니어 때 한 번쯤은 해봤을 질문이에요. 저도 그랬고, 아마 대부분 그랬을 겁니다. 인덱스가 뭔지는 알겠는데, 정확히 어떻게 동작하는지, 왜 어떤 쿼리는 인덱스를 타고 어떤 쿼리는 안 타는지 명쾌하게 설명하기 어려웠어요. 오늘은 그 답답함을 좀 해소해보려고 합니다. 인덱스의 근본부터 차근차근 파볼게요...