GraphQL 잘 쓰고 계신가요? (Production-ready GraphQL)
DEVIEW 2023 네이버 · YouTube
AI 핵심 요약
NAVER Glace의 마이플레이스 팀은 여러 내부·외부 API의 데이터를 한 화면에 조합하면서 GraphQL을 단순한 페이로드 절감 수단이 아니라 클라이언트 중심의 API 레이어로 운영한 경험을 공유했습니다. 이미지 크기와 리뷰 필터는 enum 인자와 기본값으로 명확히 표현하고, 닉네임 검사 결과는 유니언 타입과 인터페이스로 모델링해 오류 처리와 새 오류 유형의 확장성을 높였습니다. 커스텀 스칼라와 필드 리졸버로 입력 검증과 서버 측 비즈니스 로직을 맡기고, Apollo Client의 정규화 캐시와 GraphQL 프래그먼트로 UI 갱신 및 컴포넌트별 데이터 의존성을 관리했습니다. 핵심 교훈은 스키마와 클라이언트 패턴을 잘 설계하면 데이터 출처의 복잡성을 감추고, 클라이언트의 실수와 불필요한 재요청을 줄일 수 있다는 것입니다.
- 스키마는 백엔드 데이터 구조를 그대로 복사하기보다 클라이언트가 화면에서 필요로 하는 데이터 형태를 중심으로 설계하세요.
- 정해진 선택지를 표현할 때는 enum과 기본값을 활용해 API의 의미를 명확히 하고 잘못된 요청을 줄이세요.
- 성공과 실패 결과는 유니언 타입으로 구분하고, 공통 인터페이스를 두면 새 오류 유형에도 기존 클라이언트가 대응할 수 있습니다.
- 커스텀 스칼라의 파싱과 직렬화 단계에서 입력을 검증해 서버 내부 타입과 클라이언트 표현을 안전하게 연결하세요.
- Apollo Client의 정규화 캐시를 활용하면 뮤테이션 응답으로 관련 UI를 갱신해 불필요한 전역 상태 관리와 재요청을 줄일 수 있습니다.
소개
[DEVIEW 2023] * 발표자 : 오제관, 권기범(NAVER Glace) * 발표제목 : GraphQL 잘 쓰고 계신가요? (Production-ready GraphQL) * DEVIEW 2023 바로가기: https://deview.kr/2023 #DEVIEW #DEVIEW2023 #데뷰 #데뷰2023
비슷한 학습 자료
컨퍼런스 당근 밋업
방구석 1열 당근마켓 사무실 투어 | 당근마켓 개발팀 (Go, TS, Q&A)
컨퍼런스 DEVIEW 2023
하나의 코드로 React, Vue, Svelte 등 모든 프레임워크를 지원할 수 있는 CFCs Reactive
컨퍼런스 DEVIEW 2023
눈으로 보며 듣는 음성 기록, 클로바노트 서비스의 웹 기술 톺아보기
컨퍼런스 DEVIEW 2023
CQuery : 우당탕탕 Trino와 썸타기
컨퍼런스 DEVIEW 2023