Skip to content

Commit 39537c2

Browse files
committed
Fix permalinks conflict with markdown link attributes
1 parent d5f5dc3 commit 39537c2

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

docs/ru/docs/alternatives.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414

1515
## Предшествующие инструменты { #previous-tools }
1616

17-
### [Django](https://www.djangoproject.com/){ #django }
17+
### [Django](https://www.djangoproject.com/) { #django }
1818

1919
Это самый популярный Python-фреймворк, ему широко доверяют. Он используется для построения систем вроде Instagram.
2020

2121
Он относительно тесно связан с реляционными базами данных (например, MySQL или PostgreSQL), поэтому использовать NoSQL-базу данных (например, Couchbase, MongoDB, Cassandra и т. п.) в качестве основного хранилища не очень просто.
2222

2323
Он был создан для генерации HTML на бэкенде, а не для создания API, используемых современным фронтендом (например, React, Vue.js и Angular) или другими системами (например, устройствами <abbr title="Internet of Things – Интернет вещей">IoT</abbr>), которые с ним общаются.
2424

25-
### [Django REST Framework](https://www.django-rest-framework.org/){ #django-rest-framework }
25+
### [Django REST Framework](https://www.django-rest-framework.org/) { #django-rest-framework }
2626

2727
Django REST Framework был создан как гибкий набор инструментов для построения веб-API поверх Django, чтобы улучшить его возможности в части API.
2828

@@ -42,7 +42,7 @@ Django REST Framework был создан Томом Кристи. Он же с
4242

4343
///
4444

45-
### [Flask](https://flask.palletsprojects.com){ #flask }
45+
### [Flask](https://flask.palletsprojects.com) { #flask }
4646

4747
Flask — это «микрофреймворк», он не включает интеграции с базами данных и многие другие вещи, которые в Django идут «из коробки».
4848

@@ -64,7 +64,7 @@ Flask — это «микрофреймворк», он не включает и
6464

6565
///
6666

67-
### [Requests](https://requests.readthedocs.io){ #requests }
67+
### [Requests](https://requests.readthedocs.io) { #requests }
6868

6969
**FastAPI** на самом деле не альтернатива **Requests**. Их области применения очень различны.
7070

@@ -106,7 +106,7 @@ def read_url():
106106

107107
///
108108

109-
### [Swagger](https://swagger.io/) / [OpenAPI](https://github.com/OAI/OpenAPI-Specification/){ #swagger-openapi }
109+
### [Swagger](https://swagger.io/) / [OpenAPI](https://github.com/OAI/OpenAPI-Specification/) { #swagger-openapi }
110110

111111
Главной возможностью, которую хотелось взять из Django REST Framework, была автоматическая документация API.
112112

@@ -135,7 +135,7 @@ def read_url():
135135

136136
Существует несколько REST-фреймворков для Flask, но, вложив время и усилия в исследование, я обнаружил, что многие из них прекращены или заброшены, с несколькими нерешёнными Issue (тикет\обращение), из-за которых они непригодны.
137137

138-
### [Marshmallow](https://marshmallow.readthedocs.io/en/stable/){ #marshmallow }
138+
### [Marshmallow](https://marshmallow.readthedocs.io/en/stable/) { #marshmallow }
139139

140140
Одна из основных возможностей, нужных системам API, — «<dfn title="также называемая маршаллингом, преобразованием">сериализация</dfn>» данных, то есть преобразование данных из кода (Python) во что-то, что можно отправить по сети. Например, преобразование объекта с данными из базы в JSON-объект. Преобразование объектов `datetime` в строки и т. п.
141141

@@ -153,7 +153,7 @@ def read_url():
153153

154154
///
155155

156-
### [Webargs](https://webargs.readthedocs.io/en/latest/){ #webargs }
156+
### [Webargs](https://webargs.readthedocs.io/en/latest/) { #webargs }
157157

158158
Ещё одна важная возможность для API — <dfn title="чтение и преобразование в данные Python">парсинг</dfn> данных из входящих HTTP-запросов.
159159

