committed by
GitHub
1 changed files with 315 additions and 0 deletions
@ -0,0 +1,315 @@ |
|||
# ํ์ด์ฌ ํ์
์๊ฐ |
|||
|
|||
ํ์ด์ฌ์ ์ ํ์ ์ผ๋ก "ํ์
ํํธ(type hints)"๋ฅผ ์ง์ํฉ๋๋ค. |
|||
|
|||
์ด๋ฌํ **ํ์
ํํธ**๋ค์ ๋ณ์์ <abbr title="์๋ฅผ ๋ค๋ฉด: str, int, float, bool">ํ์
</abbr>์ ์ ์ธํ ์ ์๊ฒ ํด์ฃผ๋ ํน์ํ ๊ตฌ๋ฌธ์
๋๋ค. |
|||
|
|||
๋ณ์์ ํ์
์ ์ง์ ํ๋ฉด ์๋ํฐ์ ํด์ด ๋ ๋ง์ ๋์์ ์ค ์ ์๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
์ด ๋ฌธ์๋ ํ์ด์ฌ ํ์
ํํธ์ ๋ํ **๋น ๋ฅธ ์์ต์ / ๋ด์ฉํ๊ธฐ** ์์ค์ ๋ฌธ์์
๋๋ค. ์ฌ๊ธฐ์๋ **FastAPI**๋ฅผ ์ฐ๊ธฐ ์ํ ์ต์ํ์ ๋ด์ฉ๋ง์ ๋ค๋ฃน๋๋ค. |
|||
|
|||
**FastAPI**๋ ํ์
ํํธ์ ๊ธฐ๋ฐ์ ๋๊ณ ์์ผ๋ฉฐ, ์ด๋ ๋ง์ ์ฅ์ ๊ณผ ์ด์ต์ด ์์ต๋๋ค. |
|||
|
|||
๋น๋ก **FastAPI**๋ฅผ ์ฐ์ง ์๋๋ค๊ณ ํ๋๋ผ๋, ์กฐ๊ธ์ด๋ผ๋ ์์๋๋ฉด ๋์์ด ๋ ๊ฒ์
๋๋ค. |
|||
|
|||
!!! note "์ฐธ๊ณ " |
|||
ํ์ด์ฌ์ ๋ฅ์ํ์
์ ํ์
ํํธ์ ๋ํด ๋ชจ๋ ์์ ๋ค๋ฉด, ๋ค์ ์ฑํฐ๋ก ๊ฑด๋๋ฐ์ธ์. |
|||
|
|||
## ๋๊ธฐ ๋ถ์ฌ |
|||
|
|||
๊ฐ๋จํ ์์ ๋ถํฐ ์์ํด๋ด
์๋ค: |
|||
|
|||
```Python |
|||
{!../../../docs_src/python_types/tutorial001.py!} |
|||
``` |
|||
|
|||
์ด ํ๋ก๊ทธ๋จ์ ์คํํ ๊ฒฐ๊ณผ๊ฐ: |
|||
|
|||
``` |
|||
John Doe |
|||
``` |
|||
|
|||
ํจ์๋ ์๋์ ๊ฐ์ด ์คํ๋ฉ๋๋ค: |
|||
|
|||
* `first_name`๊ณผ `last_name`๋ฅผ ๋ฐ์ต๋๋ค. |
|||
* `title()`๋ก ๊ฐ ์ฒซ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํ์ํต๋๋ค. |
|||
* ๋ ๋จ์ด๋ฅผ ์ค๊ฐ์ ๊ณต๋ฐฑ์ ๋๊ณ <abbr title="๋ ๊ฐ๋ฅผ ํ๋๋ก ์ฐจ๋ก์ฐจ๋ก ์ด์ด์ง๊ฒ ํ๋ค">์ฐ๊ฒฐ</abbr>ํฉ๋๋ค. |
|||
|
|||
```Python hl_lines="2" |
|||
{!../../../docs_src/python_types/tutorial001.py!} |
|||
``` |
|||
|
|||
### ์ฝ๋ ์์ |
|||
|
|||
์ด๊ฑด ๋งค์ฐ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์
๋๋ค. |
|||
|
|||
๊ทธ๋ฐ๋ฐ ์ฒ์๋ถํฐ ์์ฑํ๋ค๊ณ ์๊ฐ์ ํด๋ด
์๋ค. |
|||
|
|||
์ฌ๋ฌ๋ถ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ค๋นํ๊ณ , ํจ์๋ฅผ ์ ์ํ๊ธฐ ์์ํ์ ๊ฒ๋๋ค. |
|||
|
|||
์ด๋ "์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์"๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค. |
|||
|
|||
`upper`์๋? ์๋๋ฉด `uppercase`? `first_uppercase`? `capitalize`? |
|||
|
|||
๊ทธ๋ ๊ฐ๋ฐ์๋ค์ ์ค๋ ์น๊ตฌ, ์๋ํฐ ์๋์์ฑ์ ์๋ํด๋ด
๋๋ค. |
|||
|
|||
๋น์ ์ `first_name`๋ฅผ ์
๋ ฅํ ๋ค ์ (`.`)์ ์
๋ ฅํ๊ณ ์๋์์ฑ์ ์ผ๊ธฐ ์ํด์ `Ctrl+Space`๋ฅผ ๋๋ ์ต๋๋ค. |
|||
|
|||
ํ์ง๋ง ์ฌํ๊ฒ๋ ์๋ฌด๋ฐ ๋์์ด ๋์ง ์์ต๋๋ค: |
|||
|
|||
<img src="/img/python-types/image01.png"> |
|||
|
|||
### ํ์
์ถ๊ฐํ๊ธฐ |
|||
|
|||
์ด์ ๋ฒ์ ์์ ํ ์ค๋ง ์์ ํด๋ด
์๋ค. |
|||
|
|||
์ ํฌ๋ ์ด ํจ์์ ๋งค๊ฐ๋ณ์ ๋ถ๋ถ: |
|||
|
|||
```Python |
|||
first_name, last_name |
|||
``` |
|||
|
|||
์ ์๋์ ๊ฐ์ด ๋ฐ๊ฟ ๊ฒ๋๋ค: |
|||
|
|||
```Python |
|||
first_name: str, last_name: str |
|||
``` |
|||
|
|||
์ด๊ฒ ๋ค์
๋๋ค. |
|||
|
|||
์ด๊ฒ "ํ์
ํํธ"์
๋๋ค: |
|||
|
|||
```Python hl_lines="1" |
|||
{!../../../docs_src/python_types/tutorial002.py!} |
|||
``` |
|||
|
|||
ํ์
ํํธ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ ๊ฐ์ ์ ์ธํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฆ
๋๋ค: |
|||
|
|||
```Python |
|||
first_name="john", last_name="doe" |
|||
``` |
|||
|
|||
์ด๋ ๋ค๋ฅธ ๊ฒ์
๋๋ค. |
|||
|
|||
๋ฑํธ(`=`) ๋์ ์ฝ๋ก (`:`)์ ์ฐ๊ณ ์์ต๋๋ค. |
|||
|
|||
์ผ๋ฐ์ ์ผ๋ก ํ์
ํํธ๋ฅผ ์ถ๊ฐํ๋ค๊ณ ํด์ ํน๋ณํ๊ฒ ์ด๋ค ์ผ์ด ์ผ์ด๋์ง๋ ์์ต๋๋ค. |
|||
|
|||
๊ทธ๋ ์ง๋ง ์ด์ , ๋ค์ ํจ์๋ฅผ ๋ง๋๋ ๋์ค์ด๋ผ๊ณ ์๊ฐํด๋ด
์๋ค. ๋ค๋ง ์ด๋ฒ์ ํ์
ํํธ๊ฐ ์์ต๋๋ค. |
|||
|
|||
๊ฐ์ ์ํฉ์์ `Ctrl+Space`๋ก ์๋์์ฑ์ ์๋์ํค๋ฉด, |
|||
|
|||
<img src="/img/python-types/image02.png"> |
|||
|
|||
์๋์ ๊ฐ์ด "๊ทธ๋ ์ง!"ํ๋ ์ต์
์ด ๋์ฌ๋๊น์ง ์คํฌ๋กค์ ๋ด๋ ค์ ๋ณผ ์ ์์ต๋๋ค: |
|||
|
|||
<img src="/img/python-types/image03.png"> |
|||
|
|||
## ๋ ํฐ ๋๊ธฐ๋ถ์ฌ |
|||
|
|||
์๋ ํจ์๋ฅผ ๋ณด๋ฉด, ์ด๋ฏธ ํ์
ํํธ๊ฐ ์ ์ฉ๋์ด ์๋ ๊ฑธ ๋ณผ ์ ์์ต๋๋ค: |
|||
|
|||
```Python hl_lines="1" |
|||
{!../../../docs_src/python_types/tutorial003.py!} |
|||
``` |
|||
|
|||
ํธ์ง๊ธฐ๊ฐ ๋ณ์์ ํ์
์ ์๊ณ ์๊ธฐ ๋๋ฌธ์, ์๋์์ฑ ๋ฟ ์๋๋ผ ์๋ฌ๋ ํ์ธํ ์ ์์ต๋๋ค: |
|||
|
|||
<img src="/img/python-types/image04.png"> |
|||
|
|||
์ด์ ๊ณ ์ณ์ผํ๋ ๊ฑธ ์๊ธฐ ๋๋ฌธ์, `age`๋ฅผ `str(age)`๊ณผ ๊ฐ์ด ๋ฌธ์์ด๋ก ๋ฐ๊พธ๊ฒ ๋ฉ๋๋ค: |
|||
|
|||
```Python hl_lines="2" |
|||
{!../../../docs_src/python_types/tutorial004.py!} |
|||
``` |
|||
|
|||
## ํ์
์ ์ธ |
|||
|
|||
๋ฐฉ๊ธ ํจ์์ ๋งค๊ฐ๋ณ์๋ก์จ ํ์
ํํธ๋ฅผ ์ ์ธํ๋ ์ฃผ์ ์ฅ์๋ฅผ ๋ณด์์ต๋๋ค. |
|||
|
|||
์ด ์์น๋ ์ฌ๋ฌ๋ถ์ด **FastAPI**์ ํจ๊ป ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ์ฅ์์
๋๋ค. |
|||
|
|||
### Simple ํ์
|
|||
|
|||
`str`๋ฟ ์๋๋ผ ๋ชจ๋ ํ์ด์ฌ ํ์ค ํ์
์ ์ ์ธํ ์ ์์ต๋๋ค. |
|||
|
|||
์๋ฅผ ๋ค๋ฉด: |
|||
|
|||
* `int` |
|||
* `float` |
|||
* `bool` |
|||
* `bytes` |
|||
|
|||
```Python hl_lines="1" |
|||
{!../../../docs_src/python_types/tutorial005.py!} |
|||
``` |
|||
|
|||
### ํ์
๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ Generic(์ ๋ค๋ฆญ) ํ์
|
|||
|
|||
`dict`, `list`, `set`, `tuple`๊ณผ ๊ฐ์ ๊ฐ์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์๊ณ , ๋ด๋ถ์ ๊ฐ์ ๊ฐ์์ ํ์
์ ๊ฐ์ง ์๋ ์์ต๋๋ค. |
|||
|
|||
ํ์
๊ณผ ๋ด๋ถ ํ์
์ ์ ์ธํ๊ธฐ ์ํด์๋ ํ์ด์ฌ ํ์ค ๋ชจ๋์ธ `typing`์ ์ด์ฉํด์ผ ํฉ๋๋ค. |
|||
|
|||
๊ตฌ์ฒด์ ์ผ๋ก๋ ์๋ ํ์
ํํธ๋ฅผ ์ง์ํฉ๋๋ค. |
|||
|
|||
#### `List` |
|||
|
|||
์๋ฅผ ๋ค๋ฉด, `str`์ `list`์ธ ๋ณ์๋ฅผ ์ ์ํด๋ด
์๋ค. |
|||
|
|||
`typing`์์ `List`(๋๋ฌธ์ `L`)๋ฅผ import ํฉ๋๋ค. |
|||
|
|||
```Python hl_lines="1" |
|||
{!../../../docs_src/python_types/tutorial006.py!} |
|||
``` |
|||
|
|||
์ฝ๋ก (`:`) ๋ฌธ๋ฒ์ ์ด์ฉํ์ฌ ๋ณ์๋ฅผ ์ ์ธํฉ๋๋ค. |
|||
|
|||
ํ์
์ผ๋ก๋ `List`๋ฅผ ๋ฃ์ด์ค๋๋ค. |
|||
|
|||
์ด๋ ๋ฐฐ์ด์ ๋ด๋ถ ํ์
์ ํฌํจํ๋ ํ์
์ด๊ธฐ ๋๋ฌธ์ ๋๊ดํธ ์์ ๋ฃ์ด์ค๋๋ค. |
|||
|
|||
```Python hl_lines="4" |
|||
{!../../../docs_src/python_types/tutorial006.py!} |
|||
``` |
|||
|
|||
!!! tip "ํ" |
|||
๋๊ดํธ ์์ ๋ด๋ถ ํ์
์ "ํ์
๋งค๊ฐ๋ณ์(type paramters)"๋ผ๊ณ ํฉ๋๋ค. |
|||
|
|||
์ด๋ฒ ์์ ์์๋ `str`์ด `List`์ ๋ค์ด๊ฐ ํ์
๋งค๊ฐ๋ณ์ ์
๋๋ค. |
|||
|
|||
์ด๋ "`items`์ `list`์ธ๋ฐ, ๋ฐฐ์ด์ ๋ค์ด์๋ ์์ดํ
๊ฐ๊ฐ์ `str`์ด๋ค"๋ผ๋ ๋ป์
๋๋ค. |
|||
|
|||
์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ์๋ํฐ๋ ๋ฐฐ์ด์ ๋ค์ด์๋ ์์ดํ
์ ์ฒ๋ฆฌํ ๋๋ ๋์์ ์ค ์ ์๊ฒ ๋ฉ๋๋ค: |
|||
|
|||
<img src="/img/python-types/image05.png"> |
|||
|
|||
ํ์
์ด ์์ผ๋ฉด ์ด๊ฑด ๊ฑฐ์ ๋ถ๊ฐ๋ฅ์ด๋ ๋ค๋ฆ ์์ต๋๋ค. |
|||
|
|||
๋ณ์ `item`์ `items`์ ๊ฐ๋ณ ์์๋ผ๋ ์ฌ์ค์ ์์๋์ธ์. |
|||
|
|||
๊ทธ๋ฆฌ๊ณ ์๋ํฐ๋ ๊ณ์ `str`๋ผ๋ ์ฌ์ค์ ์๊ณ ๋์์ค๋๋ค. |
|||
|
|||
#### `Tuple`๊ณผ `Set` |
|||
|
|||
`tuple`๊ณผ `set`๋ ๋์ผํ๊ฒ ์ ์ธํ ์ ์์ต๋๋ค. |
|||
|
|||
```Python hl_lines="1 4" |
|||
{!../../../docs_src/python_types/tutorial007.py!} |
|||
``` |
|||
|
|||
์ด ๋ป์ ์๋์ ๊ฐ์ต๋๋ค: |
|||
|
|||
* ๋ณ์ `items_t`๋, ์ฐจ๋ก๋๋ก `int`, `int`, `str`์ธ `tuple`์ด๋ค. |
|||
* ๋ณ์ `items_s`๋, ๊ฐ ์์ดํ
์ด `bytes`์ธ `set`์ด๋ค. |
|||
|
|||
#### `Dict` |
|||
|
|||
`dict`๋ฅผ ์ ์ธํ๋ ค๋ฉด ์ปด๋ง๋ก ๊ตฌ๋ถ๋ 2๊ฐ์ ํ๋ผ๋ฏธํฐ๊ฐ ํ์ํฉ๋๋ค. |
|||
|
|||
์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ `dict`์ ํค(key)์ด๊ณ , |
|||
|
|||
๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ `dict`์ ๊ฐ(value)์
๋๋ค. |
|||
|
|||
```Python hl_lines="1 4" |
|||
{!../../../docs_src/python_types/tutorial008.py!} |
|||
``` |
|||
|
|||
์ด ๋ป์ ์๋์ ๊ฐ์ต๋๋ค: |
|||
|
|||
* ๋ณ์ `prices`๋ `dict`์ด๋ค: |
|||
* `dict`์ ํค(key)๋ `str`ํ์
์ด๋ค. (๊ฐ ์์ดํ
์ ์ด๋ฆ(name)) |
|||
* `dict`์ ๊ฐ(value)๋ `float`ํ์
์ด๋ค. (๊ฐ ์์ดํ
์ ๊ฐ๊ฒฉ(price)) |
|||
|
|||
#### `Optional` |
|||
|
|||
`str`๊ณผ ๊ฐ์ด ํ์
์ ์ ์ธํ ๋ `Optional`์ ์ธ ์๋ ์๋๋ฐ, "์ ํ์ (Optional)"์ด๊ธฐ๋๋ฌธ์ `None`๋ ๋ ์ ์์ต๋๋ค: |
|||
|
|||
```Python hl_lines="1 4" |
|||
{!../../../docs_src/python_types/tutorial009.py!} |
|||
``` |
|||
|
|||
`Optional[str]`์ `str` ๋์ ์ฐ๊ฒ ๋๋ฉด, ํน์ ๊ฐ์ด ์ค์ ๋ก๋ `None`์ด ๋ ์๋ ์๋๋ฐ ํญ์ `str`์ด๋ผ๊ณ ๊ฐ์ ํ๋ ์ํฉ์์ ์๋ํฐ๊ฐ ์๋ฌ๋ฅผ ์ฐพ๊ฒ ๋์์ค ์ ์์ต๋๋ค. |
|||
|
|||
#### Generic(์ ๋ค๋ฆญ) ํ์
|
|||
|
|||
์ด ํ์
์ ๋๊ดํธ ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋ฉฐ, ์ข
๋ฅ๋: |
|||
|
|||
* `List` |
|||
* `Tuple` |
|||
* `Set` |
|||
* `Dict` |
|||
* `Optional` |
|||
* ...๋ฑ๋ฑ |
|||
|
|||
์์ ๊ฐ์ ํ์
์ **Generic(์ ๋ค๋ฆญ) ํ์
** ํน์ **Generics(์ ๋ค๋ฆญ์ค)**๋ผ๊ณ ๋ถ๋ฆฝ๋๋ค. |
|||
|
|||
### ํ์
์ผ๋ก์์ ํด๋์ค |
|||
|
|||
๋ณ์์ ํ์
์ผ๋ก ํด๋์ค๋ฅผ ์ ์ธํ ์๋ ์์ต๋๋ค. |
|||
|
|||
์ด๋ฆ(name)์ ๊ฐ์ง `Person` ํด๋์ค๊ฐ ์๋ค๊ณ ํด๋ด
์๋ค. |
|||
|
|||
```Python hl_lines="1-3" |
|||
{!../../../docs_src/python_types/tutorial010.py!} |
|||
``` |
|||
|
|||
๊ทธ๋ ๊ฒ ํ๋ฉด ๋ณ์๋ฅผ `Person`์ด๋ผ๊ณ ์ ์ธํ ์ ์๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
```Python hl_lines="6" |
|||
{!../../../docs_src/python_types/tutorial010.py!} |
|||
``` |
|||
|
|||
๊ทธ๋ฆฌ๊ณ ์ญ์๋ ๋ชจ๋ ์๋ํฐ ๋์์ ๋ฐ๊ฒ ๋๊ฒ ์ฃ . |
|||
|
|||
<img src="/img/python-types/image06.png"> |
|||
|
|||
## Pydantic ๋ชจ๋ธ |
|||
|
|||
<a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a>์ ๋ฐ์ดํฐ ๊ฒ์ฆ(Validation)์ ์ํ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. |
|||
|
|||
๋น์ ์ ์์ฑ๋ค์ ํฌํจํ ํด๋์ค ํํ๋ก "๋ชจ์(shape)"์ ์ ์ธํ ์ ์์ต๋๋ค. |
|||
|
|||
๊ทธ๋ฆฌ๊ณ ๊ฐ ์์ฑ์ ํ์
์ ๊ฐ์ง๊ณ ์์ต๋๋ค. |
|||
|
|||
์ด ํด๋์ค๋ฅผ ํ์ฉํ์ฌ์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด, ํ์ํ ๊ฒฝ์ฐ์๋ ์ ๋นํ ํ์
์ผ๋ก ๋ณํ๊น์ง ์ํค๊ธฐ๋ ํ์ฌ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค. |
|||
|
|||
๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ ๊ฐ์ฒด์ ๋ํด์๋ ์๋ํฐ์ ๋์์ ๋ฐ์ ์ ์๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
Pydantic ๊ณต์ ๋ฌธ์ ์์: |
|||
|
|||
```Python |
|||
{!../../../docs_src/python_types/tutorial011.py!} |
|||
``` |
|||
|
|||
!!! info "์ ๋ณด" |
|||
Pydantic<์ ๋ํด ๋ ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">๊ณต์ ๋ฌธ์</a>๋ฅผ ์ฐธ๊ณ ํ์ธ์.</a> |
|||
|
|||
|
|||
**FastAPI**๋ ๋ชจ๋ Pydantic์ ๊ธฐ๋ฐ์ผ๋ก ๋์ด ์์ต๋๋ค. |
|||
|
|||
์ด ๋ชจ๋ ๊ฒ์ด ์ค์ ๋ก ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํด์๋ [์์ต์ - ์ฌ์ฉ์ ์๋ด์](tutorial/index.md){.internal-link target=_blank} ์์ ๋ ๋ง์ด ํ์ธํ์ค ์ ์์ต๋๋ค. |
|||
|
|||
## **FastAPI**์์์ ํ์
ํํธ |
|||
|
|||
**FastAPI**๋ ์ฌ๋ฌ ๋ถ๋ถ์์ ํ์
ํํธ์ ์ฅ์ ์ ์ทจํ๊ณ ์์ต๋๋ค. |
|||
|
|||
**FastAPI**์์ ํ์
ํํธ์ ํจ๊ป ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ์ฅ์ ์: |
|||
|
|||
* **์๋ํฐ ๋์**. |
|||
* **ํ์
ํ์ธ**. |
|||
|
|||
...๊ทธ๋ฆฌ๊ณ **FastAPI**๋ ๊ฐ์ ์ ์๋ฅผ ์๋์๋ ์ ์ฉํฉ๋๋ค: |
|||
|
|||
* **์๊ตฌ์ฌํญ ์ ์**: ์์ฒญ ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์, ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์, ํค๋, ๋ฐ๋, ์์กด์ฑ ๋ฑ. |
|||
* **๋ฐ์ดํฐ ๋ณํ**: ์์ฒญ์์ ์๊ตฌํ ํ์
์ผ๋ก. |
|||
* **๋ฐ์ดํฐ ๊ฒ์ฆ**: ๊ฐ ์์ฒญ๋ง๋ค: |
|||
* ๋ฐ์ดํฐ๊ฐ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ์๋ **์๋์ผ๋ก ์๋ฌ**๋ฅผ ๋ฐ์ํฉ๋๋ค. |
|||
* OpenAPI๋ฅผ ํ์ฉํ **API ๋ฌธ์ํ**: |
|||
* ์๋์ผ๋ก ์ํธ์์ฉํ๋ ์ ์ ์ธํฐํ์ด์ค์ ์ฐ์ด๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
์ ๋ด์ฉ์ด ๋ค์ ์ถ์์ ์ผ ์๋ ์์ง๋ง, ๊ฑฑ์ ๋ง์ธ์. [์์ต์ - ์ฌ์ฉ์ ์๋ด์](tutorial/index.md){.internal-link target=_blank}์์ ์ ๋ถ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค. |
|||
|
|||
๊ฐ์ฅ ์ค์ํ ๊ฑด, ํ์ค ํ์ด์ฌ ํ์
์ ํ ๊ณณ์์(ํด๋์ค๋ฅผ ๋ํ๊ฑฐ๋, ๋ฐ์ฝ๋ ์ดํฐ ์ฌ์ฉํ๋ ๋์ ) ์ฌ์ฉํจ์ผ๋ก์จ **FastAPI**๊ฐ ๋น์ ์ ์ํด ๋ง์ ์ผ์ ํด์ค๋ค๋ ์ฌ์ค์ด์ฃ . |
|||
|
|||
!!! info "์ ๋ณด" |
|||
๋ง์ฝ ๋ชจ๋ ์์ต์๋ฅผ ๋ค ๋ณด์์์๋ ํ์
์ ๋ํด์ ๋ ๋ณด๊ณ ์ ๋ฐฉ๋ฌธํ ๊ฒฝ์ฐ์๋ <a href="https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html" class="external-link" target="_blank">`mypy`์์ ์ ๊ณตํ๋ "cheat sheet"</a>์ด ์ข์ ์๋ฃ๊ฐ ๋ ๊ฒ๋๋ค. |
Loadingโฆ
Reference in new issue