SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
♥
Amazon AppSync,
GraphQL as a Service
@jeehyukwon in #university
AUSG - AWSKRUG
jee@hyuk.io
Amazon AppSync, GraphQL as a Service
👋
Jee-Hyuk Won
Yonsei University
Computer Science Dept.
•
• Front-End Developer 😅
• JavaScript (Node.js)
• Vue.js
• Erion
• GraphQL (Apollo)
• AppSync
RESTful API
Amazon AppSync, GraphQL as a Service
Amazon AppSync, GraphQL as a Service
RESTful API 😄
GET /posts/:id
Amazon AppSync, GraphQL as a Service
RESTful API 😄
...
Amazon AppSync, GraphQL as a Service
RESTful API 😥
• ,
• GET /users/32 - User ... (1)
• GET /posts/… - User ... (N)
Amazon AppSync, GraphQL as a Service
RESTful API 😥
????????????
Amazon AppSync, GraphQL as a Service
RESTful API 😥
• :

...
• :

User ?
Amazon AppSync, GraphQL as a Service
RESTful API 😥
• :

...
• :

Amazon AppSync, GraphQL as a Service
RESTful API 😥
• :

.. ......
• :

...
Amazon AppSync, GraphQL as a Service
RESTful API 😥
...
Amazon AppSync, GraphQL as a Service
RESTful API 😥
RESTful
GraphQL
Amazon AppSync, GraphQL as a Service
Amazon AppSync, GraphQL as a Service
GraphQL 😍
GraphQL
✔ N+1
✔ Pagination !
Endpoint
CRUD
✔ 

Amazon AppSync, GraphQL as a Service
GraphQL ? 🤔
• Apollo
(AppSync Apollo )
• Facebook
• A query language for your API
Amazon AppSync, GraphQL as a Service
GraphQL - Schema (Definition, Query)
type Project {
id: Number
name: String
tagline: String
}
type query {
getProject(name: String): Project
}
Amazon AppSync, GraphQL as a Service
GraphQL - Query
query {
getProject(name: “GraphQL”) {
tagline
}
}
Amazon AppSync, GraphQL as a Service
GraphQL - Result
{
“getProject”: {
“tagline”: “A query language for APIs”
}
}
Amazon AppSync, GraphQL as a Service
GraphQL - Schema (Mutation)
...
type mutation {
createProject(name: String, tagline: String): Project
}
Amazon AppSync, GraphQL as a Service
GraphQL - Mutate
mutation {
createProject(
name: “AppSync”,
tagline: “GraphQL as a Service”
){
id
tagline
}
}
Amazon AppSync, GraphQL as a Service
GraphQL - Result
{
“createProject”: {
“id”: “EQ9S0-2039DKAP-1201S”,
“tagline”: “GraphQL as a Service”
}
}
Amazon AppSync, GraphQL as a Service
GraphQL
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver (Schema)
type Query {
getProject(name: String): Project
}
type Project {
id: Number
name: String
tagline: String

contributors: [User]
}
type User {
id: String
firstName: String
lastName: String
following: [User]
}
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver (Sample Query)
query {
getProject(name: “GraphQL”) {
tagline
contributors {
firstName
lastName
following {
lastName
}
}
}
}
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
query {
getProject(name: “GraphQL”) {
tagline
contributors {
firstName
lastName
following {
lastName
}
}
}
}
getProject
DB
Project
Resolver
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
query {
getProject(name: “GraphQL”) {
tagline
contributors {
firstName
lastName
following {
lastName
}
}
}
}
tagline
getProject
Resolver return
contributors
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
query {
getProject(name: “GraphQL”) {
tagline
contributors {
firstName
lastName
following {
lastName
}
}
}
}
firstName
contributors
Resolver return
lastName
following
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
query {
getProject(name: “GraphQL”) {
tagline
contributors {
firstName
lastName
following {
lastName
}
}
}
}
follows
Resolver return
lastName
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
getProject contributors
tagline
following
lastName
firstName
lastName
Amazon AppSync, GraphQL as a Service
GraphQL - Resolver
ontributors
following
lastName
firstName
lastName
• Type Resolver
• Resolver Resolver
• Resolver
• ‘Graph!’
AppSync
Amazon AppSync, GraphQL as a Service
Amazon AppSync, GraphQL as a Service
AppSync? 🧐
• AWS
Serverless GraphQL API
• 3 AWS
• DynamoDB
• ElasticSearch
• Lambda (Resolver)
Amazon AppSync, GraphQL as a Service
AppSync - Schema
• Schema
• DynamoDB
• ElasticSearch
• Lambda
•
Amazon AppSync, GraphQL as a Service
AppSync - Mapping Template
• DynamoDB ,
• Mapping Template
Amazon AppSync, GraphQL as a Service
Demo
Amazon AppSync, GraphQL as a Service
Thank You
Amazon AppSync,
GraphQL as a Service
@jeehyukwon in #university
AUSG - AWSKRUG
jee@hyuk.io

Contenu connexe

Tendances

Tendances (7)

