10,000 Hour Rule

๊พธ์ค€ํžˆ, ์ฒœ์ฒœํžˆ ๊ธฐ๋กํ•˜์ž

GraphQL

[GraphQL] GraphQL์ด๋ž€?

Dochi.Dev 2021. 10. 20. 18:25

๐Ÿ“œ GraphQL?

GraphQL์€ ํŽ˜์ด์Šค๋ถ์—์„œ ๋งŒ๋“  ์ฟผ๋ฆฌ ์–ธ์–ด์ด๋ฉฐ, 

ํƒ€์ž… ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋Ÿฐํƒ€์ž„์ด๋‹ค.

GraphQL์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ˆ ๊ณผ ํ˜ผ๋™๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹ˆ๋ผ

API๋ฅผ ์œ„ํ•œ ์ฟผ๋ฆฌ ์–ธ์–ด์ด๋‹ค. 


๐Ÿ”ฅ ์žฅ์ 

A query language for your API

GraphQL์€ API๋ฅผ ์œ„ํ•œ ์ฟผ๋ฆฌ ์–ธ์–ด์ด๋ฉฐ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ

์œ„ํ•œ ๋Ÿฐํƒ€์ž„์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„

์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋‹ค.

 

GraphQL์€ ํŠน์ • ์–ธ์–ด์— ์ œํ•œ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ๋งŽ์€ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

C#/.NET, Clojure, Elixir, Erlang, Go, Groovy, Java, JavaScript, PHP, Python, Scala, Ruby

๊ฐ™์€ ์—ฌ๋Ÿฌ ์–ธ์–ด์—์„œ GraphQL์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Ask for what you need, get exactly that

API์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋ฉด ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์ •ํ™•ํžˆ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

๋ถˆํ•„์š”ํ•œ ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

๋น ๋ฅด๋‹ค. 

 

Get many resources in a single request

๊ธฐ์กด REST API์˜ ๋‹จ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ URL(์—”๋“œํฌ์ธํŠธ)์—์„œ

๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ํ•„์š” ์—†์ด ํ•œ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ, ํ•˜๋‚˜์˜ ์—”๋“œํฌ์ธํŠธ์—์„œ ํ•„์š”ํ•œ

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

Describe what’s possible with a type system

GraphQL์€ REST API์™€ ๋‹ค๋ฅด๊ฒŒ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์•„๋‹Œ ํƒ€์ž…๊ณผ ํ•„๋“œ๋กœ

๊ตฌ์„ฑ๋œ๋‹ค. ๋‹จ์ผ ์—”๋“œํฌ์ธํŠธ์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Move faster with powerful developer tools

๊ฐ•๋ ฅํ•œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์ง€์›ํ•œ๋‹ค.

GraphiQL ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

Evolve your API without versions

๊ธฐ์กด ์ฟผ๋ฆฌ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ํ•„๋“œ์™€ ํƒ€์ž…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Bring your own data and code

ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ œํ•œ์„ ๋ฐ›์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—

๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ฐ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•œ GraphQL API๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Who’s using GraphQL?

์—ฌ๋Ÿฌ ํšŒ์‚ฌ์—์„œ GraphQL์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค(ํŽ˜์ด์Šค๋ถ, ๊นƒํ—ˆ๋ธŒ, ํŠธ์œ„ํ„ฐ ๋“ฑ).

'GraphQL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[GraphQL] Apollo boost vs Apollo Client  (0) 2021.10.27
[GraphQL] ๋‚˜์˜ ์‚ฝ์งˆ1 - makeExecutableSchema  (0) 2021.10.26