Tishka17
Ай да ладно. Спасибо. Просто всякие хламы попадают в гугле
Попробуй начинать всегда с Википедии. А по питону с python.org
Alex
А как же ctrl-x? Перемаппил?
я хз какой там плагин, просто ctrl-p это устоявшееся (уже не помню откуда название) для поиска по файлам \ табам \ etc.
Alex
вообще надо бы перетрусить свой конфиг, он далеко неоптимальный.
Tishka17
Какой файл запускаешь?
Tishka17
Какие мелкие отступы в дереве
Tishka17
Вообще же не видно уровней
Tishka17
Не вижу его на скрине
Tishka17
forms и микрблог в одной папке?
Tishka17
Ну а хули?
Tishka17
from app.forms import zzxx
Tishka17
Не?
Tishka17
Тебе Алекс уже сказал куда идти читать
Tishka17
А что. Без венва видит?
Никита
Поцаны для чего нужны библиотеки и что такое фраемворк
Egor
Поцаны для чего нужны библиотеки и что такое фраемворк
ну смотри, вера в бога это библиотека, а христианство это фреймворк, при условии что вера это элемент стандартной библиотеки человеческих потребностей
Tishka17
Поцаны для чего нужны библиотеки и что такое фраемворк
Библиотеки - это готовые модули со всякой фигней. Фреймворк - большая жирная библиотека или куча библиотек для решения какой-то очень большой задачи типа разработки сайта
Alex
а при чем тут venv вообще?
Tishka17
При чем тут мегаучебник? Это база питона
Alex
эм... а нахуя ты свой микроблог прямо в venv запихал?
Tishka17
Ой. Это я даже не заметил
Tishka17
Иди научись импортам уже
Tishka17
Не научен
Tishka17
Венв никакой магии не делает, просто меняет место куда Пип кладет модули.
Alex
эм.. обычно люди делают папку с проектом, а в нем уже venv.
Alex
свои файлы проекта ты в общем-то не должен в венв класть.
Tishka17
В остальном это то же самое что ты бы в комп все ставил
Alex
ну или venv в другом месте где-нибудь еще.
Alex
т.е. свои файлы проекта запихивать в папку с venv как минимум странно
Tishka17
Народ. Вот у меня есть clean architecture условно. Есть репозиторий (дао) и есть инткрактор (бизнес логика). Вопрос: где транзакции?
Oleg
Народ. Вот у меня есть clean architecture условно. Есть репозиторий (дао) и есть инткрактор (бизнес логика). Вопрос: где транзакции?
когда тебе в рамках бизнес логики надо вызвать методы нескольких разных репозиториев в рамках одной транзакции?
Tishka17
Делать в репозитории абстракцию над транзакцией?
Tishka17
Да
Tishka17
Хм.
Tishka17
Надо подумать
Tishka17
Блин
Oleg
ну если общий делаешь какой-нибудь context manager, который в этом единственном коннекшене стартует транзакцию
Oleg
сложнее когда у тебя, например, асинхронщина и соответственно connection pool
Tishka17
Так. Окей, а кто держит коннект к базе? Репозиторий?
Oleg
в таком сценарии я бы делал через контекст, а репозитории получали бы коннекшен из этого контекста, если он есть, или из пула если его нет
Tishka17
Хм
Oleg
ну или держит коннект сам либо знает откуда его получить
Tishka17
Репозиторий stateless и получает контекст или все же же создается под юз кейс и хранит коннкшн?
Oleg
Репозиторий stateless и получает контекст или все же же создается под юз кейс и хранит коннкшн?
ну если у тебя там один коннект, значит это не асинхронщина, а значит и контекст тебе не нужен
Oleg
Ну допустим треды
с тредами тоже просто. Там у тебя скорее всего будет threading.local и у каждого треда свой db-коннект
Anonymous
Ребят, кто может помочь?
Oleg
Откуда у меня трединг локал?
Ну это логично же, разве нет?
Anonymous
Помогите, плиз
Проксимов
Помогите, плиз
*intensively helping*
Anonymous
кто-то может
Может вы мне поможете? Это важно, меня могут отчислить
Tishka17
Вообще какая разница репозиторию на треды
Tishka17
Он должен работать
Oleg
Ну почему же.
Ну потому что шарить один коннект между тредами это стремная затея
Alex
Может вы мне поможете? Это важно, меня могут отчислить
ну так отлично же. стране нужна сильная армия.
Tishka17
Почему бы не иметь в одном треде несколько коннектов, например
Anonymous
Alex
Вау, спасибо 🤦‍♀️👍
пожалуйста. всегда рад помочь.
Oleg
Почему бы не иметь в одном треде несколько коннектов, например
а зачем если все запросы последовательно выполняются?
Alex
а зачем если все запросы последовательно выполняются?
например потому что могут быть две параллельные независимые транзакции.
Tishka17
Мало ли
Tishka17
Вообще, треды - это дело воркера. Даже не бизнес логика
Oleg
например потому что могут быть две параллельные независимые транзакции.
Это интересный кейс. Но, по-моему, довольно редкий
Tishka17
И уж точно не дело репозитория
Alex
😂👍
вот видите какое дружелюбное комьюнити, совсем не токсичное.
Oleg
И уж точно не дело репозитория
Тем не менее репозиторий может быть thread-safe, а может быть - нет
Oleg
Ну в любом случае у тебя может быть какой-то объект представляющий connection pool. Репозиторий когда собирается сделать запрос запрашивает из него коннект. Connection pool смотрит на контекст, если он есть, то берет коннекшен из него, если его нет - то берет любой свободный коннект