169 похожих чатов

Оправдания: 1) про синглтон. Выпилил и согласен, что инстанциировать джобы стоит

в 1 месте -> синглтон в помойку. Скрин 1 — решение проблемы. Норм? В самом регистраторе джоб не вижу проблем.

2) Оправдаюсь, что тройку я не тыкал и пока бест-практисы из нее отложим. Со всем остальным, не указанным в вопросах, я понял что не так сделал и займусь фиксом.

Вопросы:
1) Наследование и БД: у нас есть базовый класс DB, который определяет базовое поведение любого интерфейса взаимодействия с базой. На данный момент реализовано пробрасывание извне sessionmaker. Почему вышеописанное неверно с точки зрения наследования?
2) i18n. Я так понимаю, что он является стандартом де-факто. А что если предполагается 1 язык в боте? Не является ли i18n, в первую очередь, как инструмент для реализации мультиязычности, оверинжинирингом, а если является, что юзать вместо него, не храня втупую string-ами в .py?
3) Я сейчас занимаюсь реализацией 2 точек входа в аппку: стандартная (__main__) и cli, который будет надстройкой и всякое уметь: стадия проекта (dev/prod), polling / webhook etc. Верна ли идея или должна быть только 1 точка входа?
4) Нормально ли создавать таблички через Base.metadata.create_all?
5) Loguru: слышал отзывы и «за» и «против» него. Хотелось бы еще и ваше мнение, желательно аргументированное. Из того, что я слышал против логуру: лишняя зависимость, сложно встраивать параллельно с logging (а мне этого и не надо), мол медленно работает.
6) Специфика генератов и памяти. 2 скрин. Я правильно реализовал генератор получения юзеров? Или там один хрен с листом по потреблению будет?
7) Класс, вложенный в класс — почему плохо? А как же Base?

56 ответов

258 просмотров
Асоквер C6H4C12 #катякурица
скрины где

не влезло. Нужный скрин приложил.

5. Не видел адекватных аргументов "за". Как правило это неумение написать logging.basicConfig. В остальном это дикий тормоз для твоего приложения

5. Вот тут тред: https://t.me/ru_python/1574161

1) Вопрос в том, почему класс ORM и класс с методами юзера (по сути запросы к бд) - это наследник и родитель 2) Fluentogram и точка 3) Проект не должен знать нихуя про продакшн или dev 4) пойдёт 5) мне похуй, даю добро.Главное в либы не пихай 6) Нелимитированные запросы - плохо 7) У Тишки есть материал на эту тему

Alex RootJunior 🇺🇦
5. Вот тут тред: https://t.me/ru_python/1574161

О, напомнил, как думаешь, стоит ли к питон боту приделать OpenTelemetry чтоб вообще пиздец

Aleksandr Danilov 🇺🇦
О, напомнил, как думаешь, стоит ли к питон боту пр...

Я приделал, но он включается только в дев среде. Ибо пиздец процессору в проде

Aleksandr Danilov 🇺🇦
1) Вопрос в том, почему класс ORM и класс с метода...

2) А как тогда менеджерить версии проекта (dev/prod)? UPD: юзкейс: 2 бота: 1 в проде, другой в локалке для тестирования. При деплое просто меняем значение с dev на prod и проект дергает другой конфиг.

Aleksandr Danilov 🇺🇦
О, напомнил, как думаешь, стоит ли к питон боту пр...

не накручиваю ничего специального в само приложение максимум это пару метрик прометеуса и то редко если нужна статистика - рисуются графики по логах

Aleksandr Danilov 🇺🇦
Снаружи

Откуда «снаружи»? CLI — это снаружи, но тогда проект знает про свою версию..

Alex RootJunior 🇺🇦
не накручиваю ничего специального в само приложени...

Ну, телеметрия (читай егерь) больше для разбора боли с общением между сервисами. Я вот пока не решил что мне поможет корректно это мониторить. Сентри меньше ест, но мне наглядная

Aleksandr Danilov 🇺🇦
подменяй енвы

Окей, подумаю как это не через жопу реализовать

⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Andrey @Karych
Окей, подумаю как это не через жопу реализовать

Пайдантик сеттингз. А дальше хочешь енвы, хочешь секреты - он всё жрёт из коробки

Oleg A.
Пайдантик сеттингз. А дальше хочешь енвы, хочешь с...

хоть динаконф и он еще больше форматов из коробки кушает

Alex RootJunior 🇺🇦
хоть динаконф и он еще больше форматов из коробки ...

Кстати, а можно ли пайдантик заменить на что-то более быстрое

Aleksandr Danilov 🇺🇦
Кстати, а можно ли пайдантик заменить на что-то бо...

Если ты про чтение конфигурации, то он очень просто кэшируется и все :)

Aleksandr Danilov 🇺🇦
Кстати, а можно ли пайдантик заменить на что-то бо...

датаклассы динаконфом парсишь, собираешь в датаклассы

Aleksandr Danilov 🇺🇦
и да, нахуя кэшировать конфиги

Чтобы не ходить за ними в енв каждый раз...

Aleksandr Danilov 🇺🇦
я в целом про тройку, где пайдантик везде

по секрету (не секрет) скажу что в 4.0 планирую выпиилить pydantic

Oleg A.
Чтобы не ходить за ними в енв каждый раз...

ну ахуеть задержки при том что конфиги читаются пару раз

Aleksandr Danilov 🇺🇦
ну ахуеть задержки при том что конфиги читаются п...

абстрактные 3 нсек умножаем на 300кк рпс, получаем пару часов задержек на чтение конфигов

Alex RootJunior 🇺🇦
по секрету (не секрет) скажу что в 4.0 планирую вы...

на четвёрке мои внуки будут писать, мне бы как-то в обход, пораньше

Oleg A.
Не используй, чё пристал)

чем плох условный class Pizdos: def __init__(self, **kwargs) -> None: self._configure(kwargs) def _configure(self, cfg: Dict[str, str]) -> None: ... def reconfigure(self, cfg: Dict[str, str]) -> None: self._configure(cfg) Тут конечно лишний метод, но суть в целом ясна конфиг надо в датакласс ещё поменять чтоб прям хорошо

Aleksandr Danilov 🇺🇦
чем плох условный class Pizdos: def __init__(...

Какие-то лишние нагромождённости. Проще надо быть

Alex RootJunior 🇺🇦
по секрету (не секрет) скажу что в 4.0 планирую вы...

А подскажи ещё фичей под четвёрку, буду форк пилить

Alex RootJunior 🇺🇦
по секрету (не секрет) скажу что в 4.0 планирую вы...

В пятерке, я считаю, что и мидлвари нужно выпилить

Tishka17
Зачем?

Непонятно в какой момент и когда запускается какой код, нерационально и нелинейно

ᴠᴇʀᴍɪ // не турбувати
а почему не в 3.0?

на этапе бета-теста такое изменение поздно делать

Tishka17
Зачем?

он не в восторге от выпиливания фабрики фильтров

Tishka17
Слышал паттерн декоратор?

Ты мою иронию так и не понял?

Вот зачем она нужна была я сразу не понимал

Tishka17
Вот зачем она нужна была я сразу не понимал

чтобы ракушки приходящие из телебота могли писать text="text", но круче

Aleksandr Danilov 🇺🇦
Да ладно

Неужели ради такой мелочи форк делать

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Карта сайта