[์ฑ… ๋ฆฌ๋ทฐ] ๊ธฐํš์—์„œ ์ถœ์‹œ๊นŒ์ง€ FastAPI ๊ฐœ๋ฐœ ๋ฐฑ์„œ

2026. 1. 12. 19:29ยท๐Ÿ“•review/์ฑ…

์ฑ…์˜ ์ €์ž ๋ถ„์€ "ํ‘ธ๋”ฉ์บ ํ”„"๋ผ๋Š” ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์šด์˜ ์ค‘์ธ ๋ถ„์ž…๋‹ˆ๋‹ค. ํ‘ธ๋”ฉ์บ ํ”„๋ผ๋Š” ์ด๋ฆ„์„ ๋“ค์–ด๋ณธ ์ ์ด ์žˆ์—ˆ๋˜ ํ„ฐ๋ผ, ์ธ์ง€๋„ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์šด์˜ํ•˜๋Š” ๋ถ„์ด ์ง‘ํ•„ํ•œ ์ฑ…์ด๋ผ๋Š” ์ ์—์„œ ์‹ ๋ขฐ๋„๊ฐ€ ํ•œ์ธต ๋†’์•„์ง„ ์ฑ…์ž…๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์šด์˜ํ•˜๊ณ  ์‹ค์ œ๋กœ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์„ ๋งŒ๋‚˜๊ณ  ๊ต์œกํ•ด์˜จ ๋ถ„์ด ์“ด ์ฑ…์ด๋ผ๋Š” ์ ์—์„œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ธฐ๋Œ€๊ฐ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ปค์กŒ์Šต๋‹ˆ๋‹ค.

 

๊ธฐํš๋ถ€ํ„ฐ ์ถœ์‹œ๊นŒ์ง€-๋ผ๋Š” ์ œ๋ชฉ๋„ ์ธ์ƒ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ FastAPI ์‹ค์Šต ์˜ˆ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋งŒ๋“ค์–ด๋ณด๋Š” ์ „ ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค, ๋ผ๋Š” ๋А๋‚Œ์„ ์ฃผ์—ˆ๊ณ  ์‹ค์ œ๋กœ ์ฑ…์„ ์ฝ์–ด๋ณด๋‹ˆ ๊ทธ ๊ธฐ๋Œ€์— ์ •๋ง ์ž˜ ๋ถ€ํ•ฉํ•˜๋Š” ๊ตฌ์„ฑ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ธธ๋ฒ— 31์ฐจ ๊ฐœ๋ฐœ์ž ๋ฆฌ๋ทฐ์–ด ํ™œ๋™์„ ์œ„ํ•ด ๊ธธ๋ฒ— ์ถœํŒ์‚ฌ์—์„œ ์ฑ…์„ ์ œ๊ณต๋ฐ›์•„ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ์ž…๋‹ˆ๋‹ค.

ํ‘œ์ง€๊ฐ€ ์ด๋ป์šฉ

๊ฐœ์š”

"๊ธฐํš์—์„œ ์ถœ์‹œ๊นŒ์ง€ FastAPI ๊ฐœ๋ฐœ ๋ฐฑ์„œ"๋Š” "์•ฝ์†์žก๊ธฐ ์„œ๋น„์Šค"๋ฅผ ์˜ˆ์ œ๋กœ ์‚ผ์•„ FastAPI๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ API ๋ช‡ ๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋Š” ์ˆ˜์ค€์ด ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค ๊ธฐํš, PRD ์ž‘์„ฑ, ์„ค๊ณ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋ง, ๋ฐฑ์—”๋“œ ๊ตฌํ˜„, ์™ธ๋ถ€ API ์—ฐ๋™, ํ”„๋ก ํŠธ์—”๋“œ ์—ฐ๋™, ํ…Œ์ŠคํŠธ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ฐฐํฌ๊นŒ์ง€, ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ ์„ค๊ณ„๋ถ€ํ„ฐ ์ถœ์‹œ ์ดํ›„ ์šด์˜๊นŒ์ง€ ๊ณ ๋ คํ•œ ์ „ ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

 

[์•„๋ž˜๋Š” ๋ชฉ์ฐจ]

