본문 바로가기

좋아하는 것_매직IT/96.IT 핫이슈

개발자라면 한번 볼만한 GraphQL 관련 뉴스 리뷰 (news.ycombinator.com)

반응형

GraphQL관련 리뷰를 소개합니다.

해당 해커뉴스에서는 GraphQL에 대해서 아래와 같이 이야기하고 있군요..
Graphql is great, but is totally over hyped. This is probably more of a rant or a frustrated dev outburst.
but beginner to mid level developers are lead down the path of USE GRAPHQL especially on youtube... and this is just unfair and wrong.

Graphql은 훌륭하지만 완전히 과장되었다고요...
그러나 초급에서 중급 수준의 개발자는 특히 youtube에서 USE GRAPHQL의 길로 인도되고 있습니다...
이것은 단지 불공평하고 잘못된 것입니다. 라고 말하고 있군요...

주요요약내용은 아래와 같습니다. 
(개인적으로 한번 쭈우욱 훑어보시면 좋을것 같네요...)

  • GraphQL은 훌륭하지만, 좀 과장된 것 같음
  • 초보~중급 개발자는 유튜브 보고 GraphQL을 사용하게 되는 것 같은데, 이건 잘못된 듯
  • 장점
    • 원하는 데이터를 쉽게 설명 가능
    • 대역폭을 절약. 원하는 만큼 한번에 가져올 수 있음
    • 데이터 소비자를 위한 문서 만들기 쉬움
    • 구독을 더 쉽게 사용 가능
    • API 호출을 묶는게 가능
  • 단점
    • 실제로 사용하기 고통스러움. 사용하는 백엔드에 따라 당신의 언어로 생성해주지 않으면 2개 또는 그 이상의 타입시스템을 관리해야함
    • 맵/테이블/딕셔너리를 지원하지 않음. 이게 정말 큼. 하고 싶지 않지만 어디선가에선 {[key: string] : T} 를 쓰게됨
    • API 버전 관리에 대한 명확한 방법이 없음. 끝내는 MyQueryV1.01 MyQueryV1.02 MyQueryV1.03 처럼 하게 될 것
  • 페이스북이 GraphQL을 위해 의도한 솔루션/문제 세트를 당신이 처리하는게 아니라면 GraphQL을 사용하지 마세요
  • 다른 시니어 개발자들은 어떤 현명한 말들로 신입 개발자들이 이 수렁에 빠지는 걸 구해주실 수 있을까요?

HN의 댓글들

  • GraphQL의 가장 큰 문제는 DOS 공격을 방어하거나, 당신의 전체 DB를 다운받으려는 사람들로 부터 막기 위해 일을 해야함.
    • 당신의 시스템에 무리한 부하를 주는 쿼리를 만들기가 매우 쉬움.
    • 어떤 일들을 해야하는지 보려면 Shopify를 보면 됨. 리턴되는 데이터 양에 대해 레이트 리밋을 걸고, 커서와 페이지네이션도 처리. 인터넷에서 보이는 이쁜 GraphQL의 예와 달리 스키마가 거대하고 못생겼음
  • GraphQL은 큰 기술회사들이 가진 조직 문제를 해결하는 훌륭한 방법임
    • API를 유지 보수하는 팀과 변경을 요구하는 팀이 다른 경우 같이
    • 조직이 커서 이럴 경우 변경을 하세월 기다려야 하니, GraphQL은 그럴 필요를 줄여줌
    • 작은 조직이라면 그냥 모자란 부분을 직접 만들어 넣으면 되지 않을까 ?
  • 의도된 것이건 아니건 GraphQL은 프론트엔드 개발자들이 백엔드 개발자에 대한 요구로부터 디커플링되어 더 빠르게 움직이게 해줌
    • 백엔드 개발자가 데이터 모델을 만들고 GraphQL로 노출하면, 이 백엔드 개발자를 한번도 만나보지 못한 프론트엔드 개발자도 바로 사용이 가능
    • 즉석에서 쿼리하는 내용을 변경하고, 원하는 것을 얻어갈 수 있음
    • 모두가 빠르게 움직이게 해줌
    • 하지만 백엔드 개발자인 나는 GraphQL이 정말 싫음

 

아무튼 장점과 단점이 갈리니깐요...
사용하는 사람마다 또 다른 생각을 가지고 있을것 같네요..

자세한 내용은 아래 웹페이지 참고하시면 될것 같네요..



오늘의 블로그는 여기까지고요..
항상 믿고 봐주셔서 감사합니다. 

728x90
300x250