<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๊ฐ)์์ ์ด ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ๋จ๊ณ์ ์ผ๋ก ๊ตฌํํด ๋๊ฐ์ง์ ๋ํ ๊ฐ๋ตํ ๋ก๋๋งต์ ์ ์ํ์ฌ ์ ์ฒด์ ์ธ ๊ฐ๋ฐ ํ๋ฆ์ ํ์ ํ ์ ์๋๋ก ๋์ต๋๋ค.
์ด ๊ฐ์๋ฅผ ๋ง์น๋ฉด ์ฌ๋ฌ๋ถ์ ๋ค์์ ํ ์ ์๊ฒ ๋ฉ๋๋ค:
Task
๋ฐ์ดํฐ์ ๊ธฐ๋ณธ **์คํค๋ง(๋ฐ์ดํฐ ๋ชจ๋ธ)**๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.