๋”๋ณด๊ธฐ
๋ชฉ์ฐจ
1์žฅ. ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ํ”„๋กœ์ ํŠธ์™€ ๋„๊ตฌ ์ดํ•ด
- 1.1 ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์šด์˜ํ•ด์•ผ ํ•˜๋Š” ์ด์œ 
- 1.2 FastAPI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
- 1.3 ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ์™€ ๊ณ„ํš
- 1.4 ์•ฝ์† ์žก๊ธฐ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ

2์žฅ. ์…ธ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์ตํžˆ๊ธฐ
- 2.1 ์…ธ์ด๋ž€
- 2.2 ๊ฒฝ๋กœ์™€ ๋””๋ ‰ํ„ฐ๋ฆฌ
- 2.3 ํŒŒ์ผ ๋‹ค๋ฃจ๊ธฐ

3์žฅ. ์‹ค์Šต ํ™˜๊ฒฝ ์ค€๋น„
- 3.1 ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ์„ค์น˜
- 3.2 ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ํ™”๋ฉด ๊ตฌ์„ฑ
- 3.3 ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
- 3.4 ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ํ™•์žฅ ๊ธฐ๋Šฅ
- 3.5 ํŒŒ์ด์ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ
- 3.6 FastAPI ์„ค์น˜ํ•˜๊ณ  ๋ง›๋ณด๊ธฐ

4์žฅ. ์•ฝ์† ์žก๊ธฐ ์„œ๋น„์Šค ๊ธฐํš
- 4.1 ์•ฝ์† ์žก๊ธฐ ์„œ๋น„์Šค ๊ธฐ๋Šฅ ๊ธฐํš
- 4.2 ์ฃผ์š” ๊ธฐ๋Šฅ
- 4.3 ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ ๊ธฐํš
- 4.4 ๋ฐ์ดํ„ฐ ์„ค๊ณ„

5์žฅ. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง
- 5.1 ํŒŒ์ด์ฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•: SQLModel
- 5.2 ๋ชจ๋ธ๋ง
- 5.3 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ •
- 5.4 Alembic์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

6์žฅ. ์ฝ”๋“œ ํ…Œ์ŠคํŠธ
- 6.1 ํ…Œ์ŠคํŒ… ๊ฐœ์š”
- 6.2 ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์‹ค์Šต
- 6.3 ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์‹ค์Šต
- 6.4 pytest์˜ ํ”ฝ์Šค์ฒ˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ ํ…Œ์ŠคํŒ…

7์žฅ. ํšŒ์›๊ฐ€์ž… ๋ฐ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ตฌํ˜„
- 7.1 ํšŒ์›๊ฐ€์ž… ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ
- 7.2 ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„
- 7.3 ๋กœ๊ทธ์ธ ๊ตฌํ˜„
- 7.4 ์ž๊ธฐ ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” API ๊ตฌํ˜„
- 7.5 FastAPI ์บ˜๋ฆฐ๋”, ๊ณ„์ • ์„ค์ • ํŽ˜์ด์ง€ ๊ตฌํ˜„

8์žฅ. ์‚ฌ์šฉ์ž๋ณ„ ์บ˜๋ฆฐ๋” ๋ฐ ์˜ˆ์•ฝ ๊ด€๋ฆฌ ๊ตฌํ˜„
- 8.1 ํ˜ธ์ŠคํŠธ๋ณ„ ์บ˜๋ฆฐ๋” ๊ฐ€์ ธ์˜ค๊ธฐ
- 8.2 ํ˜ธ์ŠคํŠธ์˜ ์บ˜๋ฆฐ๋”๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ณ€๊ฒฝ
- 8.3 ํƒ€์ž„์Šฌ๋กฏ ๊ด€๋ฆฌ 
- 8.4 ์˜ˆ์•ฝ
- 8.5 ์บ˜๋ฆฐ๋” ์˜ˆ์•ฝ ๊ฐ€์ ธ์˜ค๊ธฐ 
- 8.6 FastAPI ์บ˜๋ฆฐ๋”, ์˜ˆ์•ฝ ๊ด€๋ฆฌ
- 8.7 ๋ถ€ํ‚น์—์„œ ์ฐธ์„ ์ƒํƒœ ์ •๋ณด ๋‹ค๋ฃจ๊ธฐ
- 8.8 ํŒŒ์ผ ์—…๋กœ๋“œ 

