From 046058d9989aba44a7a38d1eff46db0a9ba557d8 Mon Sep 17 00:00:00 2001 From: Miller Date: Mon, 4 Mar 2024 19:26:08 +0900 Subject: [PATCH] Update ko tutorial --- lang/TUTORIAL_KOREAN.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lang/TUTORIAL_KOREAN.md b/lang/TUTORIAL_KOREAN.md index 2cd7b97..c9185b0 100644 --- a/lang/TUTORIAL_KOREAN.md +++ b/lang/TUTORIAL_KOREAN.md @@ -652,6 +652,12 @@ input CollectionInput { ๐Ÿงšโ€โ™€ <์˜ฎ๊ธด์ด> ์™„ํ™”๋œ ํ•„์ˆ˜ ์กฐ๊ฑด(relaxing requiredness constraints): collectionUpdate์˜ title์ฒ˜๋Ÿผ, `!`๋Š” ๋ถ™์ง€ ์•Š์•˜์ง€๋งŒ ๋ฐ˜๋“œ์‹œ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€๋˜๋Š” ํ•„๋“œ๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. +์œ„์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด `collectionUpdate` ํ•จ์ˆ˜๋Š” ๋‘ ๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. `collectionId`๋Š” ์—…๋ฐ์ดํŠธํ•  ์ปฌ๋ ‰์…˜์„ ์„ ํƒํ•˜๊ณ , `collection`์€ ์—…๋ฐ์ดํŠธํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +์ด์— ๋Œ€ํ•œ ๋Œ€์•ˆ์€ null์ด ๋  ์ˆ˜ ์žˆ๋Š” id ํ•„๋“œ๋ฅผ ๊ฐ€์ง„ ํ•˜๋‚˜์˜ `collection: CollectionInput!` ์ธ์ž์ž…๋‹ˆ๋‹ค. +๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์€ ํ˜ธ์ถœ์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด 'select'๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€, ์–ด๋–ค ๋ถ€๋ถ„์ด 'update'์™€ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + +*๊ทœ์น™ #22: ์—…๋ฐ์ดํŠธ mutation์— ์žˆ์–ด ๊ฐ์ฒด์„ ํƒ์— ๊ด€๋ จํ•œ ์ธ์ž์™€ ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ธ์ž๋Š” ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์„ ํƒ๊ณผ ๊ด€๋ จํ•œ ์ธ์ž๋Š” ํ•„ํ„ฐ๋ง ์กฐ๊ฑด์„ ์ œ์™ธํ•˜๋ฉด null๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* + ### Output ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฃฐ ๋งˆ์ง€๋ง‰ ์„ค๊ณ„ ๋ฌธ์ œ๋Š” mutatoin์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. mutatoin์€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GraphQL์€ ์ฟผ๋ฆฌ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด์„œ๋Š” ํ™•์‹คํ•˜๊ฒŒ ์ง€์›ํ•ด์ฃผ์ง€๋งŒ, ๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์—์„œ mutation์ด ์‹คํŒจํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์‚ฌ์šฉ์ž๋ณด๋‹ค๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์‹ค์ˆ˜(์˜ˆ: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ๋ฅผ ์š”์ฒญ)์— ๋Œ€ํ•œ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๊ฐ mutation์€ ์œ ์šฉํ•œ ๋‹ค๋ฅธ ๊ฐ’๋“ค๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ์ž ์˜ค๋ฅ˜์— ๋Œ€์‘ํ•˜๋Š” ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” "payload" type์„ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Create๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: @@ -672,7 +678,7 @@ type UserError { mutatoin์ด ์„ฑ๊ณตํ•œ๋‹ค๋ฉด `userErrors`์—์„œ๋Š” ๋นˆ ๋ฆฌ์ŠคํŠธ๋ฅผ, `collection` ํ•„๋“œ์—์„œ๋Š” ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ collection์„ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. mutation์ด ์„ฑ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํ•˜๋‚˜ ์ด์ƒ์˜ `userErrors` ๊ฐ์ฒด๋ฅผ, collection ํ•„๋“œ์—๋Š” `null`์„ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. -*๊ทœ์น™ #22: mutation์€ mutation payload์—์„œ `userErrors` ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž/๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ์ฟผ๋ฆฌ ์˜ค๋ฅ˜ ์—”ํŠธ๋ฆฌ(The top-level query errors entry)๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* +*๊ทœ์น™ #23: mutation์€ mutation payload์—์„œ `userErrors` ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž/๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ์ฟผ๋ฆฌ ์˜ค๋ฅ˜ ์—”ํŠธ๋ฆฌ(The top-level query errors entry)๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* ๋งŽ์€ ๊ตฌํ˜„์—์„œ, ์ด๋Ÿฐ ๊ตฌ์กฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์ž๋™์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ๊ทธ์ € `collection`์˜ ๋ฐ˜ํ™˜ ํ•„๋“œ๋งŒ ์ •์˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. @@ -687,7 +693,7 @@ type CollectionUpdatePayload { `collection`์ด null์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์— ์ฃผ๋ชฉํ•ด์ฃผ์„ธ์š”. ์ด๋Š” ์ œ๊ณต๋œ ID๊ฐ€ ์œ ํšจํ•œ collection์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ฐ˜ํ™˜ํ•  collection์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. -*๊ทœ์น™ #23: ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ค๋ฅ˜ ์ผ€์ด์Šค์—์„œ, ํ•„๋“œ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ๋ฐ˜ํ™˜๋  ๊ฒƒ์ด๋ผ๋Š” ํ™•์‹ ์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด mutation์— ๋Œ€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ payload ํ•„๋“œ๋Š” null์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.* +*๊ทœ์น™ #24: ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ค๋ฅ˜ ์ผ€์ด์Šค์—์„œ, ํ•„๋“œ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ๋ฐ˜ํ™˜๋  ๊ฒƒ์ด๋ผ๋Š” ํ™•์‹ ์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด mutation์— ๋Œ€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ payload ํ•„๋“œ๋Š” null์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.* ## TLDR: The rules @@ -712,8 +718,9 @@ type CollectionUpdatePayload { - *๊ทœ์น™ #19: ํ˜•์‹์ด ๋ช…ํ™•ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๊ธฐ์— ๋ณต์žกํ•  ๊ฒƒ ๊ฐ™๋‹ค๋ฉด, input์— ์ข€ ๋” ์•ฝํ•œ ํƒ€์ž…(์˜ˆ: `Email` ๋Œ€์‹  `String`)์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๊ทธ๋Ÿฌ๋ฉด, ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  non-trivialํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•œ ๋ฒˆ์— ํ•  ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” ์กฐ๊ธˆ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉด์„œ ๋‹จ์ผ ํ˜•์‹์œผ๋กœ ํ•œ ์žฅ์†Œ์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.* - *๊ทœ์น™ #20: ํ˜•์‹์ด ๋ชจํ˜ธํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๊ฐ„๋‹จํ•ด๋ณด์ผ ๋•, input์— ๋” ๊ฐ•ํ•œ ํƒ€์ž…(์˜ˆ: `String` ๋Œ€์‹ ์— `DateTime`)์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๋Š” ๋ช…ํ™•์„ฑ์„ ์ œ๊ณตํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ข€ ๋” ์—„๊ฒฉํ•˜๊ฒŒ input ๊ฐ’์„ ํ†ต์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค(์˜ˆ: free-text ํ•„๋“œ ์• ์‹  ๋‚ ์งœ ์„ ํƒ ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ).* - *๊ทœ์น™ #21: ํŠน์ • ํ•„๋“œ์—์„œ \*์™„ํ™”๋œ 'ํ•„์ˆ˜' ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค ํ•˜๋”๋ผ๋„, ์ค‘๋ณต์„ ์ค„์ผ ์ˆ˜ ์žˆ๋„๋ก mutation input์„ ์งœ๋ณด์„ธ์š”.* -- *๊ทœ์น™ #22: mutation์€ mutation payload์—์„œ `userErrors` ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž/๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ์ฟผ๋ฆฌ ์˜ค๋ฅ˜ ์—”ํŠธ๋ฆฌ(The top-level query errors entry)๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* -- *๊ทœ์น™ #23: ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ค๋ฅ˜ ์ผ€์ด์Šค์—์„œ, ํ•„๋“œ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ๋ฐ˜ํ™˜๋  ๊ฒƒ์ด๋ผ๋Š” ํ™•์‹ ์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด mutation์— ๋Œ€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ payload ํ•„๋“œ๋Š” null์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.* +- *๊ทœ์น™ #22: ์—…๋ฐ์ดํŠธ mutation์— ์žˆ์–ด ๊ฐ์ฒด์„ ํƒ์— ๊ด€๋ จํ•œ ์ธ์ž์™€ ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ธ์ž๋Š” ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์„ ํƒ๊ณผ ๊ด€๋ จํ•œ ์ธ์ž๋Š” ํ•„ํ„ฐ๋ง ์กฐ๊ฑด์„ ์ œ์™ธํ•˜๋ฉด null๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* +- *๊ทœ์น™ #23: mutation์€ mutation payload์—์„œ `userErrors` ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž/๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ์ฟผ๋ฆฌ ์˜ค๋ฅ˜ ์—”ํŠธ๋ฆฌ(The top-level query errors entry)๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ˆ˜์ค€์˜ ์˜ค๋ฅ˜์— ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.* +- *๊ทœ์น™ #24: ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ค๋ฅ˜ ์ผ€์ด์Šค์—์„œ, ํ•„๋“œ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ๋ฐ˜ํ™˜๋  ๊ฒƒ์ด๋ผ๋Š” ํ™•์‹ ์ด ๋“ค์ง€ ์•Š๋Š”๋‹ค๋ฉด mutation์— ๋Œ€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ payload ํ•„๋“œ๋Š” null์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.* ## Conclusion