Browse Source

Apply suggestions from code review

pull/14739/head
Motov Yurii 6 months ago
committed by GitHub
parent
commit
f96f41289b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 40
      docs/uk/docs/alternatives.md
  2. 6
      docs/uk/docs/features.md

40
docs/uk/docs/alternatives.md

@ -36,7 +36,7 @@ Django REST Framework створив Том Крісті. Той самий тв
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Мати автоматичний веб-інтерфейс документації API. Мати автоматичний веб-інтерфейс документації API.
@ -56,7 +56,7 @@ Flask — це «мікрофреймворк», він не включає ін
Враховуючи простоту Flask, він здавався хорошим підходом для створення API. Наступним, що знайшов, був «Django REST Framework» для Flask. Враховуючи простоту Flask, він здавався хорошим підходом для створення API. Наступним, що знайшов, був «Django REST Framework» для Flask.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Бути мікрофреймоворком. Зробити легким комбінування та поєднання необхідних інструментів та частин. Бути мікрофреймоворком. Зробити легким комбінування та поєднання необхідних інструментів та частин.
@ -98,7 +98,7 @@ def read_url():
Зверніть увагу на схожість у `requests.get(...)` і `@app.get(...)`. Зверніть увагу на схожість у `requests.get(...)` і `@app.get(...)`.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
* Майте простий та інтуїтивно зрозумілий API. * Майте простий та інтуїтивно зрозумілий API.
* Використовуйте імена (операції) методів HTTP безпосередньо, простим та інтуїтивно зрозумілим способом. * Використовуйте імена (операції) методів HTTP безпосередньо, простим та інтуїтивно зрозумілим способом.
@ -118,7 +118,7 @@ def read_url():
Тому, коли говорять про версію 2.0, прийнято говорити «Swagger», а про версію 3+ «OpenAPI». Тому, коли говорять про версію 2.0, прийнято говорити «Swagger», а про версію 3+ «OpenAPI».
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Прийняти і використовувати відкритий стандарт для специфікацій API замість спеціальної схеми. Прийняти і використовувати відкритий стандарт для специфікацій API замість спеціальної схеми.
@ -137,7 +137,7 @@ def read_url():
### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a> { #marshmallow } ### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a> { #marshmallow }
Однією з головних функцій, необхідних для систем API, є "<abbr title="also called marshalling, conversion - також звана marshalling, conversion">serialization</abbr>", яка бере дані з коду (Python) і перетворює їх на щось, що можна надіслати через мережу. Наприклад, перетворення об’єкта, що містить дані з бази даних, на об’єкт JSON. Перетворення об’єктів `datetime` на строки тощо. Однією з головних функцій, необхідних для систем API, є "<abbr title="також звана marshalling, conversion">серіалізація</abbr>", яка бере дані з коду (Python) і перетворює їх на щось, що можна надіслати через мережу. Наприклад, перетворення об’єкта, що містить дані з бази даних, на об’єкт JSON. Перетворення об’єктів `datetime` на строки тощо.
Іншою важливою функцією, необхідною для API, є перевірка даних, яка забезпечує дійсність даних за певними параметрами. Наприклад, що деяке поле є `int`, а не деяка випадкова строка. Це особливо корисно для вхідних даних. Іншою важливою функцією, необхідною для API, є перевірка даних, яка забезпечує дійсність даних за певними параметрами. Наприклад, що деяке поле є `int`, а не деяка випадкова строка. Це особливо корисно для вхідних даних.
@ -145,9 +145,9 @@ def read_url():
Marshmallow створено для забезпечення цих функцій. Це чудова бібліотека, і я часто нею користувався раніше. Marshmallow створено для забезпечення цих функцій. Це чудова бібліотека, і я часто нею користувався раніше.
Але він був створений до того, як існували підказки типу Python. Отже, щоб визначити кожну <abbr title="the definition of how data should be formed - визначення того, як дані повинні бути сформовані">schema</abbr>, вам потрібно використовувати спеціальні утиліти та класи, надані Marshmallow. Але він був створений до того, як існували підказки типу Python. Отже, щоб визначити кожну <abbr title="визначення того, як дані повинні бути сформовані">схему</abbr>, вам потрібно використовувати спеціальні утиліти та класи, надані Marshmallow.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Використовувати код для автоматичного визначення "схем", які надають типи даних і перевірку. Використовувати код для автоматичного визначення "схем", які надають типи даних і перевірку.
@ -155,7 +155,7 @@ Marshmallow створено для забезпечення цих функці
### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a> { #webargs } ### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a> { #webargs }
Іншою важливою функцією, необхідною для API, є <abbr title="reading and converting to Python data - читання та перетворення на дані Python">parsing</abbr> даних із вхідних запитів. Іншою важливою функцією, необхідною для API, є <abbr title="читання та перетворення даних Python">аналіз</abbr> даних із вхідних запитів.
Webargs — це інструмент, створений, щоб забезпечити це поверх кількох фреймворків, включаючи Flask. Webargs — це інструмент, створений, щоб забезпечити це поверх кількох фреймворків, включаючи Flask.
@ -169,7 +169,7 @@ Webargs був створений тими ж розробниками Marshmall
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Мати автоматичну перевірку даних вхідного запиту. Мати автоматичну перевірку даних вхідного запиту.
@ -199,7 +199,7 @@ APISpec був створений тими ж розробниками Marshmall
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Підтримувати відкритий стандарт API, OpenAPI. Підтримувати відкритий стандарт API, OpenAPI.
@ -231,7 +231,7 @@ Flask-apispec був створений тими ж розробниками Mar
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Створення схеми OpenAPI автоматично з того самого коду, який визначає серіалізацію та перевірку. Створення схеми OpenAPI автоматично з того самого коду, який визначає серіалізацію та перевірку.
@ -251,7 +251,7 @@ Flask-apispec був створений тими ж розробниками Mar
Він не дуже добре обробляє вкладені моделі. Отже, якщо тіло JSON у запиті є об’єктом JSON із внутрішніми полями, які, у свою чергу, є вкладеними об’єктами JSON, його неможливо належним чином задокументувати та перевірити. Він не дуже добре обробляє вкладені моделі. Отже, якщо тіло JSON у запиті є об’єктом JSON із внутрішніми полями, які, у свою чергу, є вкладеними об’єктами JSON, його неможливо належним чином задокументувати та перевірити.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Використовувати типи Python, щоб мати чудову підтримку редактора. Використовувати типи Python, щоб мати чудову підтримку редактора.
@ -271,7 +271,7 @@ Flask-apispec був створений тими ж розробниками Mar
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Знайти спосіб отримати божевільну продуктивність. Знайти спосіб отримати божевільну продуктивність.
@ -287,7 +287,7 @@ Falcon — ще один високопродуктивний фреймворк
Таким чином, перевірка даних, серіалізація та документація повинні виконуватися в коді, а не автоматично. Або вони повинні бути реалізовані як фреймворк поверх Falcon, як Hug. Така сама відмінність спостерігається в інших фреймворках, натхненних дизайном Falcon, що мають один об’єкт запиту та один об’єкт відповіді як параметри. Таким чином, перевірка даних, серіалізація та документація повинні виконуватися в коді, а не автоматично. Або вони повинні бути реалізовані як фреймворк поверх Falcon, як Hug. Така сама відмінність спостерігається в інших фреймворках, натхненних дизайном Falcon, що мають один об’єкт запиту та один об’єкт відповіді як параметри.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Знайти способи отримати чудову продуктивність. Знайти способи отримати чудову продуктивність.
@ -313,7 +313,7 @@ Falcon — ще один високопродуктивний фреймворк
Маршрути оголошуються в одному місці з використанням функцій, оголошених в інших місцях (замість використання декораторів, які можна розмістити безпосередньо поверх функції, яка обробляє кінцеву точку). Це ближче до того, як це робить Django, ніж до Flask (і Starlette). Він розділяє в коді речі, які відносно тісно пов’язані. Маршрути оголошуються в одному місці з використанням функцій, оголошених в інших місцях (замість використання декораторів, які можна розмістити безпосередньо поверх функції, яка обробляє кінцеву точку). Це ближче до того, як це робить Django, ніж до Flask (і Starlette). Він розділяє в коді речі, які відносно тісно пов’язані.
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Визначити додаткові перевірки для типів даних, використовуючи значення "за замовчуванням" атрибутів моделі. Це покращує підтримку редактора, а раніше вона була недоступна в Pydantic. Визначити додаткові перевірки для типів даних, використовуючи значення "за замовчуванням" атрибутів моделі. Це покращує підтримку редактора, а раніше вона була недоступна в Pydantic.
@ -341,7 +341,7 @@ Hug створив Тімоті Крослі, той самий творець <
/// ///
/// check | Ideas inspiring **FastAPI** /// check | Надихнуло **FastAPI** на
Hug надихнув частину APIStar і був одним із найбільш перспективних інструментів, поряд із APIStar. Hug надихнув частину APIStar і був одним із найбільш перспективних інструментів, поряд із APIStar.
@ -385,7 +385,7 @@ APIStar створив Том Крісті. Той самий хлопець, я
/// ///
/// check | Inspired **FastAPI** to /// check | Надихнуло **FastAPI** на
Існувати. Існувати.
@ -409,7 +409,7 @@ Pydantic — це бібліотека для визначення переві
Його можна порівняти з Marshmallow. Хоча він швидший за Marshmallow у тестах. Оскільки він базується на тих самих підказках типу Python, підтримка редактора чудова. Його можна порівняти з Marshmallow. Хоча він швидший за Marshmallow у тестах. Оскільки він базується на тих самих підказках типу Python, підтримка редактора чудова.
/// check | **FastAPI** uses it to /// check | **FastAPI** використовує його для
Виконання перевірки всіх даних, серіалізації даних і автоматичної документацію моделі (на основі схеми JSON). Виконання перевірки всіх даних, серіалізації даних і автоматичної документацію моделі (на основі схеми JSON).
@ -452,7 +452,7 @@ ASGI — це новий «стандарт», який розробляєтьс
/// ///
/// check | **FastAPI** uses it to /// check | **FastAPI** використовує його для
Керування всіма основними веб-частинами. Додавання функцій зверху. Керування всіма основними веб-частинами. Додавання функцій зверху.
@ -470,7 +470,7 @@ Uvicorn — це блискавичний сервер ASGI, побудован
Це рекомендований сервер для Starlette і **FastAPI**. Це рекомендований сервер для Starlette і **FastAPI**.
/// check | **FastAPI** recommends it as /// check | **FastAPI** рекомендує це як
Основний веб-сервер для запуску програм **FastAPI**. Основний веб-сервер для запуску програм **FastAPI**.

