FastAPI는 Python 기반의 웹 프레임워크
핵심 특징
Django/Flask와 비교
| FastAPI | Flask | Django | |
|---|---|---|---|
| 성능 | 매우 빠름 | 보통 | 보통 |
| 비동기 | 기본제공 | 제한적 | 제한적 |
| 자동 문서화 | 기본 제공 | 없음 | 없음 |
| 학습 난이도 | 낮음 | 낮음 | 중간 |
파이썬 Python 3.12+ 설치
vscode 다운로드 및 설치
docker desktop 설치
postgresql db 구축
datagrip 설치
llm활용을 위한 openai 세팅
수업 코드 clone
가상환경세팅, 라이브러리 설치, 서버 실행
py -3.12 -m venv .venv
.venv/Scripts/activate #비활성화는 deactivate
pip install -r requirements.txt
uvicorn app.main:app --reload
app/
├── main.py # 프로젝트 진입점(앱 객체 생성 및 전역 설정 등)
├── models/ # DB ENTITY 모델 (member, order, product)
├── ai/ # ai 모듈
├── routers/ # 라우터 (member, order, product 등으로 라우팅)
├── schemas/ # 데이터 검증 계층 (dto 계층)
├── services/ # 비즈니스 로직 계층 (핵심 연산 및 흐름 제어)
├── database.py # database 연결
.env # 환경변수
requirements.txt # 라이브러리 (의존성)