GUIハンズオンをCLIでやってみた
GUIハンズオンをCLIでやってみたGUIハンズオンをCLIでやってみた
GUIハンズオンをCLIでやってみた
 
Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014
 
Discover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset APIDiscover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset API
 
Forge - DevCon 2016: Building a Drone Imagery Service
Forge - DevCon 2016: Building a Drone Imagery ServiceForge - DevCon 2016: Building a Drone Imagery Service
Forge - DevCon 2016: Building a Drone Imagery Service
 
Bucketlist travel app
Bucketlist travel appBucketlist travel app
Bucketlist travel app
 
Graph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API EconomyGraph API Strategies: CQRS for the API Economy
Graph API Strategies: CQRS for the API Economy
 
Introduction to React Native Workshop
Introduction to React Native WorkshopIntroduction to React Native Workshop
Introduction to React Native Workshop
 

Similaire à App Sync, 모바일 개발을 위한 GraphQL as a Service - 트랙1, Community Day 2018 re:Invent 특집

Similaire à App Sync, 모바일 개발을 위한 GraphQL as a Service - 트랙1, Community Day 2018 re:Invent 특집 (20)

SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
 
Simpler by Design: Build a Better GraphQL API for Your Next App by Writing Le...
Simpler by Design: Build a Better GraphQL API for Your Next App by Writing Le...Simpler by Design: Build a Better GraphQL API for Your Next App by Writing Le...
Simpler by Design: Build a Better GraphQL API for Your Next App by Writing Le...
 
Graphql usage
Graphql usageGraphql usage
Graphql usage
 
GraphQL API in Clojure
GraphQL API in ClojureGraphQL API in Clojure
GraphQL API in Clojure
 
Your API on Steroids - Retrofitting GraphQL by Code, Cloud Native or Serverless
Your API on Steroids - Retrofitting GraphQL by Code, Cloud Native or ServerlessYour API on Steroids - Retrofitting GraphQL by Code, Cloud Native or Serverless
Your API on Steroids - Retrofitting GraphQL by Code, Cloud Native or Serverless
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
REST API に疲れたあなたへ贈る GraphQL 入門
REST API に疲れたあなたへ贈る GraphQL 入門REST API に疲れたあなたへ贈る GraphQL 入門
REST API に疲れたあなたへ贈る GraphQL 入門
 
Ten Tips And Tricks for Improving Your GraphQL API with AWS AppSync (MOB401) ...
Ten Tips And Tricks for Improving Your GraphQL API with AWS AppSync (MOB401) ...Ten Tips And Tricks for Improving Your GraphQL API with AWS AppSync (MOB401) ...
Ten Tips And Tricks for Improving Your GraphQL API with AWS AppSync (MOB401) ...
 
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdfMonetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
Monetize Your Mobile App with Amazon Mobile Ads (MOB311) - AWS reInvent 2018.pdf
 
How to grow GraphQL and remove SQLAlchemy and REST API from a high-load Pytho...
How to grow GraphQL and remove SQLAlchemy and REST API from a high-load Pytho...How to grow GraphQL and remove SQLAlchemy and REST API from a high-load Pytho...
How to grow GraphQL and remove SQLAlchemy and REST API from a high-load Pytho...
 
Managing GraphQL servers with AWS Fargate & Prisma Cloud
Managing GraphQL servers  with AWS Fargate & Prisma CloudManaging GraphQL servers  with AWS Fargate & Prisma Cloud
Managing GraphQL servers with AWS Fargate & Prisma Cloud
 
Nikita Galkin "Looking for the right tech stack for GraphQL application"
Nikita Galkin "Looking for the right tech stack for GraphQL application"Nikita Galkin "Looking for the right tech stack for GraphQL application"
Nikita Galkin "Looking for the right tech stack for GraphQL application"
 
GraphQL & Prisma from Scratch
GraphQL & Prisma from ScratchGraphQL & Prisma from Scratch
GraphQL & Prisma from Scratch
 
AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤AWSサービスで実現するEightの行動ログ活用基盤
AWSサービスで実現するEightの行動ログ活用基盤
 
Introduction to GraphQL and AWS Appsync on AWS - iOS
Introduction to GraphQL and AWS Appsync on AWS - iOSIntroduction to GraphQL and AWS Appsync on AWS - iOS
Introduction to GraphQL and AWS Appsync on AWS - iOS
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
 
AppSyncをReactで使ってみた
AppSyncをReactで使ってみたAppSyncをReactで使ってみた
AppSyncをReactで使ってみた
 
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
Develop Cross-Platform Mobile Apps with React Native, GraphQL, & AWS (MOB324)...
 
Building Advanced Serverless Applications
Building Advanced Serverless ApplicationsBuilding Advanced Serverless Applications
Building Advanced Serverless Applications
 

Plus de AWSKRUG - AWS한국사용자모임

