ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฃ๏ธ๋ค์ด๊ฐ๋ฉฐ
python์ ์ด์ ํ์ตํด์ผ๊ฒ ๋ค๊ณ ๋ค์งํ๋ฉฐ, ์ ๋ฒ์์ ๋ง์ด ์ฌ์ฉ๋๋ FastApi๋ฅผ ๊ตฌ์ถํด๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
python ๊ธฐ๋ฐ ์๋ฒ๊ตฌ์ถ์ ํตํด ์๋ฒ๋จ์์ ์์์ฒ๋ฆฌ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉํ ๊ณํ์ ์ธ์ ๋ค.
python ๋ด๋น๋ก์ ๊ตฌ์ถ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค.
๐ Scaffolding

๐ Directory ๋ถ์
ํ์ฌ ๊ตฌ์กฐ๋ Spring ๊ตฌ์กฐ์ ๋น์ทํ๊ฒ
api ์์ฒญ ์์ ๋ ์ด์ด (api) → ๊ธฐ๋ฅ ๊ตฌํ ๋ ์ด์ด (services)
→ DB ์ฒ๋ฆฌ ๋ ์ด์ด (repos)
๋ก ๊ตฌ์ฑ.
๐ api
- router ๋ชจ์
๐ services
- ๊ธฐ๋ฅ ๋ ์ด์ด
๐ repos
- DB ๋ ์ด์ด
๐ core
- ํต์ฌ ๊ธฐ๋ฅ ๋ชจ์
- config.py๋ก app ์ค์ ์ฝ์ด๋ฅผ ํ๋ ๋ง๋ฆ
๐ schemas
- typing ๋ ์ด์ด
- python ํ์ ํํธ์ Pydantic ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์ ์ ํ์ ๊ฐํ ๋ชฉ์
๐ก ์ ์ ํ์ ํจ๊ณผ
- IDE ๋ณด์กฐ๋ฅผ ๋ฐ์ ๊ฐ๋ฐ๊ฒฝํ(DX) ํฅ์์ ๋์๋จ
- ์ ์ typing์ ํตํด ๋ช ํ์ฑ์ ๋์ด๋ฉด AI ๋ณด์กฐ๋ฅผ ๋ ์ ๋ฐ์์ ์์.
๐ ์์กด์ฑ ํจํค์ง ๊ด๋ฆฌ
python ํจํค์ง ์ฌ์ดํธ
node ์ง์ npm์ ์ฌ์ฉํ ๊ฒฝํ์ด ์์ด์
python์์๋ ์ด๋ป๊ฒ ์์กด์ฑ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ํ๋์ง ์๊ณ ์ ํ์๋ค.
1. ๊ฐ์ํ๊ฒฝ(venv) ๊ตฌ์ฑ
https://fastapi.tiangolo.com/virtual-environments/#check-the-virtual-environment-is-active
python์ ๊ฐ์ํ๊ฒฝ์ ๊ตฌ์ฑํ์ฌ ํ๋ก์ ํธ ๋ณ๋ก ์คํ ํ๊ฒฝ ๊ตฌ์ฑ ๊ฐ๋ฅ.
venv ๊ฐ๋ ์ ๋ชฐ๋์ ๋๋
๋น์ฐํ ํ๋ก์ ํธ ๋ด์ ์์กด์ฑ ํจํค์ง๊ฐ ์ค์น๋๋์ค ์์๋๋ฐ,
ํ๋ก์ ํธ ๋ด๋ถ์ ํจํค์ง๊ฐ ์ค์น์๋์ด
๊ด๋ จ ์ ๋ณด ํ์ธํด๋ณด๋ venv ๊ตฌ์ฑ์ ํ์ฌ์ผ ํ๋๋ฐ,
์ด๋ ๊ฒ ํจ์ผ๋ก์ ์์กด์ฑ ํจํค์ง๋ฅผ ํ๋ก์ ํธ ์ ์ฉ์ผ๋ก ์ค์นํ ์ ์๋ค.
venv ํด๋ ์์ฑ
# venv ํด๋ ์์ฑ
## ๋ฃจํธ์ .venv ํด๋๊ฐ ๋ง๋ค์ด์ง๋ค.
python -m venv .venv

ํ์ฌ ํ๋ก์ ํธ venv ํ์ฑํ
# venv ํ์ฑํ
## gitbash ๊ธฐ์ค
source .venv/Scripts/activate
venv ํ์ฑํ ํ์ธ
where python
which pip


