Contents

Fast API์— ๋Œ€ํ•˜์—ฌ

   Jun 28, 2023     1 min read

Fast API๋ž€ ๋ฌด์—‡์ธ๊ฐ€์— ๋Œ€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ์—” Python ๊ธฐ๋ฐ˜ ์›น API ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„ ์›Œํฌ์ธ Fast API์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์•Œ์•„๋ณด๊ธฐ ์ „์— Python์œผ๋กœ ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ์ง€ ๊ถ๊ธˆํ•˜์—ฌ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์•„๋Š” ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋“ค์€ Java๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Spring์„ ์ฃผ๋กœ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์›น ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ƒ์œ„ 5๊ฐœ ์–ธ์–ด

2021๋…„ Stack Overflow์˜ ๊ฐœ๋ฐœ์ž ์„ค๋ฌธ์กฐ์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ๊ทธ์— ๋”ฐ๋ฅธ ์ ์œ ์œจ

  1. JavaScript: 67.8%
  2. HTML/CSS: 63.1%
  3. SQL: 56.5%
  4. Python: 50.7%
  5. Java: 39.7%

์œ„ ์ˆœ์œ„์™€ ์ ์œ ์œจ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์›น ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฃผ์˜ํ•  ์ ์€ ๊ฐ ์–ธ์–ด์˜ ์ ์œ ์œจ์€ ํ•ฉ์ด 100%๊ฐ€ ์•„๋‹ˆ๋ฉฐ, ์—ฌ๋Ÿฌ ์–ธ์–ด๋ฅผ ํ˜ผํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ Python์œผ๋กœ ์›น ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์€ Java ์‚ฌ์šฉ์ž๋ณด๋‹ค ๋งŽ์Œ์„ ๋‹จํŽธ์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค!

๊ทธ๋Ÿผ ์ด์ œ ๋งŽ์€ ์‚ฌ๋žŒ์ด Python์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์•Œ์•˜์œผ๋‹ˆ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์›น ํ”„๋ ˆ์ž„์›Œํฌ Fast API์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Fast API ๊ฐœ๋…

FastAPI๋Š” ํ˜„๋Œ€์ ์ธ Python ์›น ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ํƒ€์ž… ํžŒํŠธ(Type Hints)์™€ ๊ฐ™์€ Python 3.6 ์ด์ƒ์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ž… ํžŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋ฅผ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , IDE์˜ ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ง•

FastAPI๋Š” Python ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋น ๋ฅธ ์†๋„์™€ ๊ฐ„ํŽธํ•œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ, FastAPI๋Š” Swagger์™€ ๊ฐ™์€ API ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ API์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ณผ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , Pydantic ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์™€ ์ง๋ ฌํ™” ๋“ฑ์˜ ์ž‘์—…์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.