메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

단 한번에 필요한 정보만 불러오는 효율적인 API 구축하기

heoh***

|

2022-02-21

그래프QL 인 액션

페이스북에서 만든 쿼리 언어 그래프QL로 데이터 API 서비스를 만들고, 최적화하고, 클라이언트에서 사용하는 과정을 하나씩 살펴본다.

  • 저자 : 사메르 부나
  • 번역 : 김완섭
  • 출간 : 2021-12-24

"그래프QL은 클라이언트와 서버 간 통신을 더욱 효율적으로 만든다. "

웹 서비스 프로젝트에서 고민이 되는 부분이 프론트엔드와 백엔드간의 효율적인 데이터 API를 만들어야 하는 부분입니다.

웹 및 모바일 애플리케이션용 데이터 API에서 대중적으로 사용하는 REST API를 이용하지만 가장 큰 문제점이 클라이언트가 여러 개의 데이터 API 엔드포인트와 커뮤니케이션을 해야 한다는 것입니다. REST API는 클라이언트가 데이터를 받기 위해서 네트워크를 여러번 왕복해야 합니다. 이는 처리 성능이나, 메모리, 네트워크 등에 제약이 있는 모바일 장치에서 사용하는 앱을 개발할 때 큰 문제가 될 수 있습니다.

 지금 현재 진행하고 있는 프로젝트에서도 이 부분이 가장 고민이 되는 부분입니다.  


그래서 REST API가 지닌 문제점을 그래프 QL이 해결해 줄 수 있다고 합니다.


말로만 들어봤지 어떻게 구성이 되는지 전혀 감이 오지 않기에 전체적인 배경과 설계 이념을 이해하고 실제 도입하는지를 검토해 봐야 겠습니다.

 


그럼 "그래프QL 인 액션"에 대해서 살펴 보겠습니다. 


1부는 그래프QL에 대한 다양한 질문을 왜, 무엇을, 어떻게의 관점으로 답한다.

  - 1장 : 그래프 QL이 정확히 무엇이며 어떤 문제를 해결 할 수 있고, 어떤 문제가 발생할 수 있는지 소개한다. 또한, 그래프QL의 설계 컨셉과 REST API와의 차이점에 대해 설명합니다.

 - 2장 : 그래프QL을 가지고 놀 수 있는 인터랙티브 환경을 소개한 후, 그래프QL 요청을 실제 작성하고 테스트 해본다.

 - 3장 : 그래프QL의 기본 내장 기능에 대해 소개하고 직접 데이터 요청과 응답을 구성하고 변경해보도록 한다.

 2부에서는 실제 웹 애플리케이션에서 동작하는 데이터 API를 만들어본다. 이를 통해 그래프QL 서비스 구축 방법과 그래프QL 언어가 무엇인지 이해할 수 있다.

- 4장 : UI 기능들을 API 처리와 연계하는 방법을 배우고 이를 이용해서 그래프QL 스키마를 설계해본다.

- 5장 : 데이터베이스 전용 Node.js 드라이버와 그래프QL.js를 사용해서 실행 가능한 그래프QL 스키마를 만든다.

- 6장 : API 쿼리를 구현하기 위해서 데이터베이스 필드를 연동하는 방법을 배운다.

- 7장 : 6장에서 만든 쿼리를 바탕으로 그래프QL 쿼리 최적화 방법을 살펴본다.

- 8장 : 데이터베이스 개체를 생성,변경,삭제하기 위한 API 변경 처리에 대해 배운다.

 

3부에서는 그래프QL API를 프런트엔드 웹 애플리케이션에 사용하는 방법을 보여 준다.

 - 9장 : 그래프QL 클라이언트 라이브러리에 의존하지 않고 그래프QL API를 사용해서 직접 Ajax 요청을 처리한다.

- 10장 : 유명한 그래프QL 클라이언트 라이브러리 중 하나인 아폴로 클라이언트(Apollo Client)의 강력한 기능에 대해 다룬다.

 

 

마치며

 

기존에 클라이언트는 여러 번의 요청을 통해 얻은 많은 데이터에서 필요한 정보를 찾아야 했지만 그래프QL을 사용하면 단 한번의 요청으로 필요한 정보를 얻어 낼수 있습니다.

 이 책을 통해 실용적인 예시를 바탕으로 그래프 QL을 사용하는데 필요한 문법부터 원리와 운영 노하우까지 익힐 수 있습니다.

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?