Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌐 Add Russian translation for docs/ru/docs/history-design-future.md #5986

Merged
merged 9 commits into from Mar 10, 2023
77 changes: 77 additions & 0 deletions docs/ru/docs/history-design-future.md
@@ -0,0 +1,77 @@
# Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания ΠΈ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹, <a href="https://github.com/tiangolo/fastapi/issues/3#issuecomment-454956920" class="external-link" target="_blank">ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ **FastAPI** Π·Π°Π΄Π°Π» вопрос</a>:

> Какова история этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°? Боздаётся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ явился ΠΈΠ· Π½ΠΈΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΈ Π·Π°Π²ΠΎΠ΅Π²Π°Π» ΠΌΠΈΡ€ Π·Π° нСсколько нСдСль [...]

Π§Ρ‚ΠΎ ΠΆ, Π²ΠΎΡ‚ нСболшая Ρ‡Π°ΡΡ‚ΡŒ истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
Xewus marked this conversation as resolved.
Show resolved Hide resolved

## ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ я, возглавляя Ρ€Π°Π·Π½Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², создавал довольно слоТныС API для машинного обучСния, распрСдСлённых систСм, асинхронных Π·Π°Π΄Π°Ρ‡, Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… NoSQL ΠΈ Ρ‚.Π΄.
Xewus marked this conversation as resolved.
Show resolved Hide resolved

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ этими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ я исслСдовал, провСрял ΠΈ использовал ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ история **FastAPI** - история Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠ².

Как написано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ [ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹](alternatives.md){.internal-link target=_blank}:

<blockquote markdown="1">

**FastAPI** Π½Π΅ сущСствовал Π±Ρ‹, Ссли Π± Π½Π΅ Π±Ρ‹Π»ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй.

Они создали большоС количСство инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ Π²Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΠ»ΠΈ мСня Π½Π° созданиС **FastAPI**.

Π― всячСски ΠΈΠ·Π±Π΅Π³Π°Π» создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚. Π‘Π½Π°Ρ‡Π°Π»Π° я пытался ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Ρ‹Π½Π΅ Π΅ΡΡ‚ΡŒ Π² **FastAPI**, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ инструмСнтов.
Xewus marked this conversation as resolved.
Show resolved Hide resolved

Но Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ прСдоставляло Π±Ρ‹ всС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сразу. Π’Π·ΡΡ‚ΡŒ самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… инструмСнтов ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½ΠΎΠ²Ρ‹Π΅ возмоТности Python (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Π΄ΠΎ вСрсии 3.6, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ подсказки Ρ‚ΠΈΠΏΠΎΠ²), ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ….
Xewus marked this conversation as resolved.
Show resolved Hide resolved

</blockquote>

## ИсслСдования

Благодаря ΠΎΠΏΡ‹Ρ‚Ρƒ использования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², ΠΌΡ‹ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΡ… основныС ΠΈΠ΄Π΅ΠΈ ΠΈ скомбинировали собранныС знания Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

НапримСр, стало ясно, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ€Π°Ρ‚ΡŒ Π·Π° основу стандартныС подсказки Ρ‚ΠΈΠΏΠΎΠ² Python, Π° самым Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ являСтся использованиС ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… стандартов.

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ написанию **FastAPI**, я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» нСсколько мСсяцСв Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ OpenAPI, JSON Schema, OAuth2, ΠΈ Ρ‚.ΠΏ. для понимания ΠΈΡ… взаимосвязСй, совпадСний ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ.

## Π”ΠΈΠ·Π°ΠΉΠ½

Π—Π°Ρ‚Π΅ΠΌ я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π½Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π½ΠΈΠ΅ "API" Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ…ΠΎΡ‚Π΅Π» ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ FastAPI).

Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» нСсколько ΠΈΠ΄Π΅ΠΉ Π½Π° самых популярных Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… ΠΊΠΎΠ΄Π° срСди Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²: PyCharm, VS Code, Jedi.

Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ я взял ΠΈΠ· <a href="https://www.jetbrains.com/research/python-developers-survey-2018/#development-tools" class="external-link" target="_blank">опроса Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²</a>, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 80% ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ **FastAPI** Π±Ρ‹Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… 80% Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. И ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС Π΅Π³ΠΎ прСимущСства Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ практичСски для всСх Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, я смог Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠ΅ способы ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ повсСмСстноС Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ошибок ΠΈ Ρ‚.Π΄.

И всС это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

## Зависимости

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π² нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², я Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π² качСствС основы Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">**Pydantic**</a> ΠΈ Π΅Π³ΠΎ прСимущСства.

По ΠΌΠΎΠΈΠΌ прСдлоТСниям Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ ΠΊΠΎΠ΄ этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимым с JSON Schema, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы опрСдСлСния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ², Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅).

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, я ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ <a href="https://www.starlette.io/" class="external-link" target="_blank">**Starlette**</a>, Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² FastAPI.

## Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

К Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° я Π½Π°Ρ‡Π°Π» ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ **FastAPI**, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΡƒΠΆΠ΅ сущСствовало, Π΄ΠΈΠ·Π°ΠΉΠ½ Π±Ρ‹Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½, зависимости ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ инструмСнты Π±Ρ‹Π»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, Π° знания ΠΎ стандартах ΠΈ спСцификациях Π±Ρ‹Π»ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ ΠΈ свСТими.

## Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅

БСйчас ΡƒΠΆΠ΅ ясно, Ρ‡Ρ‚ΠΎ **FastAPI** со своими идСями стал ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΌΠ½ΠΎΠ³ΠΈΠΌ людям.

ΠŸΡ€ΠΈ сравнСнии с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ, Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для мноТСства Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования.

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ **FastAPI** Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ мСня ΠΈ мою ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ).

Но, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, грядёт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ ΠΈ возмоТностСй.

Π£ **FastAPI** Π²Π΅Π»ΠΈΠΊΠΎΠ΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅.

И [ваш Π²ΠΊΠ»Π°Π΄ Π² это](help-fastapi.md){.internal-link target=_blank} - ΠΎΡ‡Π΅Π½ΡŒ Ρ†Π΅Π½Π½Π΅Π½.
1 change: 1 addition & 0 deletions docs/ru/mkdocs.yml
Expand Up @@ -69,6 +69,7 @@ nav:
- Π Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅:
- deployment/index.md
- deployment/versions.md
- history-design-future.md
- external-links.md
- contributing.md
markdown_extensions:
Expand Down