API 3

[API] REST의 대안? GraphQL에 대하여

GraphQL이란 클라이언트와 서버가 소통하는 API용 쿼리 언어이자, 데이터에 대해 정의한 유형 시스템을 사용하여 쿼리를 실행하기 위한 서버 측 런타임을 말합니다.  2023년 Postman이 4만 명의 개발자를 대상으로 실시한 API 프로토콜 현황 조사에 따르면,REST의 사용률은 2년 동안 92%에서 86%로 감소한 반면, GraphQL의 채택률은 29%로 증가하는 추세를 보였습니다. 그렇다면 GraphQL이 점차 사랑받고 있는 이유는 무엇일까요?  1. 하나의 엔드 포인트와 단일 POST 메소드RESTful API의 경우, 다양한 메소드를 사용하며 전송에 사용된 HTTP 메소드, URI를 통해 각 작업을 구분합니다.이러한 방식은 요청의 내용을 직관적으로 알 수 있다는 장점이 있으나, 많은 엔드포인..

카테고리 없음 2025.03.24

[React] useContext와 Context API

useContext React는 대개 props를 통해 부모 컴포넌트에서 자식 컴포넌트로 data를 전달하는 구조이다. App의 규모가 작으면 props로 충분하지만 규모가 커지면 필요없는 상위 컴포넌트들이 하위 컴포넌트들에게 props를 전달해주기 위해 props를 가지고 있어야 되고 props의 이름을 수정하게 된다면 일일이 다 수정해줘야 하므로 유지보수하기 힘들고 복잡해진다. 또한 테마나 언어와 같은 전역적인 data 같은 경우 모든 컴포넌트가 이 data를 갖고 있어야 하므로 단계별로 전달해야하는 props로만 data를 관리하는 건 어렵다. 이를 해결하기 위해 Context API를 사용하는데 Context는 App 안에서 전역적으로 사용되는 data들을 여러 컴포넌트들이 쉽게 공유할 수 있는 ..

[Network] REST API

REST(Representational State Transfer) REST이란 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미한다. 즉, 자원의 표현(representational)에 의한 상태 전달(State Transfer)을 말한다. 이때 자원이란 해당 소프트웨어가 관리하는 모든 것을 말하며 자원의 표현은 그 자원을 표현하기 위한 이름을 뜻한다. 예로 DB의 학생 정보가 자원일 때, 'students'를 자원의 표현으로 정하는 예가 있다. 상태(정보) 전달이란 데이터가 요청되어지는 시점에 자원의 상태(정보)를 전달하는 것을 말하며 JSON 혹은 XML를 통해 데이터를 주고 받는 것이 일반적이다. 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹..

CS/네트워크 2023.12.04