dragm***
2022-02-20

페이스북에서 만든 쿼리 언어 그래프QL로 데이터 API 서비스를 만들고, 최적화하고, 클라이언트에서 사용하는 과정을 하나씩 살펴본다.
그래프QL을 접한 것은 꽤 오래 전 일이지만 본인이 업무하는 환경에서는 대부분 REST API만 사용했던 결과, 실제로 실무에 직접적으로 사용해보게 되는 일은 없었다. 단지, 아 이렇게 설정하고 이렇게 돌아가는구나 하는 것을 토이 프로젝트로 맛만 보았을 뿐...
과거 2019년도 프로젝트 시작 초기에 Back-end 개발자 분들에게도 그래프QL을 사용한 API 개발 방식을 제안해보았으나, 바쁘게 돌아가는 스케쥴로 그분들께도 부담이 되었던 탓인지 돌아오는 답변은 '검토해볼게요'에서 결과적으로 REST API를 사용하는 프로젝트로 진행되었던 기억이 있다. 현재는 실무에서 널리 쓰이는 기술이 된 것 같다. 'ㅅ')
해당 도서에서는 당연히 예상 가능하게도, 초반에는 그래프QL에 대한 개요와 그래피컬(GraphiQL) 툴에 대한 약간의 설명이 나오고...
Chapter 3에서 UI 컴포넌트에 매치되는 데이터 객체에 대해 설명을 하고, 개별 컴포넌트가 필요로 하는 데이터 조각(fragment)들을 조합하여 Front-end 측으로 제공하는 방식에 대해 설명한다.
Chapter 4 ~ 8까지 PostgreSQL, 몽고DB 데이터베이스로부터 데이터를 가져오는 그래프QL API 스키마를 설계하고, 스키마 리졸버로서 Node.js 애플리케이션을 만드는 긴 과정을 담고 있다. 이 도서에서 개인적으로 가장 가치있게 느껴지는 부분은 이 부분이었다.
이후의 Chapter 9, 10은 이렇게 구현한 Back-end 애플리케이션을 클라이언트 측에서 사용하여 기능 구현을 하는 흐름을 보여주고 있는데, Relay보다 점유율이 높은 apollo 라이브러리를 사용하여 구현하는 방법을 소개하고 있다.
영어 지문 읽기에 크게 어려움이 없는 개발자라면, 워낙 apollo 웹사이트나 그래프QL 자체 웹사이트에서 얻을 수 있는 정보가 많겠지만, 그래프QL을 처음 접한다면 읽어볼만한 책일 수도... 'ㅅ')a
.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."