
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

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
так не бывает

Artem
20.04.2018
07:18:24

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

Sergey
20.04.2018
07:25:31

Maksim
20.04.2018
07:25:45

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:30:23

Maksim
20.04.2018
07:30:33

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

Maksim
20.04.2018
07:31:36

Sergey
20.04.2018
07:32:11

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

Maksim
20.04.2018
07:32:49

Sergey
20.04.2018
07:36:07

Sergey
20.04.2018
07:36:10

Sergey
20.04.2018
07:36:58

Maksim
20.04.2018
07:37:25

Andrey
20.04.2018
07:37:38

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
когда ты выносишь код в трейты - ты заметаешь мусор под ковер. Этот код все еще в юзере просто теперь проблемы не видно.

Salem
20.04.2018
08:08:02

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

Sergey
20.04.2018
08:08:23

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
ну, если есть задачи более важные, а ты хочешь вынести куски класса в трейты, чтобы "лучше читалось" - тогда да, делай, что хочешь
и логику, которая относится к юзеру
у меня есть сущность, у которой есть только связи