Browse Source

๐ŸŒ Update translations for ko (update-outdated) (#15664)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
pull/15675/head
Sebastiรกn Ramรญrez 3 days ago
committed by GitHub
parent
commit
502d20c441
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 14
      docs/ko/docs/_llm-test.md
  2. 46
      docs/ko/docs/alternatives.md
  3. 4
      docs/ko/docs/async.md
  4. 10
      docs/ko/docs/fastapi-cli.md
  5. 2
      docs/ko/docs/features.md
  6. 243
      docs/ko/docs/help-fastapi.md
  7. 6
      docs/ko/docs/python-types.md
  8. 12
      docs/ko/docs/tutorial/bigger-applications.md
  9. 2
      docs/ko/docs/tutorial/debugging.md
  10. 4
      docs/ko/docs/tutorial/header-params.md

14
docs/ko/docs/_llm-test.md

@ -124,10 +124,6 @@ works(foo="bar") # ์ด๊ฑด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค ๐ŸŽ‰
//// tab | ํ…Œ์ŠคํŠธ
/// info | ์ •๋ณด
์ผ๋ถ€ ํ…์ŠคํŠธ
///
/// note | ์ฐธ๊ณ 
์ผ๋ถ€ ํ…์ŠคํŠธ
///
@ -136,10 +132,6 @@ works(foo="bar") # ์ด๊ฑด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค ๐ŸŽ‰
์ผ๋ถ€ ํ…์ŠคํŠธ
///
/// check | ํ™•์ธ
์ผ๋ถ€ ํ…์ŠคํŠธ
///
/// tip | ํŒ
์ผ๋ถ€ ํ…์ŠคํŠธ
///
@ -158,7 +150,7 @@ works(foo="bar") # ์ด๊ฑด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค ๐ŸŽ‰
ํƒญ๊ณผ `Info`/`Note`/`Warning`/๋“ฑ์˜ ๋ธ”๋ก์€ ์ œ๋ชฉ ๋ฒˆ์—ญ์„ ์ˆ˜์ง ๋ง‰๋Œ€(`|`) ๋’ค์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
`scripts/translate.py`์˜ ์ผ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ์—์„œ `### Special blocks`์™€ `### Tab blocks` ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
`scripts/translate.py`์˜ ์ผ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ์—์„œ `### Special blocks`์™€ `### Tab blocks` ์„์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
////
@ -248,7 +240,7 @@ works(foo="bar") # ์ด๊ฑด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค ๐ŸŽ‰
`scripts/translate.py`์˜ ์ผ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ์—์„œ `### Headings` ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
์–ธ์–ด๋ณ„ ์ง€์นจ์€ ์˜ˆ๋ฅผ ๋“ค์–ด `docs/de/llm-prompt.md`์˜ `### Headings` ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
์–ธ์–ด๋ณ„ ์ง€์นจ์€ ์˜ˆ๋ฅผ ๋“ค์–ด `docs/de/llm-prompt.md`์˜ `### Headings` ์„์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
////
@ -498,6 +490,6 @@ works(foo="bar") # ์ด๊ฑด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค ๐ŸŽ‰
์ด๊ฒƒ์€ ๋ฌธ์„œ์—์„œ ๋ณด์ด๋Š” (๋Œ€๋ถ€๋ถ„) ๊ธฐ์ˆ  ์šฉ์–ด์˜ ๋ถˆ์™„์ „ํ•˜๊ณ  ๋น„๊ทœ๋ฒ”์ ์ธ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„์ž๊ฐ€ ์–ด๋–ค ์šฉ์–ด์— ๋Œ€ํ•ด LLM์— ์ถ”๊ฐ€์ ์ธ ๋„์›€์ด ํ•„์š”ํ•œ์ง€ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ข‹์€ ๋ฒˆ์—ญ์„ ๊ณ„์† ๋œ ์ข‹์€ ๋ฒˆ์—ญ์œผ๋กœ ๋˜๋Œ๋ฆด ๋•Œ, ๋˜๋Š” ์–ธ์–ด์—์„œ ์šฉ์–ด์˜ ํ™œ์šฉ/๋ณ€ํ™”๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด `docs/de/llm-prompt.md`์˜ `### List of English terms and their preferred German translations` ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
์˜ˆ๋ฅผ ๋“ค์–ด `docs/de/llm-prompt.md`์˜ `### List of English terms and their preferred German translations` ์„์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
////

46
docs/ko/docs/alternatives.md

@ -36,7 +36,7 @@ Django REST Framework๋Š” Tom Christie๊ฐ€ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. **FastAPI**์˜ ๊ธฐ
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
์ž๋™ API ๋ฌธ์„œํ™” ์›น ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ.
@ -56,7 +56,7 @@ Flask๋Š” "microframework"๋กœ, Django์— ๊ธฐ๋ณธ์œผ๋กœ ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด
Flask์˜ ๋‹จ์ˆœํ•จ์„ ๊ณ ๋ คํ•˜๋ฉด API๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ž˜ ๋งž๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ฐพ๊ณ ์ž ํ–ˆ๋˜ ๊ฒƒ์€ Flask์šฉ "Django REST Framework"์˜€์Šต๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
micro-framework๊ฐ€ ๋˜๊ธฐ. ํ•„์š”ํ•œ ๋„๊ตฌ์™€ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ.
@ -98,7 +98,7 @@ def read_url():
`requests.get(...)`์™€ `@app.get(...)`์˜ ์œ ์‚ฌ์„ฑ์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
* ๋‹จ์ˆœํ•˜๊ณ  ์ง๊ด€์ ์ธ API๋ฅผ ๊ฐ–๊ธฐ.
* HTTP method ์ด๋ฆ„(operations)์„ ์ง์ ‘, ์ง๊ด€์ ์ด๊ณ  ๋ช…ํ™•ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ.
@ -118,7 +118,7 @@ def read_url():
๊ทธ๋ž˜์„œ 2.0 ๋ฒ„์ „์„ ์ด์•ผ๊ธฐํ•  ๋•Œ๋Š” "Swagger"๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๊ณ , 3+ ๋ฒ„์ „์€ "OpenAPI"๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
์ปค์Šคํ…€ schema ๋Œ€์‹ , API ์‚ฌ์–‘์„ ์œ„ํ•œ ์—ด๋ฆฐ ํ‘œ์ค€์„ ์ฑ„ํƒํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ.
@ -147,7 +147,7 @@ API์— ๋˜ ํ•˜๋‚˜ ํฌ๊ฒŒ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ์ž…๋‹ˆ๋‹ค. ํŠน์ •
ํ•˜์ง€๋งŒ Python type hints๊ฐ€ ์กด์žฌํ•˜๊ธฐ ์ „์— ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ <dfn title="๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •์˜">์Šคํ‚ค๋งˆ</dfn>๋ฅผ ์ •์˜ํ•˜๋ ค๋ฉด Marshmallow๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํŠน์ • ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ฒ€์ฆ์„ ์ œ๊ณตํ•˜๋Š” "schema"๋ฅผ ์ฝ”๋“œ๋กœ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ์ž๋™์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ.
@ -163,13 +163,13 @@ Webargs๋Š” Flask๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ framework ์œ„์—์„œ ์ด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„
์•„์ฃผ ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์ด๋ฉฐ, ์ €๋„ **FastAPI**๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
Webargs๋Š” Marshmallow์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
๋“ค์–ด์˜ค๋Š” ์š”์ฒญ ๋ฐ์ดํ„ฐ์˜ ์ž๋™ ๊ฒ€์ฆ์„ ๊ฐ–๊ธฐ.
@ -193,13 +193,13 @@ Flask, Starlette, Responder ๋“ฑ์—์„œ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
์—๋””ํ„ฐ๊ฐ€ ์ด๋ฅผ ํฌ๊ฒŒ ๋„์™€์ฃผ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ Marshmallow schema๋ฅผ ์ˆ˜์ •ํ•ด๋†“๊ณ  YAML docstring๋„ ๊ฐ™์ด ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์–ด๋ฒ„๋ฆฌ๋ฉด, ์ƒ์„ฑ๋œ schema๋Š” ์˜ค๋ž˜๋œ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
APISpec์€ Marshmallow์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
API๋ฅผ ์œ„ํ•œ ์—ด๋ฆฐ ํ‘œ์ค€์ธ OpenAPI๋ฅผ ์ง€์›ํ•˜๊ธฐ.
@ -223,15 +223,15 @@ Flask + Flask-apispec + Marshmallow + Webargs ์กฐํ•ฉ์€ **FastAPI**๋ฅผ ๋งŒ๋“ค๊ธฐ
* [https://github.com/tiangolo/full-stack-flask-couchbase](https://github.com/tiangolo/full-stack-flask-couchbase)
* [https://github.com/tiangolo/full-stack-flask-couchdb](https://github.com/tiangolo/full-stack-flask-couchdb)
๊ทธ๋ฆฌ๊ณ  ์ด ๋™์ผํ•œ full-stack generator๋“ค์ด [**FastAPI** Project Generators](project-generation.md)์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด ๋™์ผํ•œ full-stack generator๋“ค์ด [**FastAPI** ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ๊ธฐ](project-generation.md)์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
Flask-apispec์€ Marshmallow์™€ ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
serialization๊ณผ validation์„ ์ •์˜ํ•˜๋Š” ๋™์ผํ•œ ์ฝ”๋“œ๋กœ๋ถ€ํ„ฐ OpenAPI schema๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๊ธฐ.
@ -251,7 +251,7 @@ Angular 2์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ์˜์กด์„ฑ ์ฃผ์ž… ์‹œ์Šคํ…œ์ด ํ†ตํ•ฉ๋˜์–ด ์žˆ
์ค‘์ฒฉ ๋ชจ๋ธ์„ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์š”์ฒญ์˜ JSON body๊ฐ€ ๋‚ด๋ถ€ ํ•„๋“œ๋ฅผ ๊ฐ€์ง„ JSON ๊ฐ์ฒด์ด๊ณ  ๊ทธ ๋‚ด๋ถ€ ํ•„๋“œ๋“ค์ด ๋‹ค์‹œ ์ค‘์ฒฉ๋œ JSON ๊ฐ์ฒด์ธ ๊ฒฝ์šฐ, ์ œ๋Œ€๋กœ ๋ฌธ์„œํ™”ํ•˜๊ณ  ๊ฒ€์ฆํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
Python ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด ๋›ฐ์–ด๋‚œ ์—๋””ํ„ฐ ์ง€์›์„ ์ œ๊ณตํ•˜๊ธฐ.
@ -271,7 +271,7 @@ Python ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด ๋›ฐ์–ด๋‚œ ์—๋””ํ„ฐ ์ง€์›์„ ์ œ๊ณตํ•˜๊ธฐ.
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
๋ฏธ์นœ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ.
@ -287,7 +287,7 @@ Falcon์€ ๋˜ ๋‹ค๋ฅธ ๊ณ ์„ฑ๋Šฅ Python framework๋กœ, ์ตœ์†Œํ•œ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ
๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ, serialization, ๋ฌธ์„œํ™”๋Š” ์ž๋™์œผ๋กœ ๋˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ๋กœ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” Hug์ฒ˜๋Ÿผ Falcon ์œ„์— framework๋ฅผ ์–น์–ด ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. request ๊ฐ์ฒด ํ•˜๋‚˜์™€ response ๊ฐ์ฒด ํ•˜๋‚˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›๋Š” Falcon์˜ ์„ค๊ณ„์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ ๋‹ค๋ฅธ framework์—์„œ๋„ ๊ฐ™์€ ๊ตฌ๋ถ„์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
ํ›Œ๋ฅญํ•œ ์„ฑ๋Šฅ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ.
@ -313,7 +313,7 @@ Pydantic ๊ฐ™์€ ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ/seria
Route๋Š” ํ•œ ๊ณณ์—์„œ ์„ ์–ธํ•˜๊ณ , ๋‹ค๋ฅธ ๊ณณ์— ์„ ์–ธ๋œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์—”๋“œํฌ์ธํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜ ๋ฐ”๋กœ ์œ„์— ๋‘˜ ์ˆ˜ ์žˆ๋Š” decorator๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ ). ์ด๋Š” Flask(๋ฐ Starlette)๋ณด๋‹ค๋Š” Django ๋ฐฉ์‹์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ๊ฒƒ๋“ค์„ ๋ถ„๋ฆฌํ•ด ๋†“์Šต๋‹ˆ๋‹ค.
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
๋ชจ๋ธ ์†์„ฑ์˜ "default" ๊ฐ’์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๊ฒ€์ฆ์„ ์ •์˜ํ•˜๊ธฐ. ์ด๋Š” ์—๋””ํ„ฐ ์ง€์›์„ ๊ฐœ์„ ํ•˜๋ฉฐ, ์ด์ „์—๋Š” Pydantic์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
@ -335,13 +335,13 @@ OpenAPI๋‚˜ JSON Schema ๊ฐ™์€ ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—
๋™๊ธฐ์‹ Python ์›น framework์˜ ์ด์ „ ํ‘œ์ค€(WSGI) ๊ธฐ๋ฐ˜์ด์–ด์„œ Websockets์™€ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ, ์„ฑ๋Šฅ์€ ์—ฌ์ „ํžˆ ๋†’์Šต๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
Hug๋Š” Timothy Crosley๊ฐ€ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Python ํŒŒ์ผ์—์„œ import๋ฅผ ์ž๋™์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ›Œ๋ฅญํ•œ ๋„๊ตฌ์ธ [`isort`](https://github.com/timothycrosley/isort)์˜ ์ œ์ž‘์ž์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ์•„์ด๋””์–ด๋“ค
/// tip | ํŒ
Hug๋Š” APIStar์˜ ์ผ๋ถ€์— ์˜๊ฐ์„ ์ฃผ์—ˆ๊ณ , ์ €๋Š” APIStar์™€ ํ•จ๊ป˜ Hug๋ฅผ ๊ฐ€์žฅ ์œ ๋งํ•œ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜๋กœ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
@ -375,7 +375,7 @@ Body schema ์ •์˜๋Š” Pydantic์ฒ˜๋Ÿผ ๋™์ผํ•œ Python type hints๋ฅผ ์‚ฌ์šฉํ•˜์ง€
์ด์ œ APIStar๋Š” web framework๊ฐ€ ์•„๋‹ˆ๋ผ OpenAPI ์‚ฌ์–‘์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
APIStar๋Š” Tom Christie๊ฐ€ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ๋งŒ๋“  ์‚ฌ๋žŒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค:
@ -385,7 +385,7 @@ APIStar๋Š” Tom Christie๊ฐ€ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ๋งŒ๋“  ์‚ฌ๋žŒ๊ณผ ๋™์ผ
///
/// check | **FastAPI**์— ์˜๊ฐ์„ ์ค€ ๊ฒƒ
/// tip | ํŒ
์กด์žฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ.
@ -409,7 +409,7 @@ Pydantic์€ Python type hints๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ, serialization,
Marshmallow์™€ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ benchmark์—์„œ Marshmallow๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋™์ผํ•œ Python type hints๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฏ€๋กœ ์—๋””ํ„ฐ ์ง€์›๋„ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.
/// check | **FastAPI**๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ 
/// tip | ํŒ
๋ชจ๋“  ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ, ๋ฐ์ดํ„ฐ serialization, ์ž๋™ ๋ชจ๋ธ ๋ฌธ์„œํ™”(JSON Schema ๊ธฐ๋ฐ˜)๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ.
@ -452,7 +452,7 @@ ASGI๋Š” Django ์ฝ”์–ด ํŒ€ ๋ฉค๋ฒ„๋“ค์ด ๊ฐœ๋ฐœ ์ค‘์ธ ์ƒˆ๋กœ์šด "ํ‘œ์ค€"์ž…๋‹ˆ๋‹ค
///
/// check | **FastAPI**๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ 
/// tip | ํŒ
ํ•ต์‹ฌ ์›น ๋ถ€๋ถ„์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๊ธฐ. ๊ทธ ์œ„์— ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ.
@ -470,7 +470,7 @@ web framework๊ฐ€ ์•„๋‹ˆ๋ผ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ routing
Starlette์™€ **FastAPI**์—์„œ ๊ถŒ์žฅํ•˜๋Š” ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.
/// check | **FastAPI**๊ฐ€ ์ด๋ฅผ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ์‹
/// tip | ํŒ
**FastAPI** ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์š” ์›น ์„œ๋ฒ„.

4
docs/ko/docs/async.md

@ -139,7 +139,7 @@ def results():
<img src="/img/async/concurrent-burgers/concurrent-burgers-07.png" class="illustration">
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
์•„๋ฆ„๋‹ค์šด ์ผ๋Ÿฌ์ŠคํŠธ: [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). ๐ŸŽจ
@ -205,7 +205,7 @@ def results():
๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ์นด์šดํ„ฐ ์•ž์—์„œ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋ฐ ๐Ÿ•™ ์ผ๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€ํ™”ํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ๊ฑธ ์‹œ๊ฐ„์€ ๋งŽ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ž
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
์•„๋ฆ„๋‹ค์šด ์ผ๋Ÿฌ์ŠคํŠธ: [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). ๐ŸŽจ

10
docs/ko/docs/fastapi-cli.md

@ -95,7 +95,7 @@ entrypoint = "backend.main:app"
from backend.main import app
```
### ๊ฒฝ๋กœ์™€ ํ•จ๊ป˜ `fastapi dev` { #fastapi-dev-with-path }
### ๊ฒฝ๋กœ ๋˜๋Š” `--entrypoint` CLI ์˜ต์…˜๊ณผ ํ•จ๊ป˜ `fastapi dev` { #fastapi-dev-with-path-or-with-entrypoint-cli-option }
`fastapi dev` ๋ช…๋ น์–ด์— ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๊ทธ๋Ÿฌ๋ฉด ์‚ฌ์šฉํ•  FastAPI ์•ฑ ๊ฐ์ฒด๋ฅผ ์ถ”์ •ํ•ฉ๋‹ˆ๋‹ค:
@ -103,7 +103,13 @@ from backend.main import app
$ fastapi dev main.py
```
ํ•˜์ง€๋งŒ ๋งค๋ฒˆ `fastapi` ๋ช…๋ น์–ด๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋˜๋Š”, `fastapi dev` ๋ช…๋ น์–ด์— `--entrypoint` ์˜ต์…˜์„ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:
```console
$ fastapi dev --entrypoint main:app
```
ํ•˜์ง€๋งŒ ๋งค๋ฒˆ `fastapi` ๋ช…๋ น์–ด๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฝ๋กœ\entrypoint๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ [VS Code ํ™•์žฅ](editor-support.md)์ด๋‚˜ [FastAPI Cloud](https://fastapicloud.com) ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ์—์„œ๋Š” ์ด๋ฅผ ์ฐพ์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ, `pyproject.toml`์˜ `entrypoint`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

2
docs/ko/docs/features.md

@ -63,7 +63,7 @@ second_user_data = {
my_second_user: User = User(**second_user_data)
```
/// info | ์ •๋ณด
/// note
`**second_user_data`๋Š” ๋‹ค์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค:

243
docs/ko/docs/help-fastapi.md

@ -1,229 +1,70 @@
# FastAPI ์ง€์› - ๋„์›€ ๋ฐ›๊ธฐ { #help-fastapi-get-help }
# ๋„์›€ { #help }
**FastAPI** ๊ฐ€ ๋งˆ์Œ์— ๋“œ์‹œ๋‚˜์š”?
FastAPI๋ฅผ ๋•๊ฑฐ๋‚˜ FastAPI์— ๋Œ€ํ•œ ๋„์›€์„ ๋ฐ›๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”?
FastAPI, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž, ๊ฐœ๋ฐœ์ž๋ฅผ ์‘์›ํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”?
ํ˜น์€ **FastAPI** ์— ๋Œ€ํ•ด ๋„์›€์ด ํ•„์š”ํ•˜์‹ ๊ฐ€์š”?
์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‘์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ๋งŒ์œผ๋กœ).
๋˜ํ•œ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ๋ช‡ ๊ฐ€์ง€ ์žˆ์Šต๋‹ˆ๋‹ค.
์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋•๊ณ  ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
## ๋‰ด์Šค๋ ˆํ„ฐ ๊ตฌ๋… { #subscribe-to-the-newsletter }
(์ž์ฃผ ๋ฐœ์†ก๋˜์ง€ ์•Š๋Š”) [**FastAPI and friends** ๋‰ด์Šค๋ ˆํ„ฐ](newsletter.md)๋ฅผ ๊ตฌ๋…ํ•˜์—ฌ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
(์ž์ฃผ ๋ฐœ์†ก๋˜์ง€ ์•Š๋Š”) [**FastAPI and friends** ๋‰ด์Šค๋ ˆํ„ฐ](newsletter.md)๋ฅผ ๊ตฌ๋…ํ•˜์—ฌ ๋‹ค์Œ ์†Œ์‹์„ ๋ฐ›์•„๋ณด์„ธ์š”:
* FastAPI and friends์— ๋Œ€ํ•œ ๋‰ด์Šค ๐Ÿš€
* FastAPI and friends ๋‰ด์Šค ๐Ÿš€
* ๊ฐ€์ด๋“œ ๐Ÿ“
* ๊ธฐ๋Šฅ โœจ
* ํš๊ธฐ์ ์ธ ๋ณ€ํ™” ๐Ÿšจ
* ํ˜ธํ™˜์„ฑ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€๊ฒฝ ๐Ÿšจ
* ํŒ๊ณผ ์š”๋ น โœ…
## X(Twitter)์—์„œ FastAPI ํŒ”๋กœ์šฐํ•˜๊ธฐ { #follow-fastapi-on-x-twitter }
## ์˜จ๋ผ์ธ์—์„œ FastAPI ํŒ”๋กœ์šฐํ•˜๊ธฐ { #follow-fastapi-online }
[**X (Twitter)**์˜ @fastapi๋ฅผ ํŒ”๋กœ์šฐ](https://x.com/fastapi)ํ•˜์—ฌ **FastAPI** ์— ๋Œ€ํ•œ ์ตœ์‹  ๋‰ด์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿฆ
์—ฌ๋Ÿฌ ๊ณณ์—์„œ **FastAPI**๋ฅผ ํŒ”๋กœ์šฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
* [**X / Twitter**์˜ @fastapi](https://x.com/fastapi)
* [**Bluesky**์˜ @fastapi.tiangolo.com](https://bsky.app/profile/fastapi.tiangolo.com)
* [**LinkedIn**์˜ FastAPI](https://www.linkedin.com/company/fastapi/)
## GitHub์—์„œ **FastAPI**์— Star ์ฃผ๊ธฐ { #star-fastapi-in-github }
GitHub์—์„œ FastAPI์— "star"๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ star ๋ฒ„ํŠผ์„ ํด๋ฆญ): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). โญ๏ธ
GitHub์—์„œ FastAPI์— "star"๋ฅผ ๋ถ™์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ star ๋ฒ„ํŠผ ํด๋ฆญ): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). โญ๏ธ
์Šคํƒ€๋ฅผ ๋Š˜๋ฆผ์œผ๋กœ์จ, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์ข€ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์œ ์šฉํ•œ ๊ฒƒ์ž„์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์Šคํƒ€๋ฅผ ๋Š˜๋ฆฌ๋ฉด, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ  ์ด๋ฏธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์œ ์šฉํ–ˆ์Œ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
## ๋ฆด๋ฆฌ์ฆˆ ํ™•์ธ์„ ์œ„ํ•ด GitHub ์ €์žฅ์†Œ ๋ณด๊ธฐ { #watch-the-github-repository-for-releases }
## ๋ฆด๋ฆฌ์Šค ํ™•์ธ์„ ์œ„ํ•ด GitHub ์ €์žฅ์†Œ ๋ณด๊ธฐ { #watch-the-github-repository-for-releases }
GitHub์—์„œ FastAPI๋ฅผ "watch"ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ "watch" ๋ฒ„ํŠผ์„ ํด๋ฆญ): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). ๐Ÿ‘€
GitHub์—์„œ FastAPI๋ฅผ "watch"ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ "watch" ๋ฒ„ํŠผ ํด๋ฆญ): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). ๐Ÿ‘€
์—ฌ๊ธฐ์„œ "Releases only"๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒํ•˜๋ฉด, **FastAPI** ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„ ๋“ฑ์˜ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์ฆˆ(์ƒˆ ๋ฒ„์ „)๊ฐ€ ์žˆ์„ ๋•Œ๋งˆ๋‹ค (์ด๋ฉ”์ผ) ํ†ต์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
## ๊ฐœ๋ฐœ์ž์™€์˜ ์—ฐ๊ฒฐ { #connect-with-the-author }
๊ฐœ๋ฐœ์ž(์ž‘์„ฑ์ž)์ธ [์ €(Sebastiรกn Ramรญrez / `tiangolo`)](https://tiangolo.com)์™€ ์—ฐ๋ฝ์„ ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ๋ถ„์€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
* [**GitHub**์—์„œ ํŒ”๋กœ์šฐํ•˜๊ธฐ](https://github.com/tiangolo).
* ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋„์›€์ด ๋  ์ €์˜ ๋‹ค๋ฅธ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
* ์ƒˆ๋กœ์šด ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์„ ๋•Œ ํ™•์ธํ•˜๋ ค๋ฉด ํŒ”๋กœ์šฐ ํ•˜์‹ญ์‹œ์˜ค.
* [**X (Twitter)**](https://x.com/tiangolo) ๋˜๋Š” [Mastodon](https://fosstodon.org/@tiangolo)์—์„œ ํŒ”๋กœ์šฐํ•˜๊ธฐ.
* FastAPI์˜ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š” (๊ทธ๊ฒƒ์„ ๋“ฃ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค).
* ๋ฐœํ‘œ๋‚˜ ์ƒˆ๋กœ์šด ํˆด ์ถœ์‹œ ์†Œ์‹์„ ๋ฐ›์•„๋ณด์‹ญ์‹œ์˜ค.
* [X(Twitter)์—์„œ @fastapi๋ฅผ ํŒ”๋กœ์šฐ](https://x.com/fastapi) (๋ณ„๋„ ๊ณ„์ •์—์„œ) ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* [**LinkedIn**์—์„œ ํŒ”๋กœ์šฐํ•˜๊ธฐ](https://www.linkedin.com/in/tiangolo/).
* ์ƒˆ๋กœ์šด ํˆด์˜ ๋ฐœํ‘œ๋‚˜ ์ถœ์‹œ ์†Œ์‹์„ ๋ฐ›์•„๋ณด์‹ญ์‹œ์˜ค (๋‹จ, X (Twitter)๋ฅผ ๋” ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค ๐Ÿคทโ€โ™‚).
* [**Dev.to**](https://dev.to/tiangolo) ๋˜๋Š” [**Medium**](https://medium.com/@tiangolo)์—์„œ ์ œ๊ฐ€ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์„ ์ฝ์–ด ๋ณด์‹ญ์‹œ์˜ค (๋˜๋Š” ํŒ”๋กœ์šฐ).
* ๋‹ค๋ฅธ ์•„์ด๋””์–ด์™€ ๊ธฐ์‚ฌ๋“ค์„ ์ฝ๊ณ , ์ œ๊ฐ€ ๋งŒ๋“ค์–ด์™”๋˜ ํˆด์— ๋Œ€ํ•ด์„œ๋„ ์ฝ์œผ์‹ญ์‹œ์˜ค.
* ์ƒˆ๋กœ์šด ๋‚ด์šฉ์„ ๊ฒŒ์‹œํ•  ๋•Œ ์ฝ๊ธฐ ์œ„ํ•ด ํŒ”๋กœ์šฐ ํ•˜์‹ญ์‹œ์˜ค.
## **FastAPI**์— ๋Œ€ํ•ด ํŠธ์œ—ํ•˜๊ธฐ { #tweet-about-fastapi }
[**FastAPI**์— ๋Œ€ํ•ด ํŠธ์œ—](https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi) ํ•˜๊ณ  ์ €์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ FastAPI๊ฐ€ ๋งˆ์Œ์— ๋“œ๋Š” ์ด์œ ๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”. ๐ŸŽ‰
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด **FastAPI**์˜ ๋ฒ„๊ทธ ์ˆ˜์ •๊ณผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ ์ƒˆ ๋ฆด๋ฆฌ์Šค(์ƒˆ ๋ฒ„์ „)๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค (์ด๋ฉ”์ผ๋กœ) ์•Œ๋ฆผ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
**FastAPI**๊ฐ€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€, ์–ด๋–ค ์ ์ด ๋งˆ์Œ์— ๋“ค์—ˆ๋Š”์ง€, ์–ด๋–ค ํ”„๋กœ์ ํŠธ/ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋“ฑ์— ๋Œ€ํ•ด ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
## ๊ฐœ๋ฐœ์ž ํŒ”๋กœ์šฐํ•˜๊ธฐ { #follow-the-author }
## FastAPI์— ํˆฌํ‘œํ•˜๊ธฐ { #vote-for-fastapi }
FastAPI์™€ friends์— ๋Œ€ํ•œ ์†Œ์‹์„ ๊ณต์œ ํ•  ๋•Œ ์•Œ๋ฆผ์„ ๋ฐ›์œผ๋ ค๋ฉด, ๊ฐœ๋ฐœ์ž์ธ [์ €(Sebastiรกn Ramรญrez / `tiangolo`)](https://tiangolo.com)๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ํŒ”๋กœ์šฐํ•˜์„ธ์š”:
* [Slant์—์„œ **FastAPI** ์— ๋Œ€ํ•ด ํˆฌํ‘œํ•˜์‹ญ์‹œ์˜ค](https://www.slant.co/options/34241/~fastapi-review).
* [AlternativeTo์—์„œ **FastAPI** ์— ๋Œ€ํ•ด ํˆฌํ‘œํ•˜์‹ญ์‹œ์˜ค](https://alternativeto.net/software/fastapi/about/).
* [StackShare์—์„œ **FastAPI**๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ‘œ์‹œํ•˜์„ธ์š”](https://stackshare.io/pypi-fastapi).
* [**GitHub**์˜ @tiangolo](https://github.com/tiangolo).
* [**X (Twitter)**์˜ @tiangolo](https://x.com/tiangolo)
* [**Bluesky**์˜ @tiangolo.com](https://bsky.app/profile/tiangolo.com)
* [**LinkedIn**์˜ @tiangolo](https://www.linkedin.com/in/tiangolo/).
## GitHub์—์„œ ์งˆ๋ฌธ์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ๋•๊ธฐ { #help-others-with-questions-in-github }
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
* [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered)
* [GitHub Issues](https://github.com/fastapi/fastapi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+)
๋งŽ์€ ๊ฒฝ์šฐ, ์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฏธ ๊ทธ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์•Œ๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค“
๋งŒ์•ฝ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ์„ ๋„์™€์ค€๋‹ค๋ฉด, ๊ณต์‹์ ์ธ [FastAPI ์ „๋ฌธ๊ฐ€](fastapi-people.md#fastapi-experts)๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐ŸŽ‰
๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€: ์นœ์ ˆํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ขŒ์ ˆ๊ฐ์„ ์•ˆ๊ณ  ์˜ค๋ฉฐ, ๋งŽ์€ ๊ฒฝ์šฐ ์ตœ์„ ์˜ ๋ฐฉ์‹์œผ๋กœ ์งˆ๋ฌธํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ตœ๋Œ€ํ•œ ์นœ์ ˆํ•˜๊ฒŒ ๋Œ€ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์„ธ์š”. ๐Ÿค—
**FastAPI** ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ชฉํ‘œ๋Š” ์นœ์ ˆํ•˜๊ณ  ํ™˜์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์—, ๊ดด๋กญํž˜์ด๋‚˜ ๋ฌด๋ก€ํ•œ ํ–‰๋™์„ ๋ฐ›์•„๋“ค์ด์ง€ ๋งˆ์„ธ์š”. ์šฐ๋ฆฌ๋Š” ์„œ๋กœ๋ฅผ ๋Œ๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
---
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ(๋””์Šค์ปค์…˜ ๋˜๋Š” ์ด์Šˆ์—์„œ) ํ•ด๊ฒฐ์„ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
### ์งˆ๋ฌธ ์ดํ•ดํ•˜๊ธฐ { #understand-the-question }
* ์งˆ๋ฌธํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ฐ€์ง„ **๋ชฉ์ **๊ณผ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
* ๊ทธ๋Ÿฐ ๋‹ค์Œ ์งˆ๋ฌธ(๋Œ€๋ถ€๋ถ„์€ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค)์ด **๋ช…ํ™•**ํ•œ์ง€ ํ™•์ธํ•˜์„ธ์š”.
[GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered)์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ์— ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* ๋งŽ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์ƒํ•œ ํ•ด๊ฒฐ์ฑ…์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ํ•˜์ง€๋งŒ, ๋” **์ข‹์€** ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์™€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๋ฉด ๋” ๋‚˜์€ **๋Œ€์•ˆ์ ์ธ ํ•ด๊ฒฐ์ฑ…**์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋งŽ์€ ๊ฒฝ์šฐ, ์ด๋ฏธ ๊ทธ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์•Œ๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค“
* ์งˆ๋ฌธ์„ ์ดํ•ดํ•  ์ˆ˜ ์—†๋‹ค๋ฉด, ๋” **์ž์„ธํ•œ ์ •๋ณด**๋ฅผ ์š”์ฒญํ•˜์„ธ์š”.
๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ์„ ๋„์™€์ฃผ๋ฉด, ๊ณต์‹ [FastAPI ์ „๋ฌธ๊ฐ€](fastapi-people.md#fastapi-experts)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๐ŸŽ‰
### ๋ฌธ์ œ ์žฌํ˜„ํ•˜๊ธฐ { #reproduce-the-problem }
๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€: ์นœ์ ˆํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿค—
๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์งˆ๋ฌธ์—์„œ๋Š” ์งˆ๋ฌธ์ž์˜ **์›๋ณธ ์ฝ”๋“œ**์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
### ๋„์›€ ์ฃผ๋Š” ๋ฐฉ๋ฒ• { #how-to-help }
๋งŽ์€ ๊ฒฝ์šฐ, ์ฝ”๋“œ์˜ ์ผ๋ถ€๋งŒ ๋ณต์‚ฌํ•ด์„œ ์˜ฌ๋ฆฌ์ง€๋งŒ, ๊ทธ๊ฒƒ๋งŒ์œผ๋กœ๋Š” **๋ฌธ์ œ๋ฅผ ์žฌํ˜„**ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
* ์งˆ๋ฌธ์ž์—๊ฒŒ [์ตœ์†Œํ•œ์˜ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์˜ˆ์ œ](https://stackoverflow.com/help/minimal-reproducible-example)๋ฅผ ์ œ๊ณตํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ **๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ**ํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ณ , ์งˆ๋ฌธ์ž๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์˜ค๋ฅ˜๋‚˜ ๋™์ž‘์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* ๋„ˆ๊ทธ๋Ÿฌ์šด ๋งˆ์Œ์ด ๋“ ๋‹ค๋ฉด, ๋ฌธ์ œ ์„ค๋ช…๋งŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง์ ‘ **์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด**๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋จผ์ € ๋ฌธ์ œ๋ฅผ ๋ช…ํ™•ํžˆ ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.
### ํ•ด๊ฒฐ์ฑ… ์ œ์•ˆํ•˜๊ธฐ { #suggest-solutions }
* ์งˆ๋ฌธ์„ ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•œ ํ›„์—๋Š” ๊ฐ€๋Šฅํ•œ **๋‹ต๋ณ€**์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* ๋งŽ์€ ๊ฒฝ์šฐ, ์งˆ๋ฌธ์ž์˜ **๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋‚˜ ์‚ฌ์šฉ ์‚ฌ๋ก€**๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์ด ์‹œ๋„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋” ๋‚˜์€ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
### ์ข…๋ฃŒ ์š”์ฒญํ•˜๊ธฐ { #ask-to-close }
์งˆ๋ฌธ์ž๊ฐ€ ๋‹ต๋ณ€์„ ํ•˜๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค, **์—ฌ๋Ÿฌ๋ถ„์€ ์˜์›…์ž…๋‹ˆ๋‹ค**! ๐Ÿฆธ
* ์ด์ œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค๋ฉด, ์งˆ๋ฌธ์ž์—๊ฒŒ ๋‹ค์Œ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* GitHub Discussions์—์„œ: ๋Œ“๊ธ€์„ **๋‹ต๋ณ€**์œผ๋กœ ํ‘œ์‹œํ•˜๋„๋ก ์š”์ฒญํ•˜์„ธ์š”.
* GitHub Issues์—์„œ: ์ด์Šˆ๋ฅผ **๋‹ซ์•„๋‹ฌ๋ผ๊ณ ** ์š”์ฒญํ•˜์„ธ์š”.
## GitHub ์ €์žฅ์†Œ ๋ณด๊ธฐ { #watch-the-github-repository }
GitHub์—์„œ FastAPI๋ฅผ "watch"ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ "watch" ๋ฒ„ํŠผ์„ ํด๋ฆญ): [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi). ๐Ÿ‘€
"Releases only" ๋Œ€์‹  "Watching"์„ ์„ ํƒํ•˜๋ฉด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ƒˆ ์ด์Šˆ๋‚˜ ์งˆ๋ฌธ์„ ๋งŒ๋“ค ๋•Œ ์•Œ๋ฆผ์„ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒˆ ์ด์Šˆ, ๋””์Šค์ปค์…˜, PR ๋“ฑ๋งŒ ์•Œ๋ฆผ์„ ๋ฐ›๋„๋ก ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋Ÿฐ ์งˆ๋ฌธ๋“ค์„ ํ•ด๊ฒฐํ•˜๋„๋ก ๋„์™€์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ ์žˆ๋Š” [๋„์›€ ์ฃผ๋Š” ๋ฐฉ๋ฒ• ๊ฐ€์ด๋“œ](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github)๋ฅผ ๋”ฐ๋ผ ์ฃผ์„ธ์š”.
## ์งˆ๋ฌธํ•˜๊ธฐ { #ask-questions }
GitHub ์ €์žฅ์†Œ์—์„œ [์ƒˆ ์งˆ๋ฌธ์„ ์ƒ์„ฑ](https://github.com/fastapi/fastapi/discussions/new?category=questions)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
* **์งˆ๋ฌธ**์„ ํ•˜๊ฑฐ๋‚˜ **๋ฌธ์ œ**์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค.
* ์ƒˆ๋กœ์šด **๊ธฐ๋Šฅ**์„ ์ œ์•ˆ ํ•ฉ๋‹ˆ๋‹ค.
**์ฐธ๊ณ **: ๋งŒ์•ฝ ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๋ฉด, ์ €๋Š” ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ๋„์™€๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜‰
## Pull Request ๋ฆฌ๋ทฐํ•˜๊ธฐ { #review-pull-requests }
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋งŒ๋“  pull request๋ฅผ ๋ฆฌ๋ทฐํ•˜๋Š” ๋ฐ ์ €๋ฅผ ๋„์™€์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์‹œ ํ•œ๋ฒˆ ๋งํ•˜์ง€๋งŒ, ์ตœ๋Œ€ํ•œ ์นœ์ ˆํ•˜๊ฒŒ ๋ฆฌ๋ทฐํ•ด ์ฃผ์„ธ์š”. ๐Ÿค—
---
GitHub ์ €์žฅ์†Œ์—์„œ [์ƒˆ ์งˆ๋ฌธ์„ ์ƒ์„ฑ](https://github.com/fastapi/fastapi/discussions/new?category=questions)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด:
Pull request๋ฅผ ๋ฆฌ๋ทฐํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ๊ณผ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
### ๋ฌธ์ œ ์ดํ•ดํ•˜๊ธฐ { #understand-the-problem }
* ๋จผ์ €, ํ•ด๋‹น pull request๊ฐ€ ํ•ด๊ฒฐํ•˜๋ ค๋Š” **๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”์ง€** ํ™•์ธํ•˜์„ธ์š”. GitHub Discussion ๋˜๋Š” ์ด์Šˆ์—์„œ ๋” ๊ธด ๋…ผ์˜๊ฐ€ ์žˆ์—ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
* Pull request๊ฐ€ ์‹ค์ œ๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ๋„ ํฝ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ **๋‹ค๋ฅธ ๋ฐฉ์‹**์œผ๋กœ ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ๊ทธ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜๊ฑฐ๋‚˜ ์งˆ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
### ์Šคํƒ€์ผ์— ๋„ˆ๋ฌด ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ธฐ { #dont-worry-about-style }
* ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์Šคํƒ€์ผ ๊ฐ™์€ ๊ฒƒ์— ๋„ˆ๋ฌด ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”. ์ €๋Š” ์ปค๋ฐ‹์„ ์ˆ˜๋™์œผ๋กœ ์กฐ์ •ํ•ด์„œ squash and merge๋ฅผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
* ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ทœ์น™๋„ ๊ฑฑ์ •ํ•  ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ž๋™ํ™”๋œ ๋„๊ตฌ๋“ค์ด ์ด๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์Šคํƒ€์ผ์ด๋‚˜ ์ผ๊ด€์„ฑ ๊ด€๋ จ ํ•„์š” ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด, ์ œ๊ฐ€ ์ง์ ‘ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์œ„์— ์ปค๋ฐ‹์œผ๋กœ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
### ์ฝ”๋“œ ํ™•์ธํ•˜๊ธฐ { #check-the-code }
* ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ฝ์–ด์„œ ๋ง์ด ๋˜๋Š”์ง€ ๋ณด๊ณ , **๋กœ์ปฌ์—์„œ ์‹คํ–‰**ํ•ด ์‹ค์ œ๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
* ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ๋ ‡๊ฒŒ ํ–ˆ๋‹ค๊ณ  **๋Œ“๊ธ€**๋กœ ๋‚จ๊ฒจ ์ฃผ์„ธ์š”. ๊ทธ๋ž˜์•ผ ์ œ๊ฐ€ ์ •๋ง๋กœ ํ™•์ธํ–ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
๋ถˆํ–‰ํžˆ๋„, ์ œ๊ฐ€ ๋‹จ์ˆœํžˆ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šน์ธ๋งŒ์œผ๋กœ PR์„ ์‹ ๋ขฐํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ ๋ฒˆ, ์„ค๋ช…์ด ๊ทธ๋Ÿด๋“ฏํ•ด์„œ์ธ์ง€ 3๊ฐœ, 5๊ฐœ ์ด์ƒ์˜ ์Šน์ธ์ด ๋‹ฌ๋ฆฐ PR์ด ์žˆ์—ˆ์ง€๋งŒ, ์ œ๊ฐ€ ํ™•์ธํ•ด๋ณด๋ฉด ์‹ค์ œ๋กœ๋Š” ๊นจ์ ธ ์žˆ๊ฑฐ๋‚˜, ๋ฒ„๊ทธ๊ฐ€ ์žˆ๊ฑฐ๋‚˜, ์ฃผ์žฅํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜…
๋”ฐ๋ผ์„œ, ์ •๋ง๋กœ ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ์‹คํ–‰ํ•œ ๋’ค, ๋Œ“๊ธ€๋กœ ํ™•์ธ ๋‚ด์šฉ์„ ๋‚จ๊ฒจ ์ฃผ๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿค“
///
* PR์„ ๋” ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋„ˆ๋ฌด ๊นŒ๋‹ค๋กœ์šธ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ฃผ๊ด€์ ์ธ ๊ฒฌํ•ด๊ฐ€ ๋งŽ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ์ €๋„ ์ œ ๊ฒฌํ•ด๊ฐ€ ์žˆ์„ ๊ฑฐ์˜ˆ์š” ๐Ÿ™ˆ). ๋”ฐ๋ผ์„œ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„์— ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
### ํ…Œ์ŠคํŠธ { #tests }
* PR์— **ํ…Œ์ŠคํŠธ**๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์„ธ์š”.
* PR ์ „์—๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ **์‹คํŒจ**ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๐Ÿšจ
* ๊ทธ๋Ÿฐ ๋‹ค์Œ PR ํ›„์—๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ **ํ†ต๊ณผ**ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. โœ…
* ๋งŽ์€ PR์—๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋„๋ก **์ƒ๊ธฐ**์‹œ์ผœ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ์ง์ ‘ ํ…Œ์ŠคํŠธ๋ฅผ **์ œ์•ˆ**ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์ด ๋“œ๋Š” ๊ฒƒ๋“ค ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ๊ทธ ๋ถ€๋ถ„์„ ๋งŽ์ด ๋„์™€์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* ๊ทธ๋ฆฌ๊ณ  ์‹œ๋„ํ•œ ๋‚ด์šฉ์„ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ๊ทธ๋Ÿฌ๋ฉด ์ œ๊ฐ€ ํ™•์ธํ–ˆ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿค“
## Pull Request ๋งŒ๋“ค๊ธฐ { #create-a-pull-request }
Pull Requests๋ฅผ ์ด์šฉํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ์— [๊ธฐ์—ฌ](contributing.md)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:
* ๋ฌธ์„œ์—์„œ ๋ฐœ๊ฒฌํ•œ ์˜คํƒ€๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ.
* FastAPI์— ๋Œ€ํ•œ ๊ธ€, ๋น„๋””์˜ค, ํŒŸ์บ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ๊ฑฐ๋‚˜ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋ฉด [์ด ํŒŒ์ผ์„ ํŽธ์ง‘](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml)ํ•˜์—ฌ ๊ณต์œ ํ•  ๋•Œ.
* ํ•ด๋‹น ์„น์…˜์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
* ์—ฌ๋Ÿฌ๋ถ„์˜ ์–ธ์–ด๋กœ [๋ฌธ์„œ ๋ฒˆ์—ญ์—](contributing.md#translations) ๋„์›€์„ ์ค„ ๋•Œ.
* ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•œ ๋ฒˆ์—ญ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ๋„ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* ์ƒˆ๋กœ์šด ๋ฌธ์„œ ์„น์…˜์„ ์ œ์•ˆํ•  ๋•Œ.
* ๊ธฐ์กด ์ด์Šˆ/๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ.
* ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
* ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ.
* ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
* ๊ด€๋ จ ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
## FastAPI ์œ ์ง€ ๊ด€๋ฆฌ ๋•๊ธฐ { #help-maintain-fastapi }
**FastAPI** ์œ ์ง€๋ฅผ ๋„์™€์ฃผ์„ธ์š”! ๐Ÿค“
ํ•  ์ผ์ด ๋งŽ๊ณ , ๊ทธ์ค‘ ๋Œ€๋ถ€๋ถ„์€ **์—ฌ๋Ÿฌ๋ถ„**์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์š” ์ž‘์—…์€:
* [GitHub์—์„œ ์งˆ๋ฌธ์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ๋•๊ธฐ](#help-others-with-questions-in-github) (์œ„์˜ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”).
* [Pull Request ๋ฆฌ๋ทฐํ•˜๊ธฐ](#review-pull-requests) (์œ„์˜ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”).
์ด ๋‘ ์ž‘์—…์ด **๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจ**ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด FastAPI๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ์ฃผ์š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.
์ด ์ž‘์—…์„ ๋„์™€์ฃผ์‹ ๋‹ค๋ฉด, **FastAPI ์œ ์ง€๋ฅผ ๋•๋Š” ๊ฒƒ**์ด๋ฉฐ FastAPI๊ฐ€ **๋” ๋น ๋ฅด๊ณ  ๋” ์ž˜ ๋ฐœ์ „ํ•˜๋Š” ๊ฒƒ**์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿš€
* **์งˆ๋ฌธ**์„ ํ•˜๊ฑฐ๋‚˜ **๋ฌธ์ œ**์— ๋Œ€ํ•ด ๋ฌป๊ธฐ
* ์ƒˆ๋กœ์šด **๊ธฐ๋Šฅ** ์ œ์•ˆํ•˜๊ธฐ
## ์ฑ„ํŒ…์— ์ฐธ์—ฌํ•˜๊ธฐ { #join-the-chat }
@ -231,26 +72,16 @@ Pull Requests๋ฅผ ์ด์šฉํ•˜์—ฌ ์†Œ์Šค ์ฝ”๋“œ์— [๊ธฐ์—ฌ](contributing.md)ํ•  ์ˆ˜
/// tip | ํŒ
์งˆ๋ฌธ์€ [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/new?category=questions)์—์„œ ํ•˜์„ธ์š”. [FastAPI Experts](fastapi-people.md#fastapi-experts)๋กœ๋ถ€ํ„ฐ ๋„์›€์„ ๋ฐ›์„ ๊ฐ€๋Šฅ์„ฑ์ด ํ›จ์”ฌ ๋†’์Šต๋‹ˆ๋‹ค.
์งˆ๋ฌธ์€ GitHub Discussions์— ์˜ฌ๋ฆฌ์„ธ์š”. ๋„์›€์„ ๋ฐ›์„ ๊ฐ€๋Šฅ์„ฑ์ด ํ›จ์”ฌ ๋†’์Šต๋‹ˆ๋‹ค.
์ฑ„ํŒ…์€ ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ๋Œ€ํ™”๋ฅผ ์œ„ํ•ด์„œ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.
์ฑ„ํŒ…์€ ์ผ๋ฐ˜์ ์ธ ๋Œ€ํ™”์—๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.
///
### ์งˆ๋ฌธ์„ ์œ„ํ•ด ์ฑ„ํŒ…์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š” { #dont-use-the-chat-for-questions }
์ฑ„ํŒ…์€ ๋” ๋งŽ์€ "์ž์œ ๋กœ์šด ๋Œ€ํ™”"๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋„ˆ๋ฌด ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์ด๋‚˜ ๋‹ตํ•˜๊ธฐ ์–ด๋ ค์šด ์งˆ๋ฌธ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์–ด ๋‹ต๋ณ€์„ ๋ฐ›์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.
GitHub์—์„œ๋Š” ํ…œํ”Œ๋ฆฟ์ด ์˜ฌ๋ฐ”๋ฅธ ์งˆ๋ฌธ์„ ์ž‘์„ฑํ•˜๋„๋ก ์•ˆ๋‚ดํ•˜์—ฌ ๋” ์‰ฝ๊ฒŒ ์ข‹์€ ๋‹ต๋ณ€์„ ์–ป๊ฑฐ๋‚˜, ์งˆ๋ฌธํ•˜๊ธฐ ์ „์— ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  GitHub์—์„œ๋Š” ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆฌ๋”๋ผ๋„ ์ œ๊ฐ€ ํ•ญ์ƒ ๋ชจ๋“  ๊ฒƒ์— ๋‹ตํ•˜๋„๋ก ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์‹œ์Šคํ…œ์—์„œ๋Š” ์ œ๊ฐ€ ๊ฐœ์ธ์ ์œผ๋กœ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๐Ÿ˜…
์ฑ„ํŒ… ์‹œ์Šคํ…œ์—์„œ์˜ ๋Œ€ํ™” ๋˜ํ•œ GitHub๋งŒํผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€์ด ๋Œ€ํ™” ์†์—์„œ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  GitHub์— ์žˆ๋Š” ๊ฒƒ๋งŒ [FastAPI Expert](fastapi-people.md#fastapi-experts)๊ฐ€ ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ธ์ •๋˜๋ฏ€๋กœ, GitHub์—์„œ ๋” ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ฐ›๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค.
๋ฐ˜๋ฉด, ์ฑ„ํŒ… ์‹œ์Šคํ…œ์—๋Š” ์ˆ˜์ฒœ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ, ๊ฑฐ์˜ ํ•ญ์ƒ ๋Œ€ํ™” ์ƒ๋Œ€๋ฅผ ์ฐพ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„
## ๊ฐœ๋ฐœ์ž ์Šคํฐ์„œ ๋˜๊ธฐ { #sponsor-the-author }
์—ฌ๋Ÿฌ๋ถ„์˜ **์ œํ’ˆ/ํšŒ์‚ฌ**๊ฐ€ **FastAPI**์— ์˜์กดํ•˜๊ฑฐ๋‚˜ ๊ด€๋ จ๋˜์–ด ์žˆ๊ณ , FastAPI ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์•Œ๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด [GitHub sponsors](https://github.com/sponsors/tiangolo)๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž(์ €)๋ฅผ ์Šคํฐ์„œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‹ฐ์–ด์— ๋”ฐ๋ผ ๋ฌธ์„œ์— ๋ฐฐ์ง€ ๊ฐ™์€ ์ถ”๊ฐ€ ํ˜œํƒ์„ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๐ŸŽ
์ฑ„ํŒ…์€ ๋” ์ž์œ ๋กœ์šด ๋Œ€ํ™”๋ฅผ ํ—ˆ์šฉํ•˜๋ฏ€๋กœ, ๋„ˆ๋ฌด ์ผ๋ฐ˜์ ์ด๊ฑฐ๋‚˜ ๋‹ต๋ณ€ํ•˜๊ธฐ ์–ด๋ ค์šด ์งˆ๋ฌธ์„ ํ•˜๊ฒŒ ๋˜์–ด ๋‹ต๋ณ€์„ ๋ฐ›์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
---
GitHub์—์„œ๋Š” ํ…œํ”Œ๋ฆฟ์ด ์˜ฌ๋ฐ”๋ฅธ ์งˆ๋ฌธ์„ ์ž‘์„ฑํ•˜๋„๋ก ์•ˆ๋‚ดํ•˜์—ฌ, ๋” ์‰ฝ๊ฒŒ ์ข‹์€ ๋‹ต๋ณ€์„ ๋ฐ›๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด ์งˆ๋ฌธํ•˜๊ธฐ ์ „์— ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿš€
๋˜ํ•œ ์ฑ„ํŒ… ์‹œ์Šคํ…œ์˜ ๋Œ€ํ™”๋Š” GitHub๋งŒํผ ๊ฒ€์ƒ‰์ด ์‰ฝ์ง€ ์•Š์•„, ๋Œ€ํ™” ์†์— ๋ฌปํžˆ๊ณค ํ•ฉ๋‹ˆ๋‹ค.

6
docs/ko/docs/python-types.md

@ -174,7 +174,7 @@ def some_function(data: Any):
{* ../../docs_src/python_types/tutorial006_py310.py hl[1] *}
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
๋Œ€๊ด„ํ˜ธ ์•ˆ์˜ ๋‚ด๋ถ€ ํƒ€์ž…์€ "type parameters"๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
@ -285,7 +285,7 @@ Pydantic ๊ณต์‹ ๋ฌธ์„œ์˜ ์˜ˆ์‹œ:
{* ../../docs_src/python_types/tutorial011_py310.py *}
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
Pydantic์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๋ ค๋ฉด [๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”](https://docs.pydantic.dev/).
@ -343,7 +343,7 @@ Pydantic์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๋ ค๋ฉด [๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”](https://docs.
๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์€ ํ‘œ์ค€ ํŒŒ์ด์ฌ ํƒ€์ž…์„ ํ•œ ๊ณณ์—์„œ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ(๋” ๋งŽ์€ ํด๋ž˜์Šค, ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹ ) **FastAPI**๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์„ ์œ„ํ•ด ๋งŽ์€ ์ผ์„ ํ•ด์ค€๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
์ž์Šต์„œ๋ฅผ ๋ชจ๋‘ ๋๋‚ด๊ณ  ํƒ€์ž…์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ๋Œ์•„์™”๋‹ค๋ฉด, ์ข‹์€ ์ž๋ฃŒ๋กœ [`mypy`์˜ "cheat sheet"](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

12
docs/ko/docs/tutorial/bigger-applications.md

@ -4,7 +4,7 @@
**FastAPI**๋Š” ๋ชจ๋“  ์œ ์—ฐ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํŽธ๋ฆฌํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
Flask๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์…จ๋‹ค๋ฉด, ์ด๋Š” Flask์˜ Blueprints์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
@ -194,7 +194,7 @@ async def read_item(item_id: str):
///
/// check | ํ™•์ธ
/// tip | ํŒ
`prefix`, `tags`, `responses`, `dependencies` ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” (๋‹ค๋ฅธ ๋งŽ์€ ๊ฒฝ์šฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ) ์ฝ”๋“œ ์ค‘๋ณต์„ ํ”ผํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” **FastAPI**์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
@ -339,7 +339,7 @@ from .routers import items, users
from app.routers import items, users
```
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์€ "์ƒ๋Œ€ import"์ž…๋‹ˆ๋‹ค:
@ -382,7 +382,7 @@ from .routers.users import router
{* ../../docs_src/bigger_applications/app_an_py310/main.py hl[10:11] title["app/main.py"] *}
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
`users.router`๋Š” `app/routers/users.py` ํŒŒ์ผ ์•ˆ์˜ `APIRouter`๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
@ -402,7 +402,7 @@ from .routers.users import router
///
/// check | ํ™•์ธ
/// tip | ํŒ
router๋ฅผ ํฌํ•จ(include)ํ•  ๋•Œ ์„ฑ๋Šฅ์„ ๊ฑฑ์ •ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
@ -451,7 +451,7 @@ router๋ฅผ ํฌํ•จ(include)ํ•  ๋•Œ ์„ฑ๋Šฅ์„ ๊ฑฑ์ •ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  `app.include_router()`๋กœ ์ถ”๊ฐ€ํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  *path operations*์™€ ํ•จ๊ป˜ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
/// info | ๋งค์šฐ ๊ธฐ์ˆ ์ ์ธ ์„ธ๋ถ€์‚ฌํ•ญ
/// note | ๋งค์šฐ ๊ธฐ์ˆ ์ ์ธ ์„ธ๋ถ€์‚ฌํ•ญ
**์ฐธ๊ณ **: ์ด๋Š” ๋งค์šฐ ๊ธฐ์ˆ ์ ์ธ ์„ธ๋ถ€์‚ฌํ•ญ์ด๋ผ ์•„๋งˆ **๊ทธ๋ƒฅ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๋ฉ๋‹ˆ๋‹ค**.

2
docs/ko/docs/tutorial/debugging.md

@ -72,7 +72,7 @@ from myapp import app
์€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
/// info | ์ •๋ณด
/// note | ์ฐธ๊ณ 
์ž์„ธํ•œ ๋‚ด์šฉ์€ [๊ณต์‹ Python ๋ฌธ์„œ](https://docs.python.org/3/library/__main__.html)๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

4
docs/ko/docs/tutorial/header-params.md

@ -24,7 +24,7 @@
///
/// info | ์ •๋ณด
/// note
ํ—ค๋”๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด์„œ `Header`๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•ด์„ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
@ -48,7 +48,7 @@
{* ../../docs_src/header_params/tutorial002_an_py310.py hl[10] *}
/// warning | ๊ฒฝ๊ณ 
/// warning
`convert_underscores`๋ฅผ `False`๋กœ ์„ค์ •ํ•˜๊ธฐ ์ „์—, ์–ด๋–ค HTTP ํ”„๋ก์‹œ๋“ค๊ณผ ์„œ๋ฒ„๋“ค์€ ์–ธ๋”์Šค์ฝ”์–ด๊ฐ€ ํฌํ•จ๋œ ํ—ค๋” ์‚ฌ์šฉ์„ ํ—ˆ๋ฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค.

Loadingโ€ฆ
Cancel
Save