· 4분 읽기
Go GraphQL DataLoader 직접 구현하기
GraphQL N+1 문제를 해결하는 DataLoader 패턴을 표준 라이브러리만으로 구현한다. batch, dedup, cache, request-scope까지 동작 원리를 코드로 정리한다.
프론트엔드, 백엔드, 시스템 설계, AI 활용까지. 개발하면서 겪은 고민과 기록을 정리하는 블로그.
총 28개 포스트
GraphQL N+1 문제를 해결하는 DataLoader 패턴을 표준 라이브러리만으로 구현한다. batch, dedup, cache, request-scope까지 동작 원리를 코드로 정리한다.
매 요청마다 전체 정렬을 반복하던 리더보드를 Redis 캐시로 바꾼 과정. ID 캐시 + hydration + singleflight + 카테고리 단위 무효화까지 단계별로 정리한다.
Go가 다른 언어와 다른 이유 두 가지. 고루틴은 동시성을 단순하게 만들고, 인터페이스는 결합을 느슨하게 만든다. 이 둘을 제대로 쓸 줄 알면 Go답게 코드를 쓸 수 있다.