ru_python | Unsorted

Telegram-канал ru_python - Python

14289

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/1961404

Subscribe to a channel

Python

там же как пишутся приложения - все приложение засовывается в спринг, он тебе менеджит зависмости\споупы,с ним же можно и тестировать. и реальной потребности дёргать контейнер вручную как таковой нету.

Читать полностью…

Python

а, понял о чём ты, ок

Читать полностью…

Python

вот не сталкивался с таким)

Читать полностью…

Python

а не важно как он это делает, кто вызовет спринг?

Читать полностью…

Python

открыл телегу, а тут джава, предупреждать же надо

Читать полностью…

Python

ну вот представь что у тебя есть основной цикл событий в духе

while (true) {
BaseEvent event = src.get_next();
handle(event)
}


вопроса 2:
1. Как сделать диспатчинг чтобы разные типы эвентов обрабатывались разными хэндлерами
2. Как пересоздавать зависимости на вызов хжндлера?

Читать полностью…

Python

наследуемся от typing.Protocol

Читать полностью…

Python

канешн. но не сложное

Читать полностью…

Python

смотря где. Если на границе скоупа дергаешь container.get(интерфейс), если внутри основного кода - просто в конструктор получишь

Читать полностью…

Python

так ладно, представь что я джавист с ООП головного мозга. как мне из контейнера получить не someclient, а штуку у которой одинаковый с ней интерфейс но другая реализация (мок например)

Читать полностью…

Python

внутри SomeClient делается dependency injection

Читать полностью…

Python

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

Читать полностью…

Python

Какая в общем-то разница, в какую очередь вставать.

Читать полностью…

Python

<смайлик со слезами>

Читать полностью…

Python

У меня для этого есть вот такая поделка

Читать полностью…

Python

Если бы скоупов не было, один раз бы все в мейне создал и полетел. Но так как мы хотим на запрос пересоздавать что-то, в этом месте приходится контейнер дергать

Читать полностью…

Python

собственно с дишкой у тебя точно так же - ты отедлньо настраиваешь фабрики в провайдерах (бины?) и отдельно интеграцию с фреймворком (инжект в хэндлер)

Читать полностью…

Python

если у тебя цикл событий отдельно от спринга, спринг кто-то должен дернуть в момент вызова хэндлера

Читать полностью…

Python

ну спринг это всё рефлексией делает, по аноташкам. а так наивная реализация - где-то мапу держать хендлеров и типов. их можно паттерн матчить например. ну и так же держать инстансы зависимостей и вставлять их куда надо (или создавать новые). но вот в том то и дело, что у того же спринга или асп нета это всё под капотом работает и вообще не парит разработчика) но в принципе понял твою мысль

Читать полностью…

Python

и вот где-то тут возникает вызов конетйнера

Читать полностью…

Python

class SomeProtocol(Protocol):
async def foo(self, session_id: str) -> None: ...



class Impl:
async def foo(self, session_id: str) -> None:
print("1")



class UseCase:
def __init__(self, gateway: SomeProtocoll):
self._gateway = gateway

Можно наследоваться от интерфейса чтобы в ide было удобнее перемещаться

Читать полностью…

Python

ладно, а как вы интерфейсы то в питоне описываете? если влом можешь не отвечать, у чатагпт спрошу

Читать полностью…

Python

ты писал когда-нибудь на джаве без спринга?

Читать полностью…

Python

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

Читать полностью…

Python

разница сервис локатора и контейнера в том, что
1. с сервис локатором ты всё достаешь из него
2. с контейнером ты его дергаешь только на границах скоупов в цикле событий, а в сами классы происходит DI

Читать полностью…

Python

client = container.get(SomeClient)  # `SomeClient` has Scope.APP, so it is accessible here
client = container.get(SomeClient) # same instance of `SomeClient`
сервис локатор же

Читать полностью…

Python

если запустить asyncio задачу для просчета кеша для io-bound задачи вместо того ,чтобы просчитывать эту задачу в интеракторе, то я получу прирост в производительности?

Читать полностью…

Python

а асинхронный код тебе чем тогда поможет?

Читать полностью…

Python

очевидно только переписать его на асинк

Читать полностью…

Python

А какие есть варианты чтобы синхронный код работал асинхронно? Очевидно что можно создать пул ThreadPoolExcutor, чтобы после 10 запросов сразу все или легло или в лучшем случае встало в очередь.
Там такая запара 120к строчек в асинхронный формат переделывать.

Читать полностью…
Subscribe to a channel