0. 개요쇼핑몰 프로젝트의 카테고리는 재귀적 계층 구조로 설계되어 있었다. 처음에는 백엔드에서 전체 카테고리 트리를 재귀적으로 내려주는 방식이었지만, 이 방식은 N+1 문제를 유발했고, 그로 인해 쿼리 수가 과도하게 늘어나고 응답 속도도 매우 느려지는 문제가 있었다. 당시에는 시간적인 여유가 없어서, 문제를 임시로 해결하기 위해 프론트 서버에서 아래와 같이 로직을 구성한 것 같다.최상위 카테고리 목록을 먼저 /topCategories API로 조회.그 중 자식이 있는 카테고리에 대해 /subCategories/{id} API를 반복 호출.이 방식은 겉보기에 구조를 분리한 것처럼 보이지만, 결국 카테고리 개수만큼 API 요청이 발생하게 되면서 N+1 문제를 DB 쿼리에서 API 요청 수준으로 옮긴 것에 불..