<aside>

</aside>

์™€! ๋“œ๋””์–ด FastAPI ๊ฐ•์˜ 4๋ถ€: ์‹ค์ „ ํ”„๋กœ์ ํŠธ: ToDo ๋ฆฌ์ŠคํŠธ API ๊ตฌํ˜„์˜ ์ฒซ ์‹œ๊ฐ„, 16๊ฐ•์ž…๋‹ˆ๋‹ค! ๐Ÿš€ ์ •๋ง ์ค‘์š”ํ•œ ํŒŒํŠธ์˜ ์‹œ์ž‘์ด์—์š”!

์ง€๊ธˆ๊นŒ์ง€ 1๋ถ€๋ถ€ํ„ฐ 3๋ถ€๊นŒ์ง€ FastAPI์˜ ํ•ต์‹ฌ ๊ฐœ๋…๋ถ€ํ„ฐ ์‘๋‹ต ์ฒ˜๋ฆฌ, ํŒŒ์ผ ํ•ธ๋“ค๋ง๊นŒ์ง€ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ์ตํ˜”์Šต๋‹ˆ๋‹ค. ์ด๋ก ๊ณผ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋“ค๋กœ ๊ฐœ๋…์„ ํƒ„ํƒ„ํžˆ ๋‹ค์กŒ์œผ๋‹ˆ, ์ด์ œ๋Š” ์ด ์ง€์‹๋“ค์„ ํ•˜๋‚˜๋กœ ์—ฎ์–ด ์‹ค์ œ ๋™์ž‘ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค์–ด ๋ณผ ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค! ๐Ÿฅณ

์ด๋ฒˆ 4๋ถ€์—์„œ๋Š” ๊ฐ€์žฅ ํ”ํ•˜๋ฉด์„œ๋„ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋Šฅ์„ ๋‹ด๊ณ  ์žˆ๋Š” ToDo ๋ฆฌ์ŠคํŠธ ๊ด€๋ฆฌ API๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•ด๋ณผ ๊ฑฐ์˜ˆ์š”. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์•ž์„œ ๋ฐฐ์šด FastAPI์˜ ๊ธฐ๋Šฅ๋“ค์ด ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ์œ ๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š”์ง€ ๊ฒฝํ—˜ํ•˜๊ณ , ์‹ค์ „ ๊ฐ๊ฐ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

๊ทธ ์ฒซ ๋‹จ๊ณ„์ธ ์ด๋ฒˆ 16๊ฐ•์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ToDo ๋ฆฌ์ŠคํŠธ API๊ฐ€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€ ์š”๊ตฌ์‚ฌํ•ญ์„ ํŒŒ์•…ํ•˜๊ณ , ๊ทธ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ API ์—”๋“œํฌ์ธํŠธ๋“ค์„ ์„ค๊ณ„ํ•˜๋ฉฐ, ์‚ฌ์šฉํ•  **๋ฐ์ดํ„ฐ ๋ชจ๋ธ(Task)**์„ ๊ตฌ์ƒํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ–๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณธ๊ฒฉ์ ์ธ ์ฝ”๋”ฉ์— ์•ž์„œ ํŠผํŠผํ•œ ์„ค๊ณ„๋„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์ฃผ์„ธ์š”! ๐Ÿ—๏ธ๐Ÿ“

์ž, ์ด์ œ ์šฐ๋ฆฌ๋งŒ์˜ ToDo ๋ฆฌ์ŠคํŠธ API ๋งŒ๋“ค๊ธฐ ๋Œ€์žฅ์ •์„ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”?


๐Ÿ“š ์ฑ•ํ„ฐ ์†Œ๊ฐœ

์ด๋ฒˆ 16๊ฐ•์€ 4๋ถ€ ์‹ค์ „ ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ๊ฐ•์˜๋กœ, ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ToDo ๋ฆฌ์ŠคํŠธ API์˜ ๊ฐœ์š”์™€ ๋ชฉํ‘œ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ API๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ธ์ง€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•˜๊ณ , ์ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ **API ์—”๋“œํฌ์ธํŠธ(๊ฒฝ๋กœ์™€ HTTP ๋ฉ”์„œ๋“œ)**๋“ค์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. RESTful API ๋””์ž์ธ ์›์น™์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ ์šฉํ•˜์—ฌ ์ง๊ด€์ ์ด๊ณ  ํ‘œ์ค€์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ, API์—์„œ ๋‹ค๋ฃจ๊ฒŒ ๋  ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ์ธ 'ํ•  ์ผ(Task)'์˜ **๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(์Šคํ‚ค๋งˆ)**๋ฅผ Pydantic ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ํ•„๋“œ(์ •๋ณด)๊ฐ€ ํ•„์š”ํ•˜๊ณ , ๊ฐ ํ•„๋“œ์˜ ํƒ€์ž…์€ ๋ฌด์—‡์ด๋ฉฐ, ํ•„์ˆ˜์ธ์ง€ ์„ ํƒ์ ์ธ์ง€ ๋“ฑ์„ ์ •์˜ํ•˜์—ฌ ์•ž์œผ๋กœ ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ์˜ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ์•ž์œผ๋กœ ์ด์–ด์งˆ ๊ฐ•์˜๋“ค(17๊ฐ•~19๊ฐ•)์—์„œ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹จ๊ณ„์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋‚˜๊ฐˆ์ง€์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๋กœ๋“œ๋งต์„ ์ œ์‹œํ•˜์—ฌ ์ „์ฒด์ ์ธ ๊ฐœ๋ฐœ ํ๋ฆ„์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.


๐ŸŽฏ ์ฑ•ํ„ฐ ๋ชฉํ‘œ

์ด ๊ฐ•์˜๋ฅผ ๋งˆ์น˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„์€ ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค:

  1. ToDo ๋ฆฌ์ŠคํŠธ API ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.
  2. CRUD(Create, Read, Update, Delete) ์ž‘์—…์„ ์œ„ํ•œ API ์—”๋“œํฌ์ธํŠธ(๊ฒฝ๋กœ ๋ฐ HTTP ๋ฉ”์„œ๋“œ)๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Pydantic์„ ์‚ฌ์šฉํ•˜์—ฌ Task ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ **์Šคํ‚ค๋งˆ(๋ฐ์ดํ„ฐ ๋ชจ๋ธ)**๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ToDo ๋ฆฌ์ŠคํŠธ API ํ”„๋กœ์ ํŠธ์˜ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„ ๋กœ๋“œ๋งต์„ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค. (17๊ฐ•~19๊ฐ•)

๐Ÿ—๏ธ ์ด๋ฒˆ ๊ฐ•์˜์—์„œ ์„ค๊ณ„ํ•  ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ์ฝ”๋“œ (๊ฐœ๋…)