9์žฅ. ์šด์˜์ž ํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
- 9.1 ์šด์˜์ž ํŽ˜์ด์ง€์™€ SQLAdmin 
- 9.2 SQLAdmin ๊ธฐ๋ณธ ํ™œ์šฉ๋ฒ•
- 9.3 ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ ํ™•์žฅ ๋ฐ ๋ณ€๊ฒฝ
- 9.4 SQLAdmin ์‚ฌ์šฉ์ž ์ธ์ฆ ์ฒด๊ณ„

10์žฅ. ์•ฝ์† ์žก๊ธฐ ํ”„๋กœ์ ํŠธ์— ํ”„๋ŸฐํŠธ์—”๋“œ ์—ฐ๋™
- 10.1 ์ •์  ํŒŒ์ผ
- 10.2 ๊ตฌํ˜„๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ํŒŒ์ด์ฌ ์›น ์„œ๋ฒ„๋กœ ๊ตฌ๋™
- 10.3 CORS ์ฒ˜๋ฆฌ
- 10.4 ํ˜ธ์ŠคํŠธ ๋ชฉ๋ก API
- 10.5 ์ธ์ฆ ํ† ํฐ์ด ์—†๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์‘๋‹ต
- 10. 6 ์บ˜๋ฆฐ๋” ํ๋ฆ„
- 10.7 ์›น ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๋ช…์„ธ

11์žฅ. SQLAlchemy ์ง€์—ฐ ๋กœ๋”ฉ ์ „๋žต 
- 11.1 ์ง€์—ฐ ๋กœ๋”ฉ์ด๋ž€
- 11.2 ์ง€์—ฐ ๋กœ๋”ฉ์˜ ์ข…๋ฅ˜ 
- 11.3 SQLAlchemy ์ง€์—ฐ ๋กœ๋”ฉ ์ ์šฉ

12์žฅ. ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋” ์—ฐ๋™
- 12.1 ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ API
- 12.2 ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”์— ์ด๋ฒคํŠธ ์ƒ์„ฑ
- 12.3 ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”์˜ ์ด๋ฒคํŠธ ๊ด€๋ฆฌ
- 12.4 ์•ฝ์† ์žก๊ธฐ ๊ตฌํ˜„์ฒด์— ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋” ์—ฐ๋™ ์ ์šฉ
- 12.5 FastAPI ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…

13์žฅ. ์˜ค๋ฅ˜ ๊ธฐ๋ก๊ณผ ๊ด€์ฐฐ, ๊ด€๋ฆฌ
- 13.1 ์˜ค๋ฅ˜ ๋กœ๊ทธ ์ฒด๊ณ„
- 13.2 Sentry๋ž€
- 13.3 ๊ณ„์ •๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
- 13.4 ์•ฝ์† ์žก๊ธฐ ํ”„๋กœ์ ํŠธ์— Sentry ๋ฐ˜์˜
- 13.5 ์˜ค๋ฅ˜ ๋กœ๊ทธ ํ…Œ์ŠคํŠธ
- 13.6 ์ˆ˜๋™์œผ๋กœ ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ

14์žฅ. ์•„๋งˆ์กด ์›น ์„œ๋น„์Šค์— ๋ฐฐํฌํ•˜๊ธฐ
- 14.1 ์˜์กด ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ
- 14.2 AWS Lightsail(๋ผ์ดํŠธ์„ธ์ผ)๋กœ ์„œ๋ฒ„ ๊ตฌ์„ฑ
- 14.3 ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„์— ํ™˜๊ฒฝ ๊ตฌ์„ฑ
- 14.4 ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™” 

๋ชฉ์ฐจ๋ถ€ํ„ฐ...์ด๊ฑด ์ง„์งœ๋‹ค๋ผ๋Š” ๋А๋‚Œ

์šด์˜ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ

