@symfony_php

Страница 884 из 1418
Maksim
20.04.2018
07:05:43
джава - гостовая криптография, го - всякая поебень асунковая, а пхп гордо сверху на мелком подсосе)

Sergey
20.04.2018
07:06:48
или просто взять котлин)

там корутины мощнее чем на го

Maksim
20.04.2018
07:07:28
или просто взять котлин)
ты ведь мальчик не глупый) сам должен понимать, что просто взять ничего не получится)

Google
Sergey
20.04.2018
07:07:46
почему не получится?

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

Bohdan
20.04.2018
07:09:26
два чаю этому товарищу

Dmitriy
20.04.2018
07:09:39
и я того же мнения :D а Maksim пытается меня переубедить :D но я не отрицаю того, что, возможно, просто не умею готовить демонов на пхп
Можно вполне успешно молотком саморезы закручивать, и шуруповертом гвозди забивать. Но зачем?

Bohdan
20.04.2018
07:10:27
Можно вполне успешно молотком саморезы закручивать, и шуруповертом гвозди забивать. Но зачем?
ну просто есть люди, кому лень переучиваться ИЛИ кто хочет делать все на одном стеке для получения лычки "гуру" я за этой лычкой в рамках одного стека не гонюсь

Sergey
20.04.2018
07:10:28
если тебе нужен while(true) и внутри блокирубщий код, который будет чето делать - пхп норм

если нужна асинхронность - забудь за пхп

Maksim
20.04.2018
07:10:41
джаву из цепочки не выкинуть) либо она, либо си с решёточками) что касается пхп, то его роль по большей части аркестрация действий, с которой он превосходно справляется. У меня не совсем обычные консамеры

там ещё джава такой версии, что старше меня)

Sergey
20.04.2018
07:13:19
как вы шарите логику между пхп и го кодом?

Maksim
20.04.2018
07:14:44
как вы шарите логику между пхп и го кодом?
так же, как и между пхп и джавой) паб/саб, команды и эвенты. на стороне пхп есть саги, которые за всем следят и говорят что и кому делать (команды собственно)

Sergey
20.04.2018
07:15:53
несколько конкретных примеров - нужно чето выполнить в бекграунде. ну там зашел юзер к вам, закинули сообщение и в бекграунде для него прогрели все кеши; отправили эмейлик; или еще че там надо - консьюмерам нужно использовать сервисы/домены которые в пхп, т.е шарить базу и логику из инфраструктуры. с пхпшными демонами все просто, у тебя тот же DI контейнер юзается что и в вебе

Google
Maksim
20.04.2018
07:17:37
фронт аще отдельной жизнью от всей этой срани живёт. каждый из кусков выполняет свою конкретную задачу. Никаких общих мест у них нет

язык, на котором задача выполняется, вторичен

Sergey
20.04.2018
07:18:18
так не бывает

Maksim
20.04.2018
07:18:25
как скажешь)

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

Sergey
20.04.2018
07:23:46
т.е у вас просто на пхп нет никакой логики

Maksim
20.04.2018
07:24:28
скорее, наоборот. Сага - это и есть процесс, это и есть логика прохождения процесса. А вот все прочие тупые работники

Sergey
20.04.2018
07:24:54
можешь какой-нибудь конкретный пример описать?

без абстрактных "координация процесса" и тд

Andrey
20.04.2018
07:25:23
скорее, наоборот. Сага - это и есть процесс, это и есть логика прохождения процесса. А вот все прочие тупые работники
вы как-то решаете проблему остановки саги? Если процесс пошёл, но тут возникает какой-либо break от юзера

Sergey
20.04.2018
07:25:31
скорее, наоборот. Сага - это и есть процесс, это и есть логика прохождения процесса. А вот все прочие тупые работники
ммм.... я бы сказал что сага это тупой менеджер чья задача лишь в нужном порядке дернуть все, по ситуации

Sergey
20.04.2018
07:25:59
без rollback?

Maksim
20.04.2018
07:26:09
по обстоятельствам

не для всех саг он нужен в принципе

Sergey
20.04.2018
07:28:38
а этот порядок - это не твоя логика?)
"логика" слишком широкое понятие. Саги - это оркестрация. А "тупые воркеры" хранят в себе как раз таки логику обработки каждого конкретного действия.

сага не должна быть сильно умной....

она должна знать к кому в какой ситуации обращаться

Google
Maksim
20.04.2018
07:29:15
без абстрактных "координация процесса" и тд
ну тот же документооборот. у тебя есть работа с гостовой криптографией (джава), есть десятки мест, в которые нужно сходить за всеми данными и как можно быстрее и на фоне всего этого сгенерировать сраную тонну xml (го). теперь представь на фоне всего этого роль саги

Sad but
20.04.2018
07:31:08
ась?
Сага выше, остальные ниже

Я тебя так понял

Maksim
20.04.2018
07:31:36
она должна знать к кому в какой ситуации обращаться
вот она и знает как сделать хорошо себе и как разрозенные части заставить делать 1 общую задачу :)

