ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [독서] 그래프QL 인 액션 - GrapthQL in Action
    READING 2022. 2. 23. 23:34

     

     

    작년 초 신입 개발자로 들어와 내부 프로젝트를 진행할 때 Prisma를 열심히 공부해서 백엔드 로직을 구현했던 경험이 있다. 그때 처음으로 GraphQL을 알게 되었고, 복잡한 SQL 쿼리 필요 없이 내가 만든 스키마와 리졸버 함수를 알아듣고 DB를 바로 가공해주는 게 신기했다. 학원에서 개발을 공부할 당시에 나는 클라이언트와 서버의 소통 구조밖에 몰랐는데, 그 사이에 여러 인터페이스를 끼워서 이 소통을 더 유연하고 효율적으로 만들어줄 수 있단 사실을 처음 알았다. GraphQL을 잠깐 맛보기만 하고, 나는 REST API 방식의 프로젝트를 쭉 진행해왔는데 이 책을 읽고 'Wow...' 연발을 멈출 수 없었다. 지금 내 화면개발 업무시간을 절반으로 줄일 수 있는 GraphQL을 이제서야 알아보다니!

     

     

    쉬운 비유와 예시가 많다

     

     

    보통 새로운 기술을 공부할 땐 공식문서부터 블로그까지 싹 훑어본다. 그래도 이해하는 데 오래 걸린다. 영어가 대부분인 공식문서는 늘 사전을 끼고 봐야 하며, 블로그 글들은 공식문서를 번역해서 기술되어 있거나, 코드 예제만 올려둔 글들을 종종 마주한다. 그럴 땐 기술서를 찾는다. 좀 더 친절한 설명, 내가 이해 가능한 한글로 가공된 글을 원할 땐 책이 답이다. 이 책은 그런 나에게 딱 맞았다. 페이지마다 예제와 설명이 함께 기술되어 있으며, 번역체가 정말 깔끔한 것이 큰 장점이다. 그래프QL이 뭐지? 왜 쓰는거지? 에 대한 답이 첫 장부터 이해하기 쉽게 설명되어 있다. 

     

     

     

     

    REST API 방식으로 화면개발을 하면서 느꼈던 단점들이 책에도 서술되어 있었다. 원하는 데이터를 가져올 수 있는 인터페이스가 없으면 서버 개발자에게 API를 추가로 요청하거나, 기존에 만들어진 API를 하나씩 호출하며 원하는 데이터까지 찾아내는 등 번거로운 작업을 종종 마주한다. 또 서버가 응답하는 컬럼값이랑 화면에서 사용하는 변수명이 다르면 데이터를 한 번 더 가공해야 하는 작업이 필요하다. 하지만 GraphQL을 사용하면 클라이언트가 한번의 요청으로 원하는 데이터를 가져올 수 있다. 그래프QL API를 사용해 내가 응답받고 싶은 대로 쿼리를 선언하면 GraphQL이 알아서 그 쿼리를 해석해서 데이터를 가져온다. 서버와 사용할 변수명이 달라도 별칭을 붙여서 맞출 수 있다. 화면개발 시 백엔드 의존도를 낮추고 데이터를 자유롭게 사용할 수 있는 이점을 보고 GraphQL을 더 깊게 공부하고 싶어졌다. 

     

     

     

     

    우선 그래프QL에 반하기는 성공했으니 REST 지옥에 더 빠지기 전에 얼른 공부를 시작하려고 한다. 책의 4장 스키마 설계부터 시작해서 DB처리, 그래프QL API, 인증로직 구현, 뮤테이션, 구독 기능까지 하나씩 예시를 따라가며 깃허브에 기록을 남겨야겠다. 다 훑어보면 풀스택 관점에서 그래프QL의 이점을 잘 이해하게 될 것 같다. 상반기에 프론트엔드 토이 프로젝트를 많이 만들어보려고 하는데 그래프QL을 다양하게 활용해 볼 생각이다. 아폴로도 써보고, 리액트와 릴레이도 함께 써보고, 프리즈마도 붙여보고! 시간이 남아돌았으면 좋겠다!

     

     

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

     

    반응형

    댓글

개발공부