์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋А๋‚€ ์ ์€, FastAPI๋ฅผ ์ž˜ ์“ฐ๋Š” ๋ฒ•๋ณด๋‹ค๋„ FastAPI๋ฅผ ์‚ฌ์šฉํ•ด ์‹ค์ œ๋กœ ๊ตด๋Ÿฌ๊ฐ€๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฒ•์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์ €์ž๋‹˜์ด ์ฑ… ์ดˆ๋ฐ˜๋ถ€ํ„ฐ ์šด์˜์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ๋๋‚˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์–ด๋–ป๊ฒŒ ์ž˜ ์„ค๊ณ„ํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ๋ฌธ์ œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๋Œ€์‘ํ•  ๊ฒƒ์ธ์ง€ ๊นŒ์ง€ ๊ณ ๋ คํ•ด์•ผ ์ง„์งœ ์„œ๋น„์Šค๋ผ๋Š” ๊ด€์ ์ด ๋ชฉ์ฐจ๋ถ€ํ„ฐ ์ž˜ ๋“œ๋Ÿฌ๋‚˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. 

 

ํ”„๋ก ํŠธ์—”๋“œ ์—ฐ๋™๊นŒ์ง€ ๊ฒฝํ—˜ ๊ฐ€๋Šฅ

์ด ์ฑ…์€ FastAPI๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฑ์—”๋“œ ๊ตฌํ˜„์—๋งŒ ๊ทธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์‹ค์ œ๋กœ ์—ฐ๋™ํ•ด๋ณด๋Š” ๊ณผ์ •๊นŒ์ง€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 

  • CORS ๋ฌธ์ œ
  • ์ธ์ฆ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

์ฒ˜๋Ÿผ ํ”„๋ก ํŠธ-๋ฐฑ์—”๋“œ ์—ฐ๋™ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ด์Šˆ๋“ค์„ ์ง์ ‘ ๋‹ค๋ฃจ๋ฉด์„œ, ์ด๋ก ์œผ๋กœ๋งŒ ์•Œ๋˜ ๋ฌธ์ œ๋“ค์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š”์ง€๋ฅผ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ํ”„๋ก ํŠธ์—”๋“œ ํŒŒ์ผ์„ ๋”ฐ๋กœ ์ œ๊ณตํ•ด์ค˜์„œ ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ๋‹ค์šด๋กœ๋“œํ•ด์„œ ๋ฐ”๋กœ ์—ฐ๋™ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. 

 

๋ฐฑ๋‹จ๋งŒ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ  ํ”„๋ก ํŠธ๊นŒ์ง€ ์—ฐ๊ฒฐํ•ด๋ณด๋Š” ๊ณผ์ •์„ ๋ณด๋ฉด์„œ ํ™•์‹คํžˆ "์‹ค์ œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ"์— ํ•œ ๊ฑธ์Œ ๋” ๊ฐ€๊นŒ์›Œ์ง„ ๋А๋‚Œ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์™€ SQLAlchemy ํ™œ์šฉ

SQLAlchemy๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฒ˜๋ฆฌ๋ฅผ ์ƒ๋‹นํžˆ ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์€ ๋ถ€ํŠธ์บ ํ”„๋ฅผ ํ†ตํ•ด ์–ด๋А ์ •๋„ ๋ฐฐ์›Œ๋ณธ ์ƒํƒœ์˜€์ง€๋งŒ, ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ๊นŠ๊ฒŒ ์ฐธ์—ฌํ•ด๋ณธ ์ ์€ ์—†์–ด DB๋‹จ์„ "์ œ๋Œ€๋กœ ์„ค๊ณ„ํ•˜๊ณ  ํ™œ์šฉํ•œ๋‹ค"๋Š” ๊ฒƒ์€ ๋Š˜ ์–ด๋ ต๊ฒŒ ๋А๊ปด์กŒ์Šต๋‹ˆ๋‹ค.

 

์ด ์ฑ…์—์„œ๋Š” 

  • ์ธ์ฆ, ์บ˜๋ฆฐ๋” ๋“ฑ ๋น„๊ต์  ๋ณต์žกํ•œ ๋„๋ฉ”์ธ ๋ชจ๋ธ๋ง
  • SQLAlchemy๋ฅผ ํ™œ์šฉํ•œ ๊ด€๊ณ„ ์„ค์ •
  • ์ง€์—ฐ ๋กœ๋”ฉ ์ฒ˜๋ฆฌ
  • sqlAdmin์„ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ ์šด์˜์ž ํŽ˜์ด์ง€ ๊ตฌ์„ฑ