Sergey
20.04.2018
07:32:11
Andrey
20.04.2018
07:32:30
two phase commit не решаете?)

Sergey
20.04.2018
07:36:10
в плане шаринга данных?
в плане кому принадлежит сага

Sergey
20.04.2018
07:36:58
two phase commit не решаете?)
что делать если "транзакция" длится в среднем 20-30 минут?

Maksim
20.04.2018
07:37:25
вот у меня больше вопрос в плане организации кода... вот есть у тебя сага которой надо в несколько контекстов в рамках одного процесса сходить, как ты все это организуешь?
Сага вполне себе может обращаться к любому контексту. При этом, она в целом не знает кто и как ей ответит. я всё ещё не понял суть твоего вопроса

Andrey
20.04.2018
07:37:38
что делать если "транзакция" длится в среднем 20-30 минут?
из варианта "в лоб" - временное хранилище до глобального коммита

Maksim
20.04.2018
07:37:50
я так понимаю у вас своей базы особо и нет?
отчего же) есть и вполне себе

Sergey
20.04.2018
07:38:07
отчего же) есть и вполне себе
и она принадлежит только одному "воркеру"?

который ни с кем не шарит эти данные?

Maksim
20.04.2018
07:38:46
и она принадлежит только одному "воркеру"?
у того же го есть своя локальная база для выполнения своих локальных задач. Но итоговая база да, у пхп.

Sergey
20.04.2018
07:39:11
вот, го вообще прям никак не работает с данными базы пхп?

Google
Maksim
20.04.2018
07:39:19
неа

даже не в курсе что она есть

Sergey
20.04.2018
07:39:47
а как го с пхп работает? только с сообщениями что он прислал в общую шину?

доп данные не запрашивает? ну там коллекции какие-то

Maksim
20.04.2018
07:39:57
да

запрашивает, но уже у контрагентов (всякая бюрократия по флоу проведения)

все задачи максимально атомарны. На 1 документ там пролетает сотни событий/команд. Нет вундерзадачи "сделать пиздато"

Sergey
20.04.2018
07:41:32
ясно

Maksim
20.04.2018
07:44:01
ясно
сказали сделать команду, дали инструмент (данные какие-либо для выполнения) - сделай и отчитайся о результатах. Если требуется, накинут апосля ещё шагов.

Admin
ERROR: S client not available

Damir
20.04.2018
08:05:10
У меня тут сущность пользователя большая получается (4К строк), есть что на части поделить. Может в трейты часть выделить?

Bohdan
20.04.2018
08:06:44
зачем?

Sergey
20.04.2018
08:06:53
когда ты выносишь код в трейты - ты заметаешь мусор под ковер. Этот код все еще в юзере просто теперь проблемы не видно.

Damir
20.04.2018
08:08:11
Понимаю.. Но столько уже привязано на сеттеры.. Я задолбаюсь всё переписывать

Сейчас не читабельно очень

Damir
20.04.2018
08:08:24
Хотя бы так

Не

Google
Damir
20.04.2018
08:08:33
В целом кода + php doc

Sergey
20.04.2018
08:08:43
делай что хочешь

Bohdan
20.04.2018
08:08:54
а как тебе поможет вынос в трейты?

ты их реюзать собираешься? сомневаюсь

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

Damir
20.04.2018
08:09:20
В юзере оставлю только то что к нему реально относится- телефон, почта и прочее

Что можно в сущности отдельные вытащить - в трейты

Sergey
20.04.2018
08:09:35
когда ты выносишь код в трейты - ты заметаешь мусор под ковер. Этот код все еще в юзере просто теперь проблемы не видно.
а я еще думал как бы так красиво коллеге сказать что то что он переместил гавнокод в другие методы от этого лучше не стало))

Bohdan
20.04.2018
08:09:35
телефон, почта и прочее относятся к контактным данным, а не к юзеру

Что можно в сущности отдельные вытащить - в трейты
так ты определись, отдельные сущности или трейты

Damir
20.04.2018
08:10:04
Первым этапом - вытащить в трейты

Bohdan
20.04.2018
08:10:13
если сущности - делай полноценные отдельные сущности с тем же primary key

Damir
20.04.2018
08:10:17
Потом из них уже в сущности отдельные

Bohdan
20.04.2018
08:10:26
зачем лишний промежуточный этап?

Damir
20.04.2018
08:10:53
Потому что пока есть задачи более важные

Bohdan
20.04.2018
08:11:06
тебе все равно придется исправить клиентский код после выноса отдельных сущностей

Damir
20.04.2018
08:11:14
Угу

Bohdan
20.04.2018
08:11:46
ну, если есть задачи более важные, а ты хочешь вынести куски класса в трейты, чтобы "лучше читалось" - тогда да, делай, что хочешь

и логику, которая относится к юзеру

у меня есть сущность, у которой есть только связи

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