@@ -175,7 +175,7 @@ Webargs был создан теми же разработчиками, что
175175

176176
///
177177

178-
### [APISpec](https://apispec.readthedocs.io/en/stable/){ #apispec }
178+
### [APISpec](https://apispec.readthedocs.io/en/stable/) { #apispec }
179179

180180
Marshmallow и Webargs предоставляют валидацию, парсинг и сериализацию как плагины.
181181

@@ -205,7 +205,7 @@ APISpec был создан теми же разработчиками, что
205205

206206
///
207207

208-
### [Flask-apispec](https://flask-apispec.readthedocs.io/en/latest/){ #flask-apispec }
208+
### [Flask-apispec](https://flask-apispec.readthedocs.io/en/latest/) { #flask-apispec }
209209

210210
Это плагин для Flask, который связывает Webargs, Marshmallow и APISpec.
211211

@@ -259,7 +259,7 @@ Flask-apispec был создан теми же разработчиками, ч
259259

260260
///
261261

262-
### [Sanic](https://sanic.readthedocs.io/en/latest/){ #sanic }
262+
### [Sanic](https://sanic.readthedocs.io/en/latest/) { #sanic }
263263

264264
Это был один из первых чрезвычайно быстрых Python-фреймворков на основе `asyncio`. Он был сделан очень похожим на Flask.
265265

@@ -279,7 +279,7 @@ Flask-apispec был создан теми же разработчиками, ч
279279

280280
///
281281

282-
### [Falcon](https://falconframework.org/){ #falcon }
282+
### [Falcon](https://falconframework.org/) { #falcon }
283283

284284
Falcon — ещё один высокопроизводительный Python-фреймворк, он минималистичен и служит основой для других фреймворков, таких как Hug.
285285

@@ -297,7 +297,7 @@ Falcon — ещё один высокопроизводительный Python-
297297

298298
///
299299

300-
### [Molten](https://moltenframework.com/){ #molten }
300+
### [Molten](https://moltenframework.com/) { #molten }
301301

302302
Я обнаружил Molten на ранних этапах создания **FastAPI**. И у него были очень похожие идеи:
303303

@@ -321,7 +321,7 @@ Falcon — ещё один высокопроизводительный Python-
321321

322322
///
323323

324-
### [Hug](https://github.com/hugapi/hug){ #hug }
324+
### [Hug](https://github.com/hugapi/hug) { #hug }
325325

326326
Hug был одним из первых фреймворков, реализовавших объявление типов параметров API с использованием аннотаций типов Python. Это была отличная идея, которая вдохновила и другие инструменты.
327327

@@ -401,7 +401,7 @@ APIStar был создан Томом Кристи. Тем самым чело
401401

402402
## Что используется в **FastAPI** { #used-by-fastapi }
403403

404-
### [Pydantic](https://docs.pydantic.dev/){ #pydantic }
404+
### [Pydantic](https://docs.pydantic.dev/) { #pydantic }
405405

406406
Pydantic — это библиотека для определения валидации данных, сериализации и документации (с использованием JSON Schema) на основе аннотаций типов Python.
407407

@@ -417,7 +417,7 @@ Pydantic — это библиотека для определения вали
417417

418418
///
419419

420-
### [Starlette](https://www.starlette.dev/){ #starlette }
420+
### [Starlette](https://www.starlette.dev/) { #starlette }
421421

422422
Starlette — это лёгкий <dfn title="Новый стандарт построения асинхронных веб-приложений на Python">ASGI</dfn> фреймворк/набор инструментов, идеально подходящий для создания высокопроизводительных asyncio‑сервисов.
423423

@@ -462,7 +462,7 @@ ASGI — это новый «стандарт», разрабатываемый
462462

463463
///
464464

465-
### [Uvicorn](https://www.uvicorn.dev/){ #uvicorn }
465+
### [Uvicorn](https://www.uvicorn.dev/) { #uvicorn }
466466

467467
Uvicorn — молниеносный ASGI-сервер, построенный на uvloop и httptools.
468468

0 commit comments

Comments
 (0)