๋“ฑ์„ ๋‹ค๋ฃจ๋ฉด์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํžˆ ์ €์žฅํ•˜๊ณ  ๊บผ๋‚ด์“ฐ๋Š” ์ˆ˜์ค€์„ ๋„˜์–ด ์ž˜ ์„ค๊ณ„ํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ์šด์˜ํ•˜๋Š”์ง€๋ฅผ ์ฒด๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋” ์—ฐ๋™, ์™ธ๋ถ€ API ํ†ตํ•ฉ ๊ฒฝํ—˜

๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ€์žฅ ์žฌ๋ฏธ์žˆ์—ˆ๋” ๋ถ€๋ถ„์€ ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋” ์—ฐ๋™์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งŽ์ด ์“ฐ์ด๋Š” ์™ธ๋ถ€ API ์—ฐ๋™ ๊ณผ์ •์„ ๊ฝค ์‹ค์šฉ์ ์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์™ธ๋ถ€ API๋ฅผ ์—ฐ๋™ํ•˜๋Š” ์ „์ฒด ํ๋ฆ„์„ ํ•œ ๋ฒˆ ์ œ๋Œ€๋กœ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ, ์•ž์œผ๋กœ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๋•Œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๊ฒ ๊ตฌ๋‚˜ ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค.

๋ฐฐํฌ์™€ ์šด์˜: Sentry, AWS Lightsail

sentry๋ฅผ ํ™œ์šฉํ•œ ๋กœ๊น…๊ณผ, AWS Lightsail์„ ์ด์šฉํ•œ ๋ฐฐํฌ๋„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EC2, S3 ๋“ฑ ์ž์ฃผ ์“ฐ๋Š” ์„œ๋น„์Šค์— ๋น„ํ•ด Lightsail์€ ๋‹ค์†Œ ๋‚ฏ์„  ์„œ๋น„์Šค์˜€์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ๋ฐฐํฌ๋„ ์•„์ง์€ ๋งŽ์ด ๋‚ฏ์„ ๋ฐ, ์ฑ…์„ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ Lightsail๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋А๋‚€์ 

fastapi์— ๋Œ€ํ•ด์„œ๋„ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๊ฐ€์žฅ ํฐ ๊ฐ•์ ์œผ๋กœ ๋А๊ปด์ง„ ๋ถ€๋ถ„์€ ์—ญ์‹œ ๊ธฐํš๊ณผ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค. ์š”์ฆ˜์€ AI์˜ ๋„์›€์œผ๋กœ ์ฝ”๋“œ ์ž‘์„ฑ ์ž์ฒด์˜ ๋‚œ์ด๋„๋Š” ๋งŽ์ด ๋‚ฎ์•„์กŒ๊ณ , ๋ฐฑ์—”๋“œ ๊ตฌํ˜„๋„ ์—ญ์‹œ ์ด์ „๋ณด๋‹ค๋Š” ์ ‘๊ทผ์„ฑ์ด ๋†’์•„์ง„ ํŽธ์ด๋ผ๊ณ  ๋А๋‚๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜คํžˆ๋ ค "์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ธ์ง€", "์–ด๋–ค ๊ตฌ์กฐ๋กœ ์„ค๊ณ„ํ•  ๊ฒƒ์ธ์ง€"๊ฐ€ ๋” ์ค‘์š”ํ•ด์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฐ ์ ์—์„œ ์ด ์ฑ„๊ทผ ๊ธฐํš, ์„ค๊ณ„, ์šด์˜์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•ด์ค€๋‹ค๋Š” ์ ์—์„œ ๋‹จ์ˆœํ•œ FastAPI ๊ธฐ์ˆ ์„œ ๊ทธ ์ด์ƒ์ด๋ผ๊ณ  ๋А๊ปด์กŒ์Šต๋‹ˆ๋‹ค.

 

