/
GraphQL의 프론트엔드와 백엔드를 한번에 배울 수 있는 기회
수강생 510명
이런 걸 배워요!
GraphQL
Spring Boot GraphQL
Node.js GraphQL
REST API의 문제점에 대해 고민해보신 적 있으신가요?알게 모르게 안고갔던 문제점들을 해결해줄 기술을 소개합니다! 😄
우리에게 너무나 익숙한 REST API는 문제가 있지는 않을까요? 🤔
요청에 불필요한 데이터가 포함된다던지 (오버페칭)
또는 한 번의 요청으로 필요한 데이터를 다 가져오지 못한다던지 (언더페칭)
또는 엔드포인트별 다른 필드 네이밍으로 혼란을 겪는다던지
또는 API 문서화에 많은 시간을 들인다던지
REST API에는 우리에게 너무 당연하지만 다시 생각해보면,
이런 문제점들은 알게 모르게 우리의 개발속도를 지연시키고 있습니다.
GraphQL은 오버페칭, 언더페칭, 동일한 데이터의 다른 네이밍, 문서화 같은 문제를 깔끔하게 해결할 수 있는 기술입니다.
물론 GraphQL 만이 가지고 있는 또다른 문제들이 있기는 합니다.
예를 들어 N+1, 파일 전송, 높은 학습곡선 등...
하지만 이런 문제점들은 GraphQL 커뮤니티가 성숙해지고, 많은 기업에서 활용함에 따라 해결되고 개선되어가고 있습니다.
대표적으로 Apollo나 Netflix DGS 라이브러리를 사용하면 많은 문제점들을 해결할 수 있습니다.
이 강의에서는 프론트엔드와 백엔드의 관점에서 GraphQL의 기본적인 사용법을 모두 알아가는 과정을 포함하고 있습니다.
이 섹션에서는 GraphQL이 어떻게, 왜 만들어졌는지를 이해하고, 어떤 특징들을 가졌는지 알아봅니다.
이 섹션에서는 GraphQL 클라이언트 도구인 Altair를 설치하고, 기본적인 사용방법을 알아봅니다.
그리고 기본 문법들을 알아보고, 이 도구를 통해 실습을 진행합니다.
이 섹션에서는 GraphQL 서버의 구동 방식과 문법같은 기본 이론들을 알아보고, 실제로 서버를 구현하는 실습을 진행합니다.
실습은 Node.js와 Spring Boot 두가지 프레임워크로 진행합니다.
사용하시는 프레임워크에 맞게 수강해주시면 됩니다.
이 섹션에서는 이전 섹션에서 구현한 GraphQL 서버와 react로 개발한 웹페이지를 연동해서 직접 사용해보는 실습을 진행합니다.
여기에 사용된 웹 프로젝트는 미리 구현되어서 github에 배포되어있습니다.
이 프로젝트를 클론받아 사용하시기만 하면 됩니다.
운영 체제 및 버전(OS): macOS
사용 도구: Altair GraphQL Client, vscode, intelliJ
github를 통해 웹 프론트(react), Node.js 서버, Spring Boot 서버(kotlin, java) 를 배포해놨습니다. 언제든지 받아서 사용해보실 수 있습니다!
API관련 기본적인 지식이 있으시면 좋습니다.
백엔드 실습에 관심이 있으신 분들은 Node.js나 Spring Boot를 기본적인 다루실 수 있으면 좋습니다.
강의 수강 중 불편하거나 개선점이 있으시다면 언제든 수강평이나 문의 남겨주세요!
학습 대상은 누구일까요?
GraphQL 을 배우고싶은 분
새로운 기술을 배우고 싶은 분
AWS Certificated Professional 및 Associate 다수 보유
현 스타트업 CTO
전체
31개 ∙ (2시간 48분)
섹션 1. 강의 소개
1개 ∙ (1분)
강의 소개
01:47
섹션 2. GraphQL이란?
2개 ∙ (7분)
GraphQL 소개
01:46
GraphQL의 특징
05:33
섹션 3. GraphQL 클라이언트 테스트 환경 구축 (with Altair)
2개 ∙ (10분)
GraphQL 도구 Altair 설치 및 설정 (실습)
07:09
Star Wars GraphQL API 알아보기 (실습)
03:15
섹션 4. GraphQL 클라이언트 기본 문법 및 실습 (with StarWars API)
5개 ∙ (25분)
GraphQL 기본 문법
05:38
Operation Name, Arguments, Variables (실습)
05:40
Alias, Fragments (실습)
03:27
Directives, Inline Fragments, __typename (실습)
06:05
Meta Fields, Introspection (실습)
04:20
섹션 5. GraphQL 서버 설계
5개 ∙ (35분)
GraphQL 서버 구성요소 및 동작 과정
06:28
GraphQL 서버 스키마 문법
07:36
요구사항 분석 및 데이터베이스 설계
04:32
GraphQL 스키마 모델링 및 작성 (실습)
13:20
GraphQL 스키마 문서화 및 시각화 (실습)
03:51
섹션 6. GraphQL 서버 구현 및 테스트 (Node.js)
6개 ∙ (42분)
Node.js 프로젝트 생성 및 초기설정
04:03
데이터베이스와 스키마 작성
06:49
User 리졸버 구현 및 테스트
08:35
Cart 리졸버 구현 및 테스트
06:16
Product 리졸버 구현 및 테스트
12:45
Search 리졸버 구현 및 테스트
03:50
섹션 7. GraphQL 서버 구현 및 테스트 (Spring Boot)
7개 ∙ (39분)
Spring Boot 프로젝트 생성 및 스키마 작성
04:27
엔티티 및 데이터베이스 설계
07:03
08:18
06:30
09:18
02:51
웹 프론트엔드 연결을 위한 Spring Boot CORS설정
01:23
섹션 8. GraphQL 서버와 클라이언트 연동 실습
2개 ∙ (5분)
GraphQL서버와 프론트엔드 연결
02:40
GraphQL 클라이언트 쿼리 분석
02:54
섹션 9. 강의 마무리
1개 ∙ (0분)
강의 마무리
00:32