]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
๐ŸŒ Update translations for ko (update-outdated) (#15525)
authorSebastiรกn Ramรญrez <tiangolo@gmail.com>
Mon, 18 May 2026 15:00:20 +0000 (17:00 +0200)
committerGitHub <noreply@github.com>
Mon, 18 May 2026 15:00:20 +0000 (17:00 +0200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <109919500+YuriiMotov@users.noreply.github.com>
docs/ko/docs/advanced/generate-clients.md
docs/ko/docs/index.md
docs/ko/docs/virtual-environments.md

index bf29e52e9ba4244416fadf6018c2d7bf8b2d8eb3..1c2e32377869e7e8302fa9acb0ca8c2e06119f6a 100644 (file)
@@ -30,7 +30,6 @@ FastAPI๋Š” **OpenAPI 3.1** ์‚ฌ์–‘์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋ฏ€๋กœ, ์‚ฌ์šฉํ•˜๋Š”
 
 ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
 
-* [Speakeasy](https://speakeasy.com/editor?utm_source=fastapi+repo&utm_medium=github+sponsorship)
 * [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
 * [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
 
index 91d27fcee9049041448d61cee532ae27c3bae14b..719fae8219e2c4f133c22636eba453eee3074a86 100644 (file)
@@ -54,18 +54,27 @@ FastAPI๋Š” ํ˜„๋Œ€์ ์ด๊ณ , ๋น ๋ฅด๋ฉฐ(๊ณ ์„ฑ๋Šฅ), ํŒŒ์ด์ฌ ํ‘œ์ค€ ํƒ€์ž… ํžŒํŠธ
 
 ### ํ‚ค์Šคํ†ค ์Šคํฐ์„œ { #keystone-sponsor }
 
+<div class="fastapi-sponsors fastapi-sponsors--keystone">
 {% for sponsor in sponsors.keystone -%}
-<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+<a class="fastapi-sponsors__card fastapi-sponsors__card--keystone" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}"></a>
 {% endfor -%}
+</div>
 
-### ๊ณจ๋“œ ๋ฐ ์‹ค๋ฒ„ ์Šคํฐ์„œ { #gold-and-silver-sponsors }
+### ๊ณจ๋“œ ์Šคํฐ์„œ { #gold-sponsors }
 
+<div class="fastapi-sponsors fastapi-sponsors--gold">
 {% for sponsor in sponsors.gold -%}
-<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+<a class="fastapi-sponsors__card fastapi-sponsors__card--gold" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>
 {% endfor -%}
-{%- for sponsor in sponsors.silver -%}
-<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+</div>
+
+### ์‹ค๋ฒ„ ์Šคํฐ์„œ { #silver-sponsors }
+
+<div class="fastapi-sponsors fastapi-sponsors--silver">
+{% for sponsor in sponsors.silver -%}
+<a class="fastapi-sponsors__card fastapi-sponsors__card--silver" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>
 {% endfor %}
+</div>
 
 <!-- /sponsors -->
 
@@ -73,55 +82,81 @@ FastAPI๋Š” ํ˜„๋Œ€์ ์ด๊ณ , ๋น ๋ฅด๋ฉฐ(๊ณ ์„ฑ๋Šฅ), ํŒŒ์ด์ฌ ํ‘œ์ค€ ํƒ€์ž… ํžŒํŠธ
 
 ## ์˜๊ฒฌ๋“ค { #opinions }
 
-"_[...] ์ €๋Š” ์š”์ฆ˜ **FastAPI**๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. [...] ์‚ฌ์‹ค ์šฐ๋ฆฌ ํŒ€์˜ **๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ML ์„œ๋น„์Šค** ์ „๋ถ€๋ฅผ ๋ฐ”๊ฟ€ ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๊ทธ์ค‘ ์ผ๋ถ€๋Š” ํ•ต์‹ฌ **Windows**์™€ ๋ช‡๋ช‡์˜ **Office** ์ œํ’ˆ๋“ค์ด ํ†ตํ•ฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค._"
+<!-- only-mkdocs -->
+<div class="fastapi-opinions" data-fastapi-opinions>
+  <div class="fastapi-opinions__tabs" role="tablist" aria-label="Companies using FastAPI">
+    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-microsoft" aria-controls="fo-panel-microsoft" aria-selected="true" tabindex="0">
+      <span class="fastapi-opinions__mark"><img src="/img/logos/microsoft.svg" alt="Microsoft" loading="lazy"></span>
+    </button>
+    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-uber" aria-controls="fo-panel-uber" aria-selected="false" tabindex="-1">
+      <span class="fastapi-opinions__mark"><img src="/img/logos/uber.svg" alt="Uber" loading="lazy"></span>
+    </button>
+    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-netflix" aria-controls="fo-panel-netflix" aria-selected="false" tabindex="-1">
+      <span class="fastapi-opinions__mark"><img src="/img/logos/netflix.svg" alt="Netflix" loading="lazy"></span>
+    </button>
+    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-cisco" aria-controls="fo-panel-cisco" aria-selected="false" tabindex="-1">
+      <span class="fastapi-opinions__mark"><img src="/img/logos/cisco.svg" alt="Cisco" loading="lazy"></span>
+    </button>
+  </div>
+
+  <div class="fastapi-opinions__panel" id="fo-panel-microsoft" role="tabpanel" aria-labelledby="fo-tab-microsoft" tabindex="0">
+    <blockquote class="fastapi-opinions__quote">"์ €๋Š” ์š”์ฆ˜ <strong>FastAPI</strong>๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํŒ€์˜ ๋ชจ๋“  <strong>๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ML ์„œ๋น„์Šค</strong>์— ์‚ฌ์šฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๊ทธ์ค‘ ์ผ๋ถ€๋Š” ํ•ต์‹ฌ <strong>Windows</strong> ์ œํ’ˆ๊ณผ ์ผ๋ถ€ <strong>Office</strong> ์ œํ’ˆ์— ํ†ตํ•ฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค."</blockquote>
+    <div class="fastapi-opinions__attr">โ€” Kabir Khan, <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26">(ref)</a></div>
+  </div>
+  <div class="fastapi-opinions__panel" id="fo-panel-uber" role="tabpanel" aria-labelledby="fo-tab-uber" tabindex="0" hidden>
+    <blockquote class="fastapi-opinions__quote">"์šฐ๋ฆฌ๋Š” <strong>FastAPI</strong> ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฑ„ํƒํ•ด <strong>์˜ˆ์ธก</strong>์„ ์–ป๊ธฐ ์œ„ํ•ด ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” <strong>REST</strong> ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค." <em>[Ludwig์„ ์œ„ํ•ด]</em></blockquote>
+    <div class="fastapi-opinions__attr">โ€” Piero Molino, Yaroslav Dudin, Sai Sumanth Miryala, <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/">(ref)</a></div>
+  </div>
+  <div class="fastapi-opinions__panel" id="fo-panel-netflix" role="tabpanel" aria-labelledby="fo-tab-netflix" tabindex="0" hidden>
+    <blockquote class="fastapi-opinions__quote">"<strong>Netflix</strong>๋Š” ์šฐ๋ฆฌ์˜ <strong>์œ„๊ธฐ ๊ด€๋ฆฌ</strong> ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ธ <strong>Dispatch</strong>์˜ ์˜คํ”ˆ ์†Œ์Šค ๊ณต๊ฐœ๋ฅผ ๋ฐœํ‘œํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค!" <em>[FastAPI๋กœ ๋นŒ๋“œ]</em></blockquote>
+    <div class="fastapi-opinions__attr">โ€” Kevin Glisson, Marc Vilanova, Forest Monsen, <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">(ref)</a></div>
+  </div>
+  <div class="fastapi-opinions__panel" id="fo-panel-cisco" role="tabpanel" aria-labelledby="fo-tab-cisco" tabindex="0" hidden>
+    <blockquote class="fastapi-opinions__quote">"ํ”„๋กœ๋•์…˜ Python API๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์ €๋Š” <strong>FastAPI</strong>๋ฅผ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. <strong>์•„๋ฆ„๋‹ต๊ฒŒ ์„ค๊ณ„</strong>๋˜์—ˆ๊ณ , <strong>์‚ฌ์šฉ์ด ๊ฐ„๋‹จ</strong>ํ•˜๋ฉฐ, <strong>ํ™•์žฅ์„ฑ์ด ๋งค์šฐ ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค</strong> โ€” ์šฐ๋ฆฌ์˜ API ์šฐ์„  ๊ฐœ๋ฐœ ์ „๋žต์—์„œ <strong>ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ</strong>๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."</blockquote>
+    <div class="fastapi-opinions__attr">โ€” Deon Pillsbury, <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/">(ref)</a></div>
+  </div>
+</div>
+<!-- /only-mkdocs -->
 
-<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>
+<div class="only-github" markdown="1">
 
----
-
-"_**FastAPI** ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฑ„ํƒํ•˜์—ฌ **์˜ˆ์ธก**์„ ์–ป๊ธฐ ์œ„ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๋Š” **REST** ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. [Ludwig์„ ์œ„ํ•ด]_"
+"_[...] ์ €๋Š” ์š”์ฆ˜ **FastAPI**๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. [...] ์‚ฌ์‹ค ์šฐ๋ฆฌ ํŒ€์˜ **๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ML ์„œ๋น„์Šค** ์ „๋ถ€๋ฅผ ๋ฐ”๊ฟ€ ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๊ทธ์ค‘ ์ผ๋ถ€๋Š” ํ•ต์‹ฌ **Windows**์™€ ๋ช‡๋ช‡์˜ **Office** ์ œํ’ˆ๋“ค์ด ํ†ตํ•ฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค._"
 
-<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin ๊ทธ๋ฆฌ๊ณ  Sai Sumanth Miryala - <strong>์šฐ๋ฒ„</strong> <a href="https://eng.uber.com/ludwig-v0-2/"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>
 
 ---
 
-"_**Netflix**๋Š” ์šฐ๋ฆฌ์˜ ์˜คํ”ˆ ์†Œ์Šค ๋ฐฐํฌํŒ์ธ **์œ„๊ธฐ ๊ด€๋ฆฌ** ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐœํ‘œํ•  ์ˆ˜ ์žˆ์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค: ๋ฐ”๋กœ **Dispatch**์ž…๋‹ˆ๋‹ค! [**FastAPI**๋กœ ๋นŒ๋“œ]_"
+"_**FastAPI** ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฑ„ํƒํ•˜์—ฌ **์˜ˆ์ธก**์„ ์–ป๊ธฐ ์œ„ํ•ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” **REST** ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. [Ludwig์„ ์œ„ํ•ด]_"
 
-<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>๋„ทํ”Œ๋ฆญ์Šค</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/"><small>(ref)</small></a></div>
 
 ---
 
-"_**FastAPI**๊ฐ€ ๋„ˆ๋ฌด ์ข‹์•„์„œ ๊ตฌ๋ฆ„ ์œ„๋ฅผ ๊ฑท๋Š”๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ์ฆ๊ฒ์Šต๋‹ˆ๋‹ค!_"
+"_**Netflix**๋Š” ์šฐ๋ฆฌ์˜ ์˜คํ”ˆ ์†Œ์Šค ๋ฐฐํฌํŒ์ธ **์œ„๊ธฐ ๊ด€๋ฆฌ** ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐœํ‘œํ•  ์ˆ˜ ์žˆ์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค: ๋ฐ”๋กœ **Dispatch**์ž…๋‹ˆ๋‹ค! [**FastAPI**๋กœ ๋นŒ๋“œ]_"
 
-<div style="text-align: right; margin-right: 10%;">Brian Okken - <strong>[Python Bytes](https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855) podcast host</strong> <a href="https://x.com/brianokken/status/1112220079972728832"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>
 
 ---
 
-"_์†”์งํžˆ, ๋‹น์‹ ์ด ๋งŒ๋“  ๊ฒƒ์€ ๋งค์šฐ ๊ฒฌ๊ณ ํ•˜๊ณ  ์„ธ๋ จ๋˜์–ด ๋ณด์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฉด์—์„œ **Hug**๊ฐ€ ์ด๋ ‡๊ฒŒ ๋˜์—ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค - ๊ทธ๊ฑธ ๋งŒ๋“  ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ๋ณด๋Š” ๊ฒƒ์€ ๋งŽ์€ ์˜๊ฐ์„ ์ค๋‹ˆ๋‹ค._"
+"_ํ”„๋กœ๋•์…˜ Python API๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์ €๋Š” **FastAPI**๋ฅผ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. **์•„๋ฆ„๋‹ต๊ฒŒ ์„ค๊ณ„**๋˜์—ˆ๊ณ , **์‚ฌ์šฉ์ด ๊ฐ„๋‹จ**ํ•˜๋ฉฐ, **ํ™•์žฅ์„ฑ์ด ๋งค์šฐ ๋›ฐ์–ด๋‚˜** ์šฐ๋ฆฌ์˜ API ์šฐ์„  ๊ฐœ๋ฐœ ์ „๋žต์—์„œ **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ**๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค._"
 
-<div style="text-align: right; margin-right: 10%;">Timothy Crosley - <strong>[Hug](https://github.com/hugapi/hug) ์ œ์ž‘์ž</strong> <a href="https://news.ycombinator.com/item?id=19455465"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>
 
 ---
 
-"_REST API๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด **ํ˜„๋Œ€์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ**๋ฅผ ์ฐพ๊ณ  ์žˆ๋‹ค๋ฉด **FastAPI**๋ฅผ ํ™•์ธํ•ด ๋ณด์‹ญ์‹œ์˜ค. [...] ๋น ๋ฅด๊ณ , ์“ฐ๊ธฐ ์‰ฝ๊ณ , ๋ฐฐ์šฐ๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค [...]_"
-
-"_์šฐ๋ฆฌ **API**๋ฅผ **FastAPI**๋กœ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค  [...] ์•„๋งˆ ์—ฌ๋Ÿฌ๋ถ„๋„ ์ข‹์•„ํ•˜์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค [...]_"
-
-<div style="text-align: right; margin-right: 10%;">Ines Montani - Matthew Honnibal - <strong>[Explosion AI](https://explosion.ai) ์„ค๋ฆฝ์ž - [spaCy](https://spacy.io) ์ œ์ž‘์ž</strong> <a href="https://x.com/_inesmontani/status/1144173225322143744"><small>(ref)</small></a> - <a href="https://x.com/honnibal/status/1144031421859655680"><small>(ref)</small></a></div>
+</div>
 
----
+## FastAPI Conf { #fastapi-conf }
 
-"_ํ”„๋กœ๋•์…˜ Python API๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค๋ฉด, ์ €๋Š” **FastAPI**๋ฅผ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. **์•„๋ฆ„๋‹ต๊ฒŒ ์„ค๊ณ„**๋˜์—ˆ๊ณ , **์‚ฌ์šฉ์ด ๊ฐ„๋‹จ**ํ•˜๋ฉฐ, **ํ™•์žฅ์„ฑ์ด ๋งค์šฐ ๋›ฐ์–ด๋‚˜**๊ณ , ์šฐ๋ฆฌ์˜ API ์šฐ์„  ๊ฐœ๋ฐœ ์ „๋žต์—์„œ **ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ**๊ฐ€ ๋˜์—ˆ์œผ๋ฉฐ Virtual TAC Engineer ๊ฐ™์€ ๋งŽ์€ ์ž๋™ํ™”์™€ ์„œ๋น„์Šค๋ฅผ ์ด๋Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค._"
+[**FastAPI Conf '26**](https://fastapiconf.com)์€ **2026๋…„ 10์›” 28์ผ**, **๋„ค๋œ๋ž€๋“œ ์•”์Šคํ…Œ๋ฅด๋‹ด**์—์„œ ์—ด๋ฆฝ๋‹ˆ๋‹ค. FastAPI์— ๊ด€ํ•œ ๋ชจ๋“  ๊ฒƒ, ๋ฐ”๋กœ ์ถœ์ฒ˜์—์„œ. ๐ŸŽค
 
-<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>
-
----
+<a class="fastapi-feature-banner" href="https://fastapiconf.com"><img src="https://fastapi.tiangolo.com/img/fastapi-conf.jpeg" alt="FastAPI Conf '26 - October 28, 2026 - Amsterdam, NL"></a>
 
 ## FastAPI ๋ฏธ๋‹ˆ ๋‹คํ๋ฉ˜ํ„ฐ๋ฆฌ { #fastapi-mini-documentary }
 
 2025๋…„ ๋ง์— ๊ณต๊ฐœ๋œ [FastAPI ๋ฏธ๋‹ˆ ๋‹คํ๋ฉ˜ํ„ฐ๋ฆฌ](https://www.youtube.com/watch?v=mpR8ngthqiE)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ์—์„œ ์‹œ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
 
-<a href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
+<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
 
 ## **Typer**, CLI๋ฅผ ์œ„ํ•œ FastAPI { #typer-the-fastapi-of-clis }
 
index 7c2a59f81c1c58b3050854a53801ab7d3781b74a..d75ee80174eea90eec41dc0687df00a852caaabf 100644 (file)
@@ -2,13 +2,13 @@
 
 Python ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…ํ•  ๋•Œ๋Š” **๊ฐ€์ƒ ํ™˜๊ฒฝ**(๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜)์„ ์‚ฌ์šฉํ•ด ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์„ค์น˜ํ•˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
 
-/// info
+/// note | ์ฐธ๊ณ 
 
 ์ด๋ฏธ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๊ณ , ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š”์ง€๋„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด, ์ด ์„น์…˜์€ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๐Ÿค“
 
 ///
 
-/// tip
+/// tip | ํŒ
 
 **๊ฐ€์ƒ ํ™˜๊ฒฝ**์€ **ํ™˜๊ฒฝ ๋ณ€์ˆ˜**์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
 
@@ -18,7 +18,7 @@ Python ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…ํ•  ๋•Œ๋Š” **๊ฐ€์ƒ ํ™˜๊ฒฝ**(๋˜๋Š” ์ด์™€ ์œ ์‚ฌ
 
 ///
 
-/// info
+/// note | ์ฐธ๊ณ 
 
 ์ด ํŽ˜์ด์ง€์—์„œ๋Š” **๊ฐ€์ƒ ํ™˜๊ฒฝ**์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ž‘๋™ ๋ฐฉ์‹์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.
 
@@ -55,7 +55,7 @@ $ cd awesome-project
 
 Python ํ”„๋กœ์ ํŠธ๋ฅผ **์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ**, ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ **<dfn title="๋‹ค๋ฅธ ์˜ต์…˜๋„ ์žˆ์ง€๋งŒ, ์ด๊ฒƒ์€ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์ž…๋‹ˆ๋‹ค">ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€</dfn>**์— ์ƒ์„ฑํ•˜์„ธ์š”.
 
-/// tip
+/// tip | ํŒ
 
 ์ด ์ž‘์—…์€ **ํ”„๋กœ์ ํŠธ๋‹น ํ•œ ๋ฒˆ๋งŒ** ํ•˜๋ฉด ๋˜๋ฉฐ, ์ž‘์—…ํ•  ๋•Œ๋งˆ๋‹ค ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
 
@@ -96,7 +96,7 @@ $ uv venv
 
 </div>
 
-/// tip
+/// tip | ํŒ
 
 ๊ธฐ๋ณธ์ ์œผ๋กœ `uv`๋Š” `.venv`๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
 
@@ -118,7 +118,7 @@ $ uv venv
 
 ์ดํ›„ ์‹คํ–‰ํ•˜๋Š” Python ๋ช…๋ น์–ด์™€ ์„ค์น˜ํ•˜๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์ƒˆ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋„๋ก, ์ƒˆ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”.
 
-/// tip
+/// tip | ํŒ
 
 ํ”„๋กœ์ ํŠธ ์ž‘์—…์„ ์œ„ํ•ด **์ƒˆ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜**์„ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค **๋งค๋ฒˆ** ์ด ์ž‘์—…์„ ํ•˜์„ธ์š”.
 
@@ -162,7 +162,7 @@ $ source .venv/Scripts/activate
 
 ////
 
-/// tip
+/// tip | ํŒ
 
 ํ•ด๋‹น ํ™˜๊ฒฝ์— **์ƒˆ ํŒจํ‚ค์ง€**๋ฅผ ์„ค์น˜ํ•  ๋•Œ๋งˆ๋‹ค, ํ™˜๊ฒฝ์„ ๋‹ค์‹œ **ํ™œ์„ฑํ™”**ํ•˜์„ธ์š”.
 
@@ -174,7 +174,7 @@ $ source .venv/Scripts/activate
 
 ๊ฐ€์ƒ ํ™˜๊ฒฝ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€(์ด์ „ ๋ช…๋ น์–ด๊ฐ€ ์ž‘๋™ํ–ˆ๋Š”์ง€) ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 ์ด ๋‹จ๊ณ„๋Š” **์„ ํƒ ์‚ฌํ•ญ**์ด์ง€๋งŒ, ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์˜๋„ํ•œ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ **ํ™•์ธ**ํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
 
@@ -214,7 +214,7 @@ C:\Users\user\code\awesome-project\.venv\Scripts\python
 
 ## `pip` ์—…๊ทธ๋ ˆ์ด๋“œ { #upgrade-pip }
 
-/// tip
+/// tip | ํŒ
 
 [`uv`](https://github.com/astral-sh/uv)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, `pip` ๋Œ€์‹  `uv`๋กœ ์„ค์น˜ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ `pip`์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Ž
 
@@ -224,7 +224,7 @@ C:\Users\user\code\awesome-project\.venv\Scripts\python
 
 ํŒจํ‚ค์ง€ ์„ค์น˜ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ํŠน์ดํ•œ ์˜ค๋ฅ˜๋Š” ๋จผ์ € `pip`๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 ๋ณดํ†ต ์ด ์ž‘์—…์€ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“  ์งํ›„ **ํ•œ ๋ฒˆ๋งŒ** ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
 
@@ -242,7 +242,7 @@ $ python -m pip install --upgrade pip
 
 </div>
 
-/// tip
+/// tip | ํŒ
 
 ๋•Œ๋กœ๋Š” pip๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ  ํ•  ๋•Œ **`No module named pip`** ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
@@ -266,13 +266,13 @@ $ python -m ensurepip --upgrade
 
 **Git**์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด(์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค), `.venv`์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ Git์—์„œ ์ œ์™ธํ•˜๋„๋ก `.gitignore` ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
 
-/// tip
+/// tip | ํŒ
 
 [`uv`](https://github.com/astral-sh/uv)๋กœ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด, ์ด๋ฏธ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ด ๋‹จ๊ณ„๋Š” ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ˜Ž
 
 ///
 
-/// tip
+/// tip | ํŒ
 
 ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“  ์งํ›„ **ํ•œ ๋ฒˆ๋งŒ** ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
 
@@ -306,7 +306,7 @@ $ echo "*" > .venv/.gitignore
 
 ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•œ ๋’ค, ๊ทธ ์•ˆ์— ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ๋Š” **ํ•œ ๋ฒˆ**๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
 
@@ -318,7 +318,7 @@ $ echo "*" > .venv/.gitignore
 
 ๊ธ‰ํ•˜๊ฒŒ ์ž‘์—… ์ค‘์ด๊ณ  ํ”„๋กœ์ ํŠธ์˜ ํŒจํ‚ค์ง€ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ ์–ธํ•˜๋Š” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด, ํŒจํ‚ค์ง€๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€์™€ ๋ฒ„์ „์„ ํŒŒ์ผ(์˜ˆ: `requirements.txt` ๋˜๋Š” `pyproject.toml`)์— ์ ์–ด๋‘๋Š” ๊ฒƒ์€ (๋งค์šฐ) ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.
 
@@ -419,7 +419,7 @@ Hello World
 * [VS Code](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment)
 * [PyCharm](https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html)
 
-/// tip
+/// tip | ํŒ
 
 ๋ณดํ†ต ์ด ์„ค์ •์€ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค ๋•Œ **ํ•œ ๋ฒˆ๋งŒ** ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
 
@@ -445,7 +445,7 @@ $ deactivate
 
 
 
-/// tip
+/// tip | ํŒ
 
 ์œ„์˜ ๋‚ด์šฉ์ด ๋ฌด์—‡์ธ์ง€ ๋” ์ดํ•ดํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”?
 
@@ -536,7 +536,7 @@ flowchart LR
     end
 ```
 
-/// tip
+/// tip | ํŒ
 
 Python ํŒจํ‚ค์ง€์—์„œ๋Š” **์ƒˆ ๋ฒ„์ „**์—์„œ **ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ(breaking changes)**์„ **ํ”ผํ•˜๋ ค๊ณ ** ์ตœ์„ ์„ ๋‹คํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด์ง€๋งŒ, ์•ˆ์ „์„ ์œ„ํ•ด ๋” ์ตœ์‹  ๋ฒ„์ „์€ ์˜๋„์ ์œผ๋กœ ์„ค์น˜ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ด ๋ชจ๋“  ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
 
@@ -643,7 +643,7 @@ $ source .venv/Scripts/activate
 
 ๊ทธ ๋ณ€์ˆ˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ `PATH` ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 `PATH` ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๋ ค๋ฉด [ํ™˜๊ฒฝ ๋ณ€์ˆ˜](environment-variables.md#path-environment-variable) ์„น์…˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.
 
@@ -776,7 +776,7 @@ Linux์™€ macOS์—์„œ๋Š” `which`, Windows PowerShell์—์„œ๋Š” `Get-Command`๋ฅผ 
 
 ๋”ฐ๋ผ์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
 
-/// tip
+/// tip | ํŒ
 
 ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜ ํ™œ์„ฑํ™”ํ•ด์„œ Python์„ ์‚ฌ์šฉํ•œ ๋‹ค์Œ, **๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™**ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
 
@@ -819,7 +819,7 @@ Traceback (most recent call last):
 
 </div>
 
-ํ•˜์ง€๋งŒ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  `prisoner-of-askaban`์— ๋Œ€ํ•œ ์ƒˆ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด, `python`์„ ์‹คํ–‰ํ•  ๋•Œ `prisoner-of-azkaban`์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žˆ๋Š” Python์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
+ํ•˜์ง€๋งŒ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  `prisoner-of-azkaban`์— ๋Œ€ํ•œ ์ƒˆ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด, `python`์„ ์‹คํ–‰ํ•  ๋•Œ `prisoner-of-azkaban`์˜ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ์žˆ๋Š” Python์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
 
 <div class="termy">