ํƒ„ํƒ„ํ•œ ๊ตฌ์„ฑ๋„ ๋งˆ์Œ์— ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ ค 600ํŽ˜์ด์ง€๊ฐ€ ๋„˜๋Š” ๋ถ„๋Ÿ‰...fastapi๋Š” ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ ๊ธฐ์ˆ ๋กœ ์œ ๋ช…ํ•œ ๊ฒƒ์— ๋ฐ˜ํ•ด ์ฑ…์€ ์ƒ๊ฐ์ด์ƒ์œผ๋กœ ๋‘๊ป๊ณ  ๋ฌด๊ฒ์Šต๋‹ˆ๋‹ค. ๋‘๊ป˜๋งŒ ๋ณด์•„๋„, ๊ทธ๋ฆฌ๊ณ  ๋ชฉ์ฐจ๋งŒ ํ›‘์–ด๋ณด์•„๋„ ๊ฐœ๋ฐœ ์ „๋ฐ˜์„ ์ •๋ง ๊ผผ๊ผผํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค๋Š” ๋А๋‚Œ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ์˜ˆ์ œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ

  • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ 
  • ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ 
  • ์ ์  ๋ฐœ์ „์‹œํ‚ค๋Š” ๊ตฌ์กฐ

๋กœ ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๊ณ , ์ด ๋ชจ๋“ˆ์€ ์™œ ์ถ”๊ฐ€ํ•˜์ง€?์— ๋Œ€ํ•œ ์˜๋ฌธ๋„ ์‰ฝ๊ฒŒ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๊ตฌ์„ฑ๊ณผ ์„ค๋ช…์˜ ๊นŠ์ด ๋•๋ถ„์—, FastAPI๋ผ๋Š” ๊ธฐ์ˆ ์„ ์ •๋ง ํƒ„ํƒ„ํ•˜๊ฒŒ ์ตํž ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ์ด๋ผ๊ณ  ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์ฑ…์ธ ๋งŒํผ fastapi, sqlalchemy ๋“ฑ ์ตœ์‹  ๋ฒ„์ „ ๊ธฐ์ค€์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ์†Œ์†Œํ•˜์ง€๋งŒ ๋ถ„๋ช…ํ•œ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

 

+ ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ• ํŒŒํŠธ๋Š” ๋ณดํ†ต ๋Œ€์ถฉ ํ›‘๊ณ  ๋„˜์–ด๊ฐ€๋Š” ํŽธ์ธ๋ฐ, ์ตœ๊ทผ Mac์œผ๋กœ ๊ธฐ๋ณ€ํ•  ์ผ์ด ์žˆ์–ด์„œ ์ด ๋ถ€๋ถ„์—์„œ ์ •๋ง ๋งŽ์€ ๋„์›€์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. fastapi ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ™˜๊ฒฝ ์„ค์ •์ด ํ•„์š”ํ•˜์‹  ๋ถ„๋“ค์—๊ฒŒ ํฌ๊ฒŒ ๋„์›€์ด ๋  ๋ถ€๋ถ„...

 

์ถ”์ฒœ ๋Œ€์ƒ

  • ๊ฐœ๋ฐœ์ž ์ทจ์—…์„ ์ค€๋น„ ์ค‘์ธ ๋ถ„
  • FastAPI๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ œ๋Œ€๋กœ ๋ฐฐ์›Œ๋ณด๊ณ  ์‹ถ์€ ๋ถ„
  • ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ๊ธฐํš๋ถ€ํ„ฐ ์ถœ์‹œ, ์šด์˜๊นŒ์ง€ ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

๋‘๊ป˜๊ฐ€ ์žˆ๋Š” ํŽธ์ด๋ผ FastAPI ๋ฌธ๋ฒ•๋งŒ ๋น ๋ฅด๊ฒŒ ํ›‘๋Š” ์ฑ…์„ ์ฐพ๋Š” ๋ถ„๋ณด๋‹ค๋Š”, FastAPI๋ฅผ ํƒ„ํƒ„ํ•˜๊ฒŒ ์ตํžˆ๊ณ  ์‹ถ๊ฑฐ๋‚˜ "์‹ค์ œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๊ฒฝํ—˜"์„ ํ•œ ๋ฒˆ ์ œ๋Œ€๋กœ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„๋“ค๊ป˜ ํŠนํžˆ ์ž˜ ๋งž๋Š” ์ฑ…์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

์ด ์ฑ…์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด->

 

