From 502d20c4416fc54a5de012a6aa5e4ebc47a15925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Mon, 1 Jun 2026 12:53:57 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Update=20translations=20for=20ko?= =?UTF-8?q?=20(update-outdated)=20(#15664)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] --- docs/ko/docs/_llm-test.md | 14 +- docs/ko/docs/alternatives.md | 46 ++-- docs/ko/docs/async.md | 4 +- docs/ko/docs/fastapi-cli.md | 10 +- docs/ko/docs/features.md | 2 +- docs/ko/docs/help-fastapi.md | 243 +++---------------- docs/ko/docs/python-types.md | 6 +- docs/ko/docs/tutorial/bigger-applications.md | 12 +- docs/ko/docs/tutorial/debugging.md | 2 +- docs/ko/docs/tutorial/header-params.md | 4 +- 10 files changed, 86 insertions(+), 257 deletions(-) diff --git a/docs/ko/docs/_llm-test.md b/docs/ko/docs/_llm-test.md index 8b7b275c0a..ea22d6191d 100644 --- a/docs/ko/docs/_llm-test.md +++ b/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` 석션을 참고하세요. //// diff --git a/docs/ko/docs/alternatives.md b/docs/ko/docs/alternatives.md index 4f92f69d24..ab92c0ea86 100644 --- a/docs/ko/docs/alternatives.md +++ b/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가 존재하기 전에 만들어졌습니다. 그래서 각 스키마를 정의하려면 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** 애플리케이션을 실행하기 위한 주요 웹 서버. diff --git a/docs/ko/docs/async.md b/docs/ko/docs/async.md index 485111fac9..6cd0f47864 100644 --- a/docs/ko/docs/async.md +++ b/docs/ko/docs/async.md @@ -139,7 +139,7 @@ def results(): -/// info | 정보 +/// note | 참고 아름다운 일러스트: [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 @@ -205,7 +205,7 @@ def results(): 대부분의 시간을 카운터 앞에서 기다리는 데 🕙 썼기 때문에, 대화하거나 작업을 걸 시간은 많지 않았습니다. 😞 -/// info | 정보 +/// note | 참고 아름다운 일러스트: [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot). 🎨 diff --git a/docs/ko/docs/fastapi-cli.md b/docs/ko/docs/fastapi-cli.md index bfa16e8b38..9b637af9ca 100644 --- a/docs/ko/docs/fastapi-cli.md +++ b/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`를 사용하는 것을 권장합니다. diff --git a/docs/ko/docs/features.md b/docs/ko/docs/features.md index 0a5aa69436..80242190b3 100644 --- a/docs/ko/docs/features.md +++ b/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`는 다음을 의미합니다: diff --git a/docs/ko/docs/help-fastapi.md b/docs/ko/docs/help-fastapi.md index f67fb3f22b..4d1a3a0970 100644 --- a/docs/ko/docs/help-fastapi.md +++ b/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만큼 검색이 쉽지 않아, 대화 속에 묻히곤 합니다. diff --git a/docs/ko/docs/python-types.md b/docs/ko/docs/python-types.md index 12890f2832..10b74b228a 100644 --- a/docs/ko/docs/python-types.md +++ b/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)가 있습니다. diff --git a/docs/ko/docs/tutorial/bigger-applications.md b/docs/ko/docs/tutorial/bigger-applications.md index 5b93dbb20b..a206bfdc19 100644 --- a/docs/ko/docs/tutorial/bigger-applications.md +++ b/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 | 매우 기술적인 세부사항 **참고**: 이는 매우 기술적인 세부사항이라 아마 **그냥 건너뛰어도 됩니다**. diff --git a/docs/ko/docs/tutorial/debugging.md b/docs/ko/docs/tutorial/debugging.md index 145ffb24bc..f437286b25 100644 --- a/docs/ko/docs/tutorial/debugging.md +++ b/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)를 확인하세요. diff --git a/docs/ko/docs/tutorial/header-params.md b/docs/ko/docs/tutorial/header-params.md index 4c47644d86..ec634150f6 100644 --- a/docs/ko/docs/tutorial/header-params.md +++ b/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 프록시들과 서버들은 언더스코어가 포함된 헤더 사용을 허락하지 않는다는 것을 명심하십시오.