6
docs/uk/docs/features.md

@ -6,7 +6,7 @@
### На основі відкритих стандартів { #based-on-open-standards } ### На основі відкритих стандартів { #based-on-open-standards }
* <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank"><strong>OpenAPI</strong></a> для створення API, включаючи оголошення <abbr title="також відомі як: endpoints, routes">шляхів</abbr>, <abbr title="також відомі як HTTP-методи, наприклад, POST, GET, PUT, DELETE">операцій</abbr>, параметрів, тіл запитів, безпеки тощо. * <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank"><strong>OpenAPI</strong></a> для створення API, включаючи оголошення <abbr title="також відомі як: endpoints, маршрути">шляхів</abbr>, <abbr title="також відомі як HTTP-методи, наприклад, POST, GET, PUT, DELETE">операцій</abbr>, параметрів, тіл запитів, безпеки тощо.
* Автоматична документація моделей даних за допомогою <a href="https://json-schema.org/" class="external-link" target="_blank"><strong>JSON Schema</strong></a> (оскільки OpenAPI базується саме на JSON Schema). * Автоматична документація моделей даних за допомогою <a href="https://json-schema.org/" class="external-link" target="_blank"><strong>JSON Schema</strong></a> (оскільки OpenAPI базується саме на JSON Schema).
* Розроблено на основі цих стандартів після ретельного аналізу, а не як додатковий рівень поверх основної архітектури. * Розроблено на основі цих стандартів після ретельного аналізу, а не як додатковий рівень поверх основної архітектури.
* Це також дає змогу використовувати автоматичну **генерацію клієнтського коду** багатьма мовами. * Це також дає змогу використовувати автоматичну **генерацію клієнтського коду** багатьма мовами.
@ -170,8 +170,8 @@ FastAPI містить надзвичайно просту у використа
* Фонові задачі у процесі. * Фонові задачі у процесі.
* Події запуску та завершення роботи. * Події запуску та завершення роботи.
* Клієнт для тестування, побудований на HTTPX. * Клієнт для тестування, побудований на HTTPX.
* **CORS**, GZip, Static Files, Streaming responses. * Підтримка **CORS**, **GZip**, статичних файлів, потокових відповідей.
* Підтримка **Session and Cookie**. * Підтримка **сесій** і **cookie**.
* 100% покриття тестами. * 100% покриття тестами.
* 100% анотована типами кодова база. * 100% анотована типами кодова база.

Loading…
Cancel
Save