///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
์๋ API ๋ฌธ์ํ ์น ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๊ธฐ.
Flask์ ๋จ์ํจ์ ๊ณ ๋ คํ๋ฉด API๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ ๋ง๋ ๊ฒ์ฒ๋ผ ๋ณด์์ต๋๋ค. ๋ค์์ผ๋ก ์ฐพ๊ณ ์ ํ๋ ๊ฒ์ Flask์ฉ "Django REST Framework"์์ต๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
micro-framework๊ฐ ๋๊ธฐ. ํ์ํ ๋๊ตฌ์ ๊ตฌ์ฑ์์๋ฅผ ์ฝ๊ฒ ์กฐํฉํ ์ ์๋๋ก ํ๊ธฐ.
`requests.get(...)`์ `@app.get(...)`์ ์ ์ฌ์ฑ์ ํ์ธํด ๋ณด์ธ์.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
* ๋จ์ํ๊ณ ์ง๊ด์ ์ธ API๋ฅผ ๊ฐ๊ธฐ.
* HTTP method ์ด๋ฆ(operations)์ ์ง์ , ์ง๊ด์ ์ด๊ณ ๋ช
ํํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๊ธฐ.
๊ทธ๋์ 2.0 ๋ฒ์ ์ ์ด์ผ๊ธฐํ ๋๋ "Swagger"๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๊ณ , 3+ ๋ฒ์ ์ "OpenAPI"๋ผ๊ณ ๋งํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์
๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
์ปค์คํ
schema ๋์ , API ์ฌ์์ ์ํ ์ด๋ฆฐ ํ์ค์ ์ฑํํ๊ณ ์ฌ์ฉํ๊ธฐ.
ํ์ง๋ง Python type hints๊ฐ ์กด์ฌํ๊ธฐ ์ ์ ๋ง๋ค์ด์ก์ต๋๋ค. ๊ทธ๋์ ๊ฐ <dfn title="๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด์ผ ํ๋์ง์ ๋ํ ์ ์">์คํค๋ง</dfn>๋ฅผ ์ ์ํ๋ ค๋ฉด Marshmallow๊ฐ ์ ๊ณตํ๋ ํน์ ์ ํธ๋ฆฌํฐ์ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
๋ฐ์ดํฐ ํ์
๊ณผ ๊ฒ์ฆ์ ์ ๊ณตํ๋ "schema"๋ฅผ ์ฝ๋๋ก ์ ์ํ๊ณ , ์ด๋ฅผ ์๋์ผ๋ก ํ์ฉํ๊ธฐ.
์์ฃผ ํ๋ฅญํ ๋๊ตฌ์ด๋ฉฐ, ์ ๋ **FastAPI**๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋ง์ด ์ฌ์ฉํ์ต๋๋ค.
-/// info | ์ ๋ณด
+/// note | ์ฐธ๊ณ
Webargs๋ Marshmallow์ ๊ฐ์ ๊ฐ๋ฐ์๋ค์ด ๋ง๋ค์์ต๋๋ค.
///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
๋ค์ด์ค๋ ์์ฒญ ๋ฐ์ดํฐ์ ์๋ ๊ฒ์ฆ์ ๊ฐ๊ธฐ.
์๋ํฐ๊ฐ ์ด๋ฅผ ํฌ๊ฒ ๋์์ฃผ์ง ๋ชปํฉ๋๋ค. ๋ํ ํ๋ผ๋ฏธํฐ๋ Marshmallow schema๋ฅผ ์์ ํด๋๊ณ YAML docstring๋ ๊ฐ์ด ์์ ํ๋ ๊ฒ์ ์์ด๋ฒ๋ฆฌ๋ฉด, ์์ฑ๋ schema๋ ์ค๋๋ ์ํ๊ฐ ๋ฉ๋๋ค.
-/// info | ์ ๋ณด
+/// note | ์ฐธ๊ณ
APISpec์ Marshmallow์ ๊ฐ์ ๊ฐ๋ฐ์๋ค์ด ๋ง๋ค์์ต๋๋ค.
///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
API๋ฅผ ์ํ ์ด๋ฆฐ ํ์ค์ธ OpenAPI๋ฅผ ์ง์ํ๊ธฐ.
* [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๋ฅผ ์๋ ์์ฑํ๊ธฐ.
์ค์ฒฉ ๋ชจ๋ธ์ ์ ์ฒ๋ฆฌํ์ง ๋ชปํฉ๋๋ค. ์ฆ, ์์ฒญ์ JSON body๊ฐ ๋ด๋ถ ํ๋๋ฅผ ๊ฐ์ง JSON ๊ฐ์ฒด์ด๊ณ ๊ทธ ๋ด๋ถ ํ๋๋ค์ด ๋ค์ ์ค์ฒฉ๋ JSON ๊ฐ์ฒด์ธ ๊ฒฝ์ฐ, ์ ๋๋ก ๋ฌธ์ํํ๊ณ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
Python ํ์
์ ์ฌ์ฉํด ๋ฐ์ด๋ ์๋ํฐ ์ง์์ ์ ๊ณตํ๊ธฐ.
///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
๋ฏธ์น ์ฑ๋ฅ์ ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ.
๋ฐ๋ผ์ ๋ฐ์ดํฐ ๊ฒ์ฆ, serialization, ๋ฌธ์ํ๋ ์๋์ผ๋ก ๋์ง ์๊ณ ์ฝ๋๋ก ํด์ผ ํฉ๋๋ค. ๋๋ Hug์ฒ๋ผ Falcon ์์ framework๋ฅผ ์น์ด ๊ตฌํํด์ผ ํฉ๋๋ค. request ๊ฐ์ฒด ํ๋์ response ๊ฐ์ฒด ํ๋๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ Falcon์ ์ค๊ณ์์ ์๊ฐ์ ๋ฐ์ ๋ค๋ฅธ framework์์๋ ๊ฐ์ ๊ตฌ๋ถ์ด ๋ํ๋ฉ๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
ํ๋ฅญํ ์ฑ๋ฅ์ ์ป๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ.
Route๋ ํ ๊ณณ์์ ์ ์ธํ๊ณ , ๋ค๋ฅธ ๊ณณ์ ์ ์ธ๋ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค(์๋ํฌ์ธํธ๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์ ๋ฐ๋ก ์์ ๋ ์ ์๋ decorator๋ฅผ ์ฌ์ฉํ๋ ๋์ ). ์ด๋ Flask(๋ฐ Starlette)๋ณด๋ค๋ Django ๋ฐฉ์์ ๊ฐ๊น์ต๋๋ค. ์ฝ๋์์ ์๋์ ์ผ๋ก ๊ฐํ๊ฒ ๊ฒฐํฉ๋ ๊ฒ๋ค์ ๋ถ๋ฆฌํด ๋์ต๋๋ค.
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
๋ชจ๋ธ ์์ฑ์ "default" ๊ฐ์ผ๋ก ๋ฐ์ดํฐ ํ์
์ ๋ํ ์ถ๊ฐ ๊ฒ์ฆ์ ์ ์ํ๊ธฐ. ์ด๋ ์๋ํฐ ์ง์์ ๊ฐ์ ํ๋ฉฐ, ์ด์ ์๋ Pydantic์ ์์์ต๋๋ค.
๋๊ธฐ์ Python ์น framework์ ์ด์ ํ์ค(WSGI) ๊ธฐ๋ฐ์ด์ด์ Websockets์ ๋ค๋ฅธ ๊ฒ๋ค์ ์ฒ๋ฆฌํ ์๋ ์์ง๋ง, ์ฑ๋ฅ์ ์ฌ์ ํ ๋์ต๋๋ค.
-/// info | ์ ๋ณด
+/// note | ์ฐธ๊ณ
Hug๋ Timothy Crosley๊ฐ ๋ง๋ค์์ต๋๋ค. Python ํ์ผ์์ import๋ฅผ ์๋์ผ๋ก ์ ๋ ฌํ๋ ํ๋ฅญํ ๋๊ตฌ์ธ [`isort`](https://github.com/timothycrosley/isort)์ ์ ์์์ด๊ธฐ๋ ํฉ๋๋ค.
///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ์์ด๋์ด๋ค
+/// tip | ํ
Hug๋ APIStar์ ์ผ๋ถ์ ์๊ฐ์ ์ฃผ์๊ณ , ์ ๋ APIStar์ ํจ๊ป Hug๋ฅผ ๊ฐ์ฅ ์ ๋งํ ๋๊ตฌ ์ค ํ๋๋ก ๋ณด์์ต๋๋ค.
์ด์ APIStar๋ web framework๊ฐ ์๋๋ผ OpenAPI ์ฌ์์ ๊ฒ์ฆํ๊ธฐ ์ํ ๋๊ตฌ ๋ชจ์์
๋๋ค.
-/// info | ์ ๋ณด
+/// note | ์ฐธ๊ณ
APIStar๋ Tom Christie๊ฐ ๋ง๋ค์์ต๋๋ค. ๋ค์์ ๋ง๋ ์ฌ๋๊ณผ ๋์ผํฉ๋๋ค:
///
-/// check | **FastAPI**์ ์๊ฐ์ ์ค ๊ฒ
+/// tip | ํ
์กด์ฌํ๊ฒ ๋ง๋ค๊ธฐ.
Marshmallow์ ๋น๊ตํ ์ ์์ต๋๋ค. ๋ค๋ง benchmark์์ Marshmallow๋ณด๋ค ๋น ๋ฆ
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ผํ Python type hints๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฏ๋ก ์๋ํฐ ์ง์๋ ํ๋ฅญํฉ๋๋ค.
-/// check | **FastAPI**รชยฐ\80 รฌ\9dยดรซยฅยผ รฌ\82ยฌรฌ\9aยฉรญ\95\98รซ\8a\94 รซยชยฉรฌย \81
+/// tip | รญ\8c\81
๋ชจ๋ ๋ฐ์ดํฐ ๊ฒ์ฆ, ๋ฐ์ดํฐ serialization, ์๋ ๋ชจ๋ธ ๋ฌธ์ํ(JSON Schema ๊ธฐ๋ฐ)๋ฅผ ์ฒ๋ฆฌํ๊ธฐ.
///
-/// check | **FastAPI**รชยฐ\80 รฌ\9dยดรซยฅยผ รฌ\82ยฌรฌ\9aยฉรญ\95\98รซ\8a\94 รซยชยฉรฌย \81
+/// tip | รญ\8c\81
ํต์ฌ ์น ๋ถ๋ถ์ ๋ชจ๋ ์ฒ๋ฆฌํ๊ธฐ. ๊ทธ ์์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ.
Starlette์ **FastAPI**์์ ๊ถ์ฅํ๋ ์๋ฒ์
๋๋ค.
-/// check | **FastAPI**๊ฐ ์ด๋ฅผ ๊ถ์ฅํ๋ ๋ฐฉ์
+/// tip | ํ
**FastAPI** ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ๊ธฐ ์ํ ์ฃผ์ ์น ์๋ฒ.
-# 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 ๋ด์ค ๐
* ๊ฐ์ด๋ ๐
* ๊ธฐ๋ฅ โจ
-* รญ\9a\8dรชยธยฐรฌย \81รฌ\9dยธ รซยณ\80รญ\99\94 ๐จ
+* รญ\98ยธรญ\99\98รฌ\84ยฑรฌ\97\90 รฌ\98\81รญ\96ยฅรฌ\9d\84 รฌยฃยผรซ\8a\94 รซยณ\80รชยฒยฝ ๐จ
* ํ๊ณผ ์๋ น โ
-## 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). โญ๏ธ
-รฌ\8aยครญ\83\80รซยฅยผ รซ\8a\98รซยฆยผรฌ\9cยผรซยก\9cรฌ\8dยจ, รซ\8bยครซยฅยธ รฌ\82ยฌรฌ\9aยฉรฌ\9e\90รซ\93ยครฌ\9dยด รฌยข\80 รซ\8d\94 รฌ\89ยฝรชยฒ\8c รฌยฐยพรฌ\9d\84 รฌ\88\98 รฌ\9e\88รชยณย , รซยง\8eรฌ\9d\80 รฌ\82ยฌรซ\9e\8cรซ\93ยครฌ\97\90รชยฒ\8c รฌ\9cย รฌ\9aยฉรญ\95\9c รชยฒ\83รฌ\9e\84รฌ\9d\84 รซ\82\98รญ\83\80รซ\82ยผ ์ ์์ต๋๋ค.
+รฌ\8aยครญ\83\80รซยฅยผ รซ\8a\98รซยฆยฌรซยฉยด, รซ\8bยครซยฅยธ รฌ\82ยฌรฌ\9aยฉรฌ\9e\90รชยฐ\80 รซ\8d\94 รฌ\89ยฝรชยฒ\8c รฌยฐยพรฌ\9d\84 รฌ\88\98 รฌ\9e\88รชยณย รฌ\9dยดรซยฏยธ รซยง\8eรฌ\9d\80 รฌ\82ยฌรซ\9e\8cรซ\93ยครฌ\97\90รชยฒ\8c รฌ\9cย รฌ\9aยฉรญ\96\88รฌ\9d\8cรฌ\9d\84 รซยณยดรฌ\97ยฌรฌยค\84 ์ ์์ต๋๋ค.
-## รซยฆยดรซยฆยฌรฌยฆ\88 ํ์ธ์ ์ํด GitHub ์ ์ฅ์ ๋ณด๊ธฐ { #watch-the-github-repository-for-releases }
+## รซยฆยดรซยฆยฌรฌ\8aยค ํ์ธ์ ์ํด 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 }
/// 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๋งํผ ๊ฒ์์ด ์ฝ์ง ์์, ๋ํ ์์ ๋ฌปํ๊ณค ํฉ๋๋ค.