Plus de AWSKRUG - AWS한국사용자모임 (20)

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Dernier (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 

App Sync, 모바일 개발을 위한 GraphQL as a Service - 트랙1, Community Day 2018 re:Invent 특집

  • 1. ♥ Amazon AppSync, GraphQL as a Service @jeehyukwon in #university AUSG - AWSKRUG jee@hyuk.io
  • 2. Amazon AppSync, GraphQL as a Service 👋 Jee-Hyuk Won Yonsei University Computer Science Dept. • • Front-End Developer 😅 • JavaScript (Node.js) • Vue.js • Erion • GraphQL (Apollo) • AppSync
  • 3. RESTful API Amazon AppSync, GraphQL as a Service
  • 4. Amazon AppSync, GraphQL as a Service RESTful API 😄 GET /posts/:id
  • 5. Amazon AppSync, GraphQL as a Service RESTful API 😄 ...
  • 6. Amazon AppSync, GraphQL as a Service RESTful API 😥 • , • GET /users/32 - User ... (1) • GET /posts/… - User ... (N)
  • 7. Amazon AppSync, GraphQL as a Service RESTful API 😥 ????????????
  • 8. Amazon AppSync, GraphQL as a Service RESTful API 😥 • :
 ... • :
 User ?
  • 9. Amazon AppSync, GraphQL as a Service RESTful API 😥 • :
 ... • :

  • 10. Amazon AppSync, GraphQL as a Service RESTful API 😥 • :
 .. ...... • :
 ...
  • 11. Amazon AppSync, GraphQL as a Service RESTful API 😥 ...
  • 12. Amazon AppSync, GraphQL as a Service RESTful API 😥 RESTful
  • 14. Amazon AppSync, GraphQL as a Service GraphQL 😍 GraphQL ✔ N+1 ✔ Pagination ! Endpoint CRUD ✔ 

  • 15. Amazon AppSync, GraphQL as a Service GraphQL ? 🤔 • Apollo (AppSync Apollo ) • Facebook • A query language for your API
  • 16. Amazon AppSync, GraphQL as a Service GraphQL - Schema (Definition, Query) type Project { id: Number name: String tagline: String } type query { getProject(name: String): Project }
  • 17. Amazon AppSync, GraphQL as a Service GraphQL - Query query { getProject(name: “GraphQL”) { tagline } }
  • 18. Amazon AppSync, GraphQL as a Service GraphQL - Result { “getProject”: { “tagline”: “A query language for APIs” } }
  • 19. Amazon AppSync, GraphQL as a Service GraphQL - Schema (Mutation) ... type mutation { createProject(name: String, tagline: String): Project }
  • 20. Amazon AppSync, GraphQL as a Service GraphQL - Mutate mutation { createProject( name: “AppSync”, tagline: “GraphQL as a Service” ){ id tagline } }
  • 21. Amazon AppSync, GraphQL as a Service GraphQL - Result { “createProject”: { “id”: “EQ9S0-2039DKAP-1201S”, “tagline”: “GraphQL as a Service” } }
  • 22. Amazon AppSync, GraphQL as a Service GraphQL
  • 23. Amazon AppSync, GraphQL as a Service GraphQL - Resolver (Schema) type Query { getProject(name: String): Project } type Project { id: Number name: String tagline: String
 contributors: [User] } type User { id: String firstName: String lastName: String following: [User] }
  • 24. Amazon AppSync, GraphQL as a Service GraphQL - Resolver (Sample Query) query { getProject(name: “GraphQL”) { tagline contributors { firstName lastName following { lastName } } } }
  • 25. Amazon AppSync, GraphQL as a Service GraphQL - Resolver query { getProject(name: “GraphQL”) { tagline contributors { firstName lastName following { lastName } } } } getProject DB Project Resolver
  • 26. Amazon AppSync, GraphQL as a Service GraphQL - Resolver query { getProject(name: “GraphQL”) { tagline contributors { firstName lastName following { lastName } } } } tagline getProject Resolver return contributors
  • 27. Amazon AppSync, GraphQL as a Service GraphQL - Resolver query { getProject(name: “GraphQL”) { tagline contributors { firstName lastName following { lastName } } } } firstName contributors Resolver return lastName following
  • 28. Amazon AppSync, GraphQL as a Service GraphQL - Resolver query { getProject(name: “GraphQL”) { tagline contributors { firstName lastName following { lastName } } } } follows Resolver return lastName
  • 29. Amazon AppSync, GraphQL as a Service GraphQL - Resolver getProject contributors tagline following lastName firstName lastName
  • 30. Amazon AppSync, GraphQL as a Service GraphQL - Resolver ontributors following lastName firstName lastName • Type Resolver • Resolver Resolver • Resolver • ‘Graph!’
  • 32. Amazon AppSync, GraphQL as a Service AppSync? 🧐 • AWS Serverless GraphQL API • 3 AWS • DynamoDB • ElasticSearch • Lambda (Resolver)
  • 33. Amazon AppSync, GraphQL as a Service AppSync - Schema • Schema • DynamoDB • ElasticSearch • Lambda •
  • 34. Amazon AppSync, GraphQL as a Service AppSync - Mapping Template • DynamoDB , • Mapping Template
  • 35. Amazon AppSync, GraphQL as a Service Demo
  • 36. Amazon AppSync, GraphQL as a Service Thank You Amazon AppSync, GraphQL as a Service @jeehyukwon in #university AUSG - AWSKRUG jee@hyuk.io