Обновить

Production‑стек для мессенджера на 10к пользователей: FastAPI, SQLite в проде и почему монолит

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9.2K
Всего голосов 3: ↑3 и ↓0+3
Комментарии8

Комментарии 8

Чем объясняется использование очень старых версий библиотек? Буквально недавно в том же python-multipart находили уязвимость.

Pinned версии у меня изначально для стабильности чтобы апдейт зависимостей не уронил production. Но регулярного обновления security-patches системно нет, это слабое место и я его осознаю. Про python-multipart точно поправлю на этой неделе там реально была CVE с DoS через multipart boundary, у меня медиа-загрузки открыты, это релевантно. В целом такая ситуация требует автоматизации. Сегодня поставлю dependabot или хотя бы запущу safety check руками по всем зависимостям. Спасибо что обратили внимание, это полезный пинок

Очень похоже на нейросгенерированный текст. Рубленные предложения, этот стиль странный... Вроде не из церкви свидетелей нейрослопа, но вот этот рубленный слог тревожит.

Абзацами удобнее читать когда мысль разделена и нет сплошного текста

нужно знать где он лежит

Любой нормальный редактор и уж тем более любая IDE поддерживает поиск по всем файлам проекта, вы выдумали несуществующую проблему и усложнили себе жизнь для решения проблемы которой нет

15 зависимостей

И ещё 20 зависимостей этих зависимостей, которые вы не запинили и которые однажды обновятся и обязательно сломают вам прод

Pydantic для валидации входящих JSON

Повелись на попсу, которая работает не очень-то и хорошо https://adaptix.readthedocs.io/en/latest/why-not-pydantic.html

async with self._conn_lock:

У вас под этим локом нет ни одной асинхронной операции, соответственно он здесь просто не нужен

И ещё 20 зависимостей этих зависимостей, которые вы не запинили и которые однажды обновятся и обязательно сломают вам прод

Как стало модным в комментариях к этому посту,

... а какие оправдания автор придумал себе, чтобы не использовать uv add, uv lock, uv sync и даже uv tree --outdated для "safety check руками по всем зависимостям" ?

:)

А какие оправдания ты себе придумал что бы не использовать аннотацию типов и линтер? Подождешь еще немного пока это не начнет создавать проблемы на пустом месте и потом всё разом перепишешь на расте?

Да

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации