Skip to content

Commit

Permalink
🌐 Add Russian translation for docs/ru/docs/history-design-future.md (…
Browse files Browse the repository at this point in the history
  • Loading branch information
Xewus committed Mar 10, 2023
1 parent d5b0cc9 commit d1f3753
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
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>:

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

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

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

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

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

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

<blockquote markdown="1">

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

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

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

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

</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 @@ -71,6 +71,7 @@ nav:
- Π Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅:
- deployment/index.md
- deployment/versions.md
- history-design-future.md
- external-links.md
- contributing.md
markdown_extensions:
Expand Down

0 comments on commit d1f3753

Please sign in to comment.