โ๏ธ 2. ํจํค์ง ์ค์น
https://fastapi.tiangolo.com/#installation
fastapi ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์กด์ฑ ํจํค์ง๋ ์๋ ๋ช ๋ น์ด๋ก ๋ชจ๋ ์ค์น ๊ฐ๋ฅ.
# fastapi ์์กด์ฑ ํจํค์ง ์ค์น
## standar Extra ํ์ฉ
## <https://pypi.org/project/fastapi/>
pip install "fastapi[standard]"
โ๏ธ [standard] ๋ ๋ญ๊น?
- ํจํค์ง๋ Extras๋ฅผ ์ด์ฉํด ํจํค์ง ์ ๋ณด๋ฅผ ํ์ฅ ํ ์ ์์
- <ํจํค์ง>[Extra] ํํ
- fastapi[standard] ๋ fastapi ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ์์กด์ฑ ํจํค์ง ๋ชฉ๋ก์ ๋ด๊ณ ์์
์ฐธ๊ณ ๋ก ๋๋ ๋ค์๊ณผ ๊ฐ์ ํจํค์ง ๋ชฉ๋ก์ ์ค์น ํ์๋ค.
requirements.txt
fastapi[standard]==0.133.0
opencv-python-headless==4.13.0.92
psycopg[binary]==3.3.3
- opencv
- ์์ ์ฒ๋ฆฌ๊ด๋ จ
- psycopg
- PostgreSQL ์ด๋ํฐ
requirements ๊ธฐ๋ฐ ์ค์น
ํ ๋จ์ ์์ ์์๋ requirements.txt๋ก ์์กด์ฑ ํจํค์ง ๋ชฉ๋ก์ ๊ณต์ ํ๊ณ ,
ํด๋น ํจํค์ง ๋ชฉ๋ก์ ๋์ผํ๊ฒ ์ค์น๋ฅผ ํ๋ ๋ฐฉ์์ ์ฑํํ๋ค.
์ค์น ๋ช ๋ น์ด๋ ์๋์ ๊ฐ๋ค.
pip install -r requirements.txt
์ด์ ๊ธฐ๋ณธ์ ์ธ ํ๋ก์ ํธ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๊ณ ,
๋ค์์ ์ค์ app ์คํ์ ์ํ ๊ตฌํ ๊ณผ์ ์ ์์๋ณด์. ๐
'python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] Jinja, Blueprint๋ฅผ ํ์ฉํด ์น ํ์ด์ง ์ปดํฌ๋ํธํ ํ๊ธฐ (0) | 2022.08.22 |
|---|---|
| [python] python -m pip install vs pip install (0) | 2022.08.18 |
| [Python] VS Code์ python ํ๊ฒฝ ๊ตฌ์ฑํ๊ธฐ (0) | 2022.08.16 |
| [Python]๋ช ๋ น์ด py vs python ์ฐจ์ด (0) | 2022.08.16 |
| [Python] ์นํฌ๋กค๋ง ์์ (0) | 2022.08.14 |
- Total
- Today
- Yesterday
- Oracle Database 19c install
- docker mssql ์ด๋ฏธ์ง ์์ฑ
- ์ค๋ธ์
- vue ๋ฆฌํฉํ ๋ง
- nuxt3 quasar ์ค์
- docker mssql
- vue onunmounted
- vue watch ๋ฌธ์ ์
- vue watch ๋์ฒด
- python venv ๊ตฌ์ฑ
- nuxt3 structure
- nuxt3 ํ๋ก์ ํธ ์ค์
- ์ค๋งํธํผ์ฑ๋ณดํธ_์บ ํ์ธ
- ์์กด์ฑ ํจํค์ง ๊ด๋ฆฌ
- Oracle Database 19C ์ค์น
- unplugin-auto-import
- vue ํ์ด๋จธ ํด์
- ์คํ๋ฅดํ ์ฝ๋ฉํด๋ฝ
- nuxt3 eslint prettier ์ค์
- unmounted composable
- ์ธ๋ํค ์ญ์
- vue watch ์ํ์ฑ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- oracle 19c ์ค์น
- unmounted document.addlistener
- FastAPI ์ด๊ธฐ ๊ตฌ์ฑ
- vue unmounted
- docker mssql create database
- vue ์ด๋ฒคํธ ํด์
- unmounted setinterval
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |

