@symfony_php

Страница 1373 из 1418
Леонид
08.10.2018
18:31:08
Andrew
08.10.2018
18:31:24
тут не про количество баз данных
понял, пойду перечитаю про саги.

Google
Sergey
08.10.2018
18:34:07
Проблемы возникла из-за того, что один коллега в проекте в репозиториях сохраняет flush (entity ), можно сказать это новый проект . У нас мало опыта работы с доктриной, а другие разрабы увидели и говорят, что так делать не надо.
ну то есть я бы просто попросил его так НЕ делать. Объяснил бы про unit of work, про все эти штуки в доктрине которые позволяют делать flush один раз как точку сохранения данных. Обсудил бы вопросы уменьшения длины транзакций, стратегии по работе с локами и т.д.

Konstantin
08.10.2018
18:34:50
@fesor а у тебя блог есть со всеми этим выкладками?

Sergey
08.10.2018
18:34:52
ну то есть нет универсальных рецептов - есть просто совет - делать агрегаты поменьше, следить за тем что бы в операциях на запись участвовали только те данные которые там реально нужны...

Konstantin
08.10.2018
18:35:01
кмк это было бы намного лучше туда отправляться читать надосуге

Sergey
08.10.2018
18:35:07
@fesor а у тебя блог есть со всеми этим выкладками?
нет, все время на чаты уходит и на говнокодинг на проектах

Konstantin
08.10.2018
18:35:11
я бы и сам почитал вместо чата

эх печаль )

Sergey
08.10.2018
18:35:26
я думал об этом, вопросы ж стандартные

но блин ты не представляешь насколько быстро можно наклепать полотно текста в чате и насколько долго пилится "пост в блоге"

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

Google
Konstantin
08.10.2018
18:36:21
это классика dry - либо раз в 3 месяца лекция про flush, либо один раз в блоге + мелкие правки )

Sergey
08.10.2018
18:36:43
до сих пор обидно что из статей на хабре больше всего плюсиков у меня за высер написанный за полтора часа, а остальные статьи которые минимум 2-3 дня занимали - меньше

sgworker
08.10.2018
18:46:29
ну то есть я бы просто попросил его так НЕ делать. Объяснил бы про unit of work, про все эти штуки в доктрине которые позволяют делать flush один раз как точку сохранения данных. Обсудил бы вопросы уменьшения длины транзакций, стратегии по работе с локами и т.д.
если изменены 2 агрегата, а сохранить нужно 1, как быть? ответ не делать так не убедителен, в том плане, что персистентность не должна быть никак связана с бизнес-логикой, зачем и почему я меняю два агрегата, а сохраняю только 1 - это вопрос бизнеса

Sergey
08.10.2018
18:51:11
ну то есть опиши юзкейс - тогда поговорим. Пока я нахожу это заявление крайне сомнительным

и попыткой прикрыться бизнесом

sgworker
08.10.2018
18:52:33
а зачем менять два агрегата а сохранять один? изменения во втором не нужны?
допустим были внесены изменения, но последующая логика эти изменения отменяет, но я настаиваю что этот вопрос вообще не имеет значение, т.к. слой персистентности в данном случае начинает навязывать некоторую логику работы домена

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

Sergey
08.10.2018
18:57:19
а вообще звучит как те самые компенсационные транзакции

sgworker
08.10.2018
18:59:49
а вообще звучит как те самые компенсационные транзакции
да, но смысл в них, если откат происходит в рамках 1 бизнес-транзакции и может быть реализован на уровне логики, до сохранения

Sergey
08.10.2018
19:00:42
да, но смысл в них, если откат происходит в рамках 1 бизнес-транзакции и может быть реализован на уровне логики, до сохранения
еще раз - flush на это никак не влияет. flush у тебя должен вызваться либо после каждой такой логической операцией + дальше накатывать новые компенсационные, либо один раз на всю операцию включая откат изменений

Maksim
08.10.2018
19:00:52
но опять же - не рекомендую бездумно в это лазить
Я бы и осознанно не рекомендовал))

Sergey
08.10.2018
19:01:21
просто инфраструктуру надо для этого годную) которой пока нет)

если ты не дотнетчик)

Maksim
08.10.2018
19:01:54
И вряд ли случится, имхо

Google
Maksim
08.10.2018
19:02:20
Либо левые поделки, либо нихера. Это не нужно ларавель формошлёперам

knopkod4v
08.10.2018
19:04:45
Либо левые поделки, либо нихера. Это не нужно ларавель формошлёперам
но что же нам тогда делать?! Мы тоже хотим быть модными! :D (А хотя я знаю - мы будем делать микросервисы, а кто победнее - просто сервисы)

Maksim
08.10.2018
19:05:45
Я живое воплощение тщетности пути mba в пхп) дорого и безумно сложно. Год работы, а с того же дотнета ещё и трети не скопипижжено

Maksim
08.10.2018
19:06:51
Andrew
08.10.2018
19:06:56
lol

Vladislav
08.10.2018
19:07:14
а кто ещё беднее - просто синхронный комманд бас
а можно просто в контроллере $em->find(id), return view

?

Icewild
08.10.2018
19:07:34
класс

Maksim
08.10.2018
19:07:47
knopkod4v
08.10.2018
19:09:41
а можно просто в контроллере $em->find(id), return view
а это уже как-то совсем не модно выглядит, даже баззворда никакого нету =\

Sergey
08.10.2018
19:10:39
Message-based arch
ну на самом деле я думаю тут больше вопрос приоритизации фич...

пока же я думаю основная проблема - отсутствие адекватной экосистемы и сложности с отладкой - сильно так перевешивают плюсы

да и вообще просто люди которые могут это сделать - им обычно впадлу)

Maksim
08.10.2018
19:11:40
Мне пока не впадлу) едем дальше)

Sergey
08.10.2018
19:11:43
ну и еще момент - ты если хочешь такое сделать - тебе надо идти в консалтинг что бы иметь возможность по максимуму счупать разные юзкейсы

правда тогда есть шанс стать евангелистом MBA

Maksim
08.10.2018
19:12:31
Да я уже)

Sergey
08.10.2018
19:12:41
с другой стороны - чуть что можно выучить по быстрому джаву или дот нет и писать все на всяких akka

Google
Sergey
08.10.2018
19:13:01
хз модно сейчас это или нет но год-полтора назад было модным

Maksim
08.10.2018
19:13:21
В пхп не модно, и это главное горе)

Нету фидбэков и годных набросов

Bohdan
08.10.2018
19:14:30
sgworker
08.10.2018
19:14:51
В пхп не модно, и это главное горе)
99% в пхп это сайты с простым CRUD, нет потребности, - потому и не модно

Sergey
08.10.2018
19:15:48
эти самые 99% процентов проектов обычно не очень сытные

и нас больше интересует тот 1% который довольно вкусный

sgworker
08.10.2018
19:16:16
Sergey
08.10.2018
19:16:18
правда... я не думаю что имеет смысл это делать на php)

Bohdan
08.10.2018
19:17:03
Эт аще дно, как по мне)
у меня просто нет гошников, чтобы писали за меня

Maksim
08.10.2018
19:17:12
Хз) я до предела пхп ещё не дошёл, не знаю.

Дойду, перепишу на го)

Sergey
08.10.2018
19:18:00
Хз) я до предела пхп ещё не дошёл, не знаю.
я видимо тоже... потому php это все еще 50% моего кода. Еще 40% это тайпскрипт и еще 10% это всякие баши питоны

я все мечтаю выбраться из тресины пыха и забыть о нем как о страшном сне но... стокгольмский синдром

Konstantin
08.10.2018
19:19:15
го на котлин я создал

Sergey
08.10.2018
19:19:24
го или котлин)

Konstantin
08.10.2018
19:19:40
и да, там есть дсл, я узнавал

Google
Maksim
08.10.2018
19:19:41
я все мечтаю выбраться из тресины пыха и забыть о нем как о страшном сне но... стокгольмский синдром
Хз. я фронтом не обмазываюсь, а с точки зрения бэка пока запас есть

Sergey
08.10.2018
19:19:55
потому что адекватных там еще меньше

Maksim
08.10.2018
19:20:10
Alexander
09.10.2018
14:39:15
Как сегодня тут тихо, неожиданно)) Всем привет. Кто-то может подсказать: "leftJoin( 'AppBundle:RelSubscriptionLevel', 'rsl', 'WITH', 's.id = rsl.subscriptionId and rsl.levelId in(:level)' )" Таким образом все работает, но нужно точное совпадение по массиву, in не подходит потому, а eq - ругается

Alexander
09.10.2018
14:51:21
Искать совпадение всех элементов массива, а не хотя бы одного)

Heorhi
09.10.2018
14:55:24
В цикле добавить много where levelId =?

Alexander
09.10.2018
14:56:42
Не хотелось бы, это уже крайний вариант так сказать, не особо верится что доктрина сделала in и не сделала что то по типу eq

Konstantin
09.10.2018
14:58:23
как правильно организовать статистику по входам юзеров ? есть юзерсы, есть "девайсы" (сущности-девайсы, install_id, type (android/ios)), как правильно замутить хранение (и отображение в админке) всей статистики по входам юзерсов через девайсы? many-to-many, очевидно напрямую мапить смысла нет через доктрину

Alexander
09.10.2018
15:06:52
Могу ошибаться, но тут может таки и не нужно привязки к сущностям. Только представить, объект юзера будет грузить в себя слишком много логовых..

Konstantin
09.10.2018
15:07:54
может отдельный LogEntry (user, device, timestamp) завести?

Bohdan
09.10.2018
15:07:57
а тут вот можно подумать про influxdb и делать связи уже по факту (после выборки)

Страница 1373 из 1418