it leader
article thumbnail

안녕하세요 피슈입니다.

 

 

오늘 리뷰할 책은 GraphQL in Actino 이라는 책입니다.

GraphQL 에 대해서 들어보신 분들이 꽤 있으실거라 생각합니다.

아니면 그거 새로운 DBMS 아니야? SQL 그까이꺼, 다 비슷하지 머, 이렇게 관심 밖에 두고 계신 분들도 

있으실거라 생각합니다. 과연 그래프QL은 무엇이며, 다른 DBMS와 어떻게 다른것인지

책리뷰와 함께 알아보도록하겠습니다.

 

 

그래프QL이란?

 

그래프QL은 페이스북 내부에서 사용할 목적으로 개발됐지만, 이후 오픈소스로 공개됐으며, 현재는 전세계의 많은

웹, 모바일 애플리케이션에 사용되고 있습니다. 그렇다면 그래프 QL은 무엇인가? QL은 쿠리 언어를 의미해 오해를

불러 일으킬 수 도 있는데, 간단히 말하면 그래프QL은 클라이언트와 서버간 데이터 교환을 최적화 하기 위한 툴로 볼수 있습니다.

이 최적의 커뮤니케이션을 제공함으로써, 서버와 클라이언트 개발자가 별다른 논의 없이도, 개발을 진행할 수 있도록하는것이

그래프QL의 최고의 장점일 것입니다. 커뮤니케이션 시간이 단축되고, 결과적으로 개발주기도 단축되게 됩니다.

REST API 서버는 보통 하나의 리소스만 응답을 하게 됩니다. 책 정보에 대한 API, 책 저자 관련 API, 이 책에 후기에 대한

API 이렇게 별도로 요청을 했다면, 그래프 QL은 서비스로 하나의 요청을 하면, 정확하게 하나의 응답에 담아서 반환을 합니다.

 

다른 예로는 REST API에서는 클라이언트가 레코드를 추출할 때 특정 필드를 지정할 수 없으며, 데이터와 상관없는 모든 필드를 반환합니다. 그렇다고 엔드포인트를 나누게 되면, 중복작업이 될 수도 있게됩니다. 그래프QL은 단일 엔드포인트로 구성되므로 개발속도도

빠르고, 관리적인 측면에서도 효율성이 뛰어나다고 할 수 있습니다.

 

물론 그렇다고 REST API는 몹쓸 기술인거냐 라고 이야기할 수 는 없습니다만, 앞으로 많은 애플리케이션에서 그래프QL을 선택하게

될것이라고 조심스럽게 예상해 봅니다. 

 

그렇다면 그래프QL의 단점은 무엇일까요? 바로 학습 난이도가 가장 큰 단점이라고 볼수 있습니다. 일단 개념에 대해 이해해야하며,

API 문법, 스키마와 리졸버에 대해 이해해야하고, 그래프QL 런타임의 개념에 대해서도 알아야 합니다. 

이런 점들만 극복할 수 있다면, 이 획기적인 기술로 멋집 서비스를 구축할 수 있으리라 생각됩니다.

 

이 책의 장점

    그래프QL 인 액션은 그래프QL의 API 문법부터, 실제로 애플리케이션을 구성할 때 필요한 인터페이스 사용, 스키마 리졸버 구현에 

대해 단계적으로 설명해주고 있습니다. 또한 nodeJs에 익숙하지 않은 사람도, 책을 따라서 차근차근 따라 하다보면, 자연스럽게

nodeJs를 간접적으로 체험할 수 있어서 이부분은 좋았던 이었습니다. 또한 직접 웹서비스를 만들어 봄에 따라, 클라이언트의 요청과 서버에서의 처리 로직을 두루 접할 수 있는 점도 좋았습니다. 아쉬운점은, 방대한 영역의 개념을 다루다보니 Postgre MongDB 문법은 크게 다루고 있지 않은 점은 아쉬운 부분이었습니다.

 

한줄평

    그래프QL 인 액션, 이책 한권으로 그래프QL 세계에 발을 담굴수 있는 친절한 입문서

 

이상으로 리뷰를 마칩니다. 다음에 더 좋은 개발서적리뷰로 찾아뵐께요~

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!