
Sergey
09.08.2018
14:40:43
нет, не избавляет. Не в этом суть

Maksim
09.08.2018
14:40:45

F01134H
09.08.2018
14:40:58

Sergey
09.08.2018
14:41:07
нет)) точнее это как побочный эффект а не цель

Google

Sergey
09.08.2018
14:41:12
ну если что жирный намек - это все на тему того что твоя СУБД нормализованный стэйт конвертит в денормализованный резалт сет.

F01134H
09.08.2018
14:41:21
Ну избавляет же. Я ж не говорил что это сама суть

Sergey
09.08.2018
14:41:37

F01134H
09.08.2018
14:41:44
Окей

Sergey
09.08.2018
14:41:50
в 99% случаев SQL запрос проще

Alexander
09.08.2018
14:42:27
Ну типо маппинг основная функция нет?

Sergey
09.08.2018
14:42:48
намек я дал)
а потом еще намек - с тех пор как появились ORM появились документноориентированные базы и поддержка json (даже sqlite json умеет, и php даже будет с версии 7.3 уметь с этим работать)))


Artem
09.08.2018
14:49:24
ммм.... команды это команды. Или ты про команды из CQS? просто методы. Или ты про шины? определись) а так - свитчики неплохо работают)
если я ничего не путаю в терминологии, то команда - это по сути DTO, которое приходит в команд хэндлер, которые уже чё-нить там дальше дёргает из реализации бизнес-логики. Шин у меня никаких нет (во всяком случае я так думаю :D)
Тогда у разных команд будут разные данные. Команда для добавления яблока в корзину не подойдёт для команды пересылки корзины с яблоками куда-нибудь.
В общем я написал так:
https://github.com/Guuzen/UmbrBlog/blob/master/src/Post/Action/CreatePost/CreatePostBatchHandler.php
но в моём варианте будет по одному batch handler-у для каджой команды
А в свете идеи о том, что надо контролировать транзакции внутри команд хэндлера - тем более непонятно, как пачкой их выполнять =\

Sergey
09.08.2018
14:50:25
прошел массивом по командам и закинул их в шину
а там дальше все разберется

Google

Artem
09.08.2018
14:52:01
пришло время обмазываться команд басом :D

Maksim
09.08.2018
14:53:40

Artem
09.08.2018
14:55:28
Генераторы не забудь)
генераторами я на пол шишечки обмазался, но пока очень легонько, как просто data producer-ами самыми простыми

Maksim
09.08.2018
14:55:56

Artem
09.08.2018
14:57:20

Сергей З.
09.08.2018
14:58:59

Artem
09.08.2018
14:59:58
что за data producer?
вкратце гугли по слову yield
Подбробнее http://www.dabeaz.com/coroutines/Coroutines.pdf

Сергей З.
09.08.2018
15:01:23
типа generator->send($superpuper). и тот тебе что-то в генераторе сделает?

Artem
09.08.2018
15:01:46
вообще-то эта функция по идее итератор называется

Сергей З.
09.08.2018
15:01:50
ок, еще погуглю, чего-то ыбстро не нашел
кстати, чем генераторы от корутинов отличаются? Можно ликбез

Artem
09.08.2018
15:03:08
вообще вот в пдф-ке - там ликбез

Сергей З.
09.08.2018
15:03:28
о, спасибо! вообще в тему тогда

Artem
09.08.2018
15:03:48
сам я его ещё не читал, так что объяснить не смогу

Сергей З.
09.08.2018
15:04:11

Combot
09.08.2018
15:04:11
Сергей З. (0) увеличил репутацию Knopkod4v Artem (1)

F01134H
09.08.2018
15:04:48
корутины это сопрограммы, работающие параллельно

Сергей З.
09.08.2018
15:06:27

Google

F01134H
09.08.2018
15:06:42
в пхп нет корутин

Anton
09.08.2018
15:06:49

F01134H
09.08.2018
15:06:57
Ну да

Anton
09.08.2018
15:07:11
И чем я пару лет только занимаюсь...

F01134H
09.08.2018
15:07:14
Предлагаю прилагать к комментариям аргументы

Anton
09.08.2018
15:07:33
https://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html
Сойдет за аргумент?

Сергей З.
09.08.2018
15:08:00
https://habr.com/post/164173/ - ну я вот это сейчас смотрю

Anton
09.08.2018
15:08:21
Собсно перевод того что я отправил :)

F01134H
09.08.2018
15:08:56
Неплохо
Но генераторы и корутины все равно разные вещи

Anton
09.08.2018
15:09:32
В любом языке с поддержкой генераторов де-факто есть корутины. Дальше только вопрос сахара.
Понятно что разные
С этим вроде никто и не спорит

F01134H
09.08.2018
15:10:13

Сергей З.
09.08.2018
15:10:14

Anton
09.08.2018
15:10:45

F01134H
09.08.2018
15:10:52
Параллельно

Сергей З.
09.08.2018
15:10:52

Google

Anton
09.08.2018
15:11:05
Асинхронность != Параллельность

F01134H
09.08.2018
15:11:09
Именно

Alexander
09.08.2018
15:11:56

Maksim
09.08.2018
15:13:08
они работаю конкурентно) что нихрена не означает, что они работают асинхронно или параллельно)

F01134H
09.08.2018
15:13:28
Параллельность частный случай конкуретности

Сергей З.
09.08.2018
15:13:31

Maksim
09.08.2018
15:14:08

Сергей З.
09.08.2018
15:14:34

F01134H
09.08.2018
15:16:32
@zloyuser был не прав, каюсь

Admin
ERROR: S client not available

F01134H
09.08.2018
15:16:37
перепутал термины
бле, перепутал я потому что вспомнил горутины из го

Maksim
09.08.2018
15:17:55
горутины из го - корутины

F01134H
09.08.2018
15:17:57
там как раз конкурентность а как следствие паралельность

Anton
09.08.2018
15:17:59
никакой разницы

Maksim
09.08.2018
15:18:02
ну так, для справки

F01134H
09.08.2018
15:18:06

Anton
09.08.2018
15:18:09
неа

Maksim
09.08.2018
15:18:12
нету

Google

Anton
09.08.2018
15:18:13
тебе кажется

F01134H
09.08.2018
15:18:16
в пхп корутины асинки, а голанге конкуретные

Maksim
09.08.2018
15:18:33
какие к херам асинки?

Anton
09.08.2018
15:18:34
... штудируй термины

F01134H
09.08.2018
15:18:58
что значит штудируй термины, ты выше сам сказал что корутины в пхп асинхронные

Maksim
09.08.2018
15:19:07
он не мог такого сказать
слишком умный парень, что бы ляпнуть такую хрень)

F01134H
09.08.2018
15:20:01
Собсна а в чем проблема, я сказал что они работают параллельно, где я ошибся?
В том что не параллельно
Параллельно
Асинхронность != Параллельность
множество источников говорит о том же
что корутины в пхп это просто асинхронное выполнение кода
а в го параллельное, многопоточность в чистом виде

Maksim
09.08.2018
15:20:50
ларавельщики...

F01134H
09.08.2018
15:21:38

Maksim
09.08.2018
15:22:01
аргументы?) у тебя понимания базвордов нет аще никакого. чё толку аргументы приводить?)

Anton
09.08.2018
15:22:02
Го ещё и мультиплексирует их
Те на одном ядре будет асинхронно
На двух параллельно

F01134H
09.08.2018
15:22:19

Maksim
09.08.2018
15:22:37

F01134H
09.08.2018
15:23:44
http://php.net/manual/en/language.generators.syntax.php