MorrieNomad
행복한 공간 만들기
MorrieNomad
전체 방문자
오늘
어제
  • 분류 전체보기 (40)
    • Spring (5)
    • Web (0)
    • Software Architecture (0)
    • Network (0)
    • AI (0)
      • Machine Learning (0)
      • Deep Learning (0)
    • BlockChain (1)
    • DB (4)
    • Tool (5)
    • Fishing (0)
    • Seminar (1)
    • IT 잡동사니 (0)
    • SRE (0)
    • Language (1)
      • Java (0)
      • Kotlin (1)
      • Python (0)
    • OpenSource (2)
    • OS (0)
      • Linux (0)
    • Retrospective (3)
    • Article (4)
    • Study (14)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 게임 서버
  • Kotlin#Intellij
  • DB
  • MicroService
  • Redis
  • 성능 분석
  • MSA
  • retrospective
  • 생성일자
  • ngrinder
  • MAC
  • 개발자
  • docker
  • 수정일자
  • datagrip
  • mysql
  • 회고
  • Circuitbreaker
  • 시니어개발자
  • cqrs

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
MorrieNomad

행복한 공간 만들기

Seminar

필요한 리소스만을 요청하고 사용하는 API 만들기

2018. 4. 18. 18:38

요약 정리

  1. REST API의 한계
    1. Client 가 어떤 Data가 필요한지 API 설계를 잘해야 한다(Client 와 Back-End Server 개발자의 지속적인 대화 필요).
    2. API 문서를 지속적으로 관리해야 한다(Update 될 때마다 관리 필수).
    3. REST API는 동적으로 대응하기 힘들기 때문에 비슷한 Endpoint가 개발된다.
  2. GraphQL
    1.  A Query Language for API
    2. Client 가 원하는 값만 가져올 수 있다(응답은 JSON).
    3. 단일 Endpoint를 사용할 수 있어 네트워크 요청을 최소화한다(주로 POST 를 많이 사용).
    4. 스펙내에서 규제 규약 없음
    5. Query
      1. REST GET method 구현(Data 가져오기)
    6. Mutation
      1. REST POST/PUT/PATCH/DELETE Method 구현(Data 변경하기)
    7. Type System
      1. Schema 정의
      2. 타입이 정해져 있고 프로토콜에서 확인 가능
      3. 동적이 타입 정의는 어렵고, 계속 수정 필요
    8. 최적화
      1. 로딩이 길거나, 캐싱이 안되는 경우
        1. Data Loader 사용
        2. 특정 리소스 Limitation 관리(Depth 조정)
  3. Relay
    1. GraphQL과 React로 애플리케이션을 개발하기 위한 데이터 관리 프레임워크
    2. 각 컴포넌트마다 필요한 데이터를 선언하고, 컴포넌트의 계층 구조를 따라서 필요한 데이터를 상위 컴포넌트로 전달 및 조합하여 단일 GraphQL Query로 만들어 준다.
  4. Serverless
    1. Server 가 없는 건 아니고 클라우드에 Server 관리를 맡기자.
    2. Server들을 Function으로 연결하자(AWS 처럼).


저작자표시 비영리 변경금지 (새창열림)
    MorrieNomad
    MorrieNomad

    티스토리툴바