๊ธฐํš์—์„œ ์ถœ์‹œ๊นŒ์ง€ FastAPI ๊ฐœ๋ฐœ ๋ฐฑ์„œ | ์ฐจ๊ฒฝ๋ฌต | ๊ธธ๋ฒ— - ์˜ˆ์Šค24

๊ธฐํš์—์„œ ์ถœ์‹œ๊นŒ์ง€! FastAPI๋กœ ์‹ค์ „ ํ”„๋กœ์ ํŠธ ์ „ ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•œ๋‹ค!์‹ค๋ฌด ํ๋ฆ„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ‘์•ฝ์† ์žก๊ธฐ ์›น ์„œ๋น„์Šค’ ๋งŒ๋“ค์–ด ๋ณด์ž.์„œ๋น„์Šค ๊ฐœ๋ฐœ์€ ๋‹จ์ˆœํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์•„๋‹ˆ๋ผ, ๊ธฐํš๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€

www.yes24.com

 

 

'๐Ÿ“•review > ์ฑ…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ฑ… ๋ฆฌ๋ทฐ] ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐœ๋ฐœ์ž ์˜จ๋ณด๋”ฉ ๊ฐ€์ด๋“œ  (0) 2025.12.28
[์ฑ… ๋ฆฌ๋ทฐ] Do it! ๋ฆฌ๋ˆ…์Šค ์ž…๋ฌธ  (0) 2025.12.26
[์ฑ… ๋ฆฌ๋ทฐ] ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (0) 2025.12.13
[์ฑ… ๋ฆฌ๋ทฐ] ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” StatQuest ์‹ ๊ฒฝ๋ง & AI ๊ฐ•์˜  (0) 2025.12.07
[์ฑ… ๋ฆฌ๋ทฐ] Beyond Vibe Coding ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ๋„ˆ๋จธ ๊ฐœ๋ฐœ์ž ์ƒ์กด๋ฒ•  (0) 2025.11.30
'๐Ÿ“•review/์ฑ…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ฑ… ๋ฆฌ๋ทฐ] ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐœ๋ฐœ์ž ์˜จ๋ณด๋”ฉ ๊ฐ€์ด๋“œ
  • [์ฑ… ๋ฆฌ๋ทฐ] Do it! ๋ฆฌ๋ˆ…์Šค ์ž…๋ฌธ
  • [์ฑ… ๋ฆฌ๋ทฐ] ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • [์ฑ… ๋ฆฌ๋ทฐ] ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” StatQuest ์‹ ๊ฒฝ๋ง & AI ๊ฐ•์˜
ํ‚ํ‚์ž‰
ํ‚ํ‚์ž‰
๋ฟŒ๋ก ํŠธ ๊ฐœ๋ฐœ์ž(์ง€๋ง์ƒ)์˜ ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž ๋„์ „๊ธฐ
  • ํ‚ํ‚์ž‰
    monicx.dev
    ํ‚ํ‚์ž‰
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (173)
      • ๐Ÿ–ฅ๏ธdevelop (2)
        • Github (2)
        • Frontend (4)
        • Backend (5)
        • Mobile (0)
        • CS (0)
        • Three.js (0)
        • Docker (2)
      • ๐Ÿ“šbook (9)
        • npm Deep Dive (4)
      • ๐Ÿ“•review (33)
        • ์ฑ… (24)
        • ํ–‰์‚ฌ (1)
        • ํšŒ๊ณ  (2)
      • โญproject (5)
        • petiary (2)
        • ๆšŽ่ฉ  (0)
        • ์ธํ„ด (2)
      • ๐Ÿ˜ถ‍๐ŸŒซ๏ธalgorithm (0)
      • ๐Ÿ’กtips (1)
      • ๐Ÿ˜Ždaily (10)
      • ๐Ÿ•น๏ธgame (0)
      • ๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค (87)
        • TIL (61)
        • ํ”„๋กœ์ ํŠธ (18)
        • ํšŒ๊ณ  (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
  • ๋งํฌ

    • ๋ฒจ๋กœ๊ทธ
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
ํ‚ํ‚์ž‰
[์ฑ… ๋ฆฌ๋ทฐ] ๊ธฐํš์—์„œ ์ถœ์‹œ๊นŒ์ง€ FastAPI ๊ฐœ๋ฐœ ๋ฐฑ์„œ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”