
Vasily
28.06.2018
16:48:08
И кода меньше не станет...

Ayrat
28.06.2018
16:50:01
Ты мог все сделать через аски, прохавать все проблемы и переделать
Или оставить)

Google

Vasily
28.06.2018
16:51:20
Ну я хочу написать с некоторым заделом на будущее
Заодно, конечно, шишек набью
Чую,самый секас будет во вью моделях
Хотя туда скорее всего акку смысла нет тащить

Roman
28.06.2018
16:59:59

Vasily
28.06.2018
17:13:30
Ну судя по всему да, надо четко разделить, где акторы нужны,а где нет
В случае с бд за глаза хватит репозиториев,по идее
Канал тоже штука персистентная

Dmitry
28.06.2018
17:36:51
@vshapenko, Ayrat - вам бы ваш диалог где-нибудь сохранить, там интересные знания, полезные

Vasily
28.06.2018
17:37:13

Roman
28.06.2018
17:41:35

Ayrat
28.06.2018
17:50:37

Vasily
28.06.2018
18:09:00
Одного пока не понял-допустим, есть веб реквест как источник для запуска цепочки акторов. Вопрос- как на этот реквест возращается ответ?

Google

Roman
28.06.2018
18:12:26
Воооот. На само деле ты вот тут отправляешь аск
А тебе отвечает уже кто-то другой или
Тот же актор
Ещё вариант ты создаёшь inputbox

Vasily
28.06.2018
18:13:29
Шо есть inputbox?

Roman
28.06.2018
18:13:48
Штука которая может принимать сообщения, но не отправлять
Ты ее указываешь как Sender

Vasily
28.06.2018
18:14:11
И чем он мне поможет?

Roman
28.06.2018
18:14:31
типа
myActorRef.Tel(msg, inboxInstanse)

Vasily
28.06.2018
18:14:44
Если мне надо отправить ответ во внешний мир?

Roman
28.06.2018
18:14:46

Vasily
28.06.2018
18:15:22
В общем, на стыке я вижу немаленькую такую проблему пока

Roman
28.06.2018
18:15:35
inbox будет синхронно ждать ответа, и он может кстати хэндлить много сообщений, в отличии от ask.

Vasily
28.06.2018
18:16:31
Это называется forward
Интересно, можно ли это сделать в концепции стримов
Т.е. есть свой собственный source и sink к нему
У меня в голове просто вертится идея сделать стрим пользовательских действий
Плюс обратная шина реакций на них

Google

Roman
28.06.2018
18:21:34
Ну да.

Vasily
28.06.2018
18:21:52
Тогда к этому реально что угодно можно привесить, хоть веб,хоть морду,хоть wcf тот же
Вот где бы про это прочитать
Концепция акторов ясна, неясен пока ее стык с внешним миром

Sergey
28.06.2018
18:27:47
вот так вот и будет продавать F#
https://twitter.com/dsyme/status/1012400769050529792

Evgeniy
28.06.2018
18:38:06

Pavel
28.06.2018
18:53:18
Если мне надо отправить ответ во внешний мир?
Если речь о вебе, то тут все асинхронно. Приходит реквест, отправляется сообщение в какой-то актор(ы) и сразу же на клиент уходит респонс. А результат работы во внешний мир (клиенту) посылается через сокет например.

Ayrat
28.06.2018
19:45:15
бери любой aspnetcore проект и код который в main передирай в код актора
Т.е. теперь у тебя вебсервер может участвовать в передаче месаджей между акторами, быть приёмником и пр
вообще акка хорошо отвечает на подобные IO вопросы. Есть работа с диском? создай под это актора. (или 10). Есть эластик? и под него актора. Есть рабит? Ну ты понял
причём этот вебапп можно по требованию поднимать и глушить. Больше контроля богу контроля.

Roman
28.06.2018
19:57:22

Ayrat
28.06.2018
19:57:47
Честно, не в курсе
юзал что знаю =/

Roman
28.06.2018
19:58:08
можно в жава акке так сделали spray и всякое другое
я про чистогипотететическую возможность

Vasily
28.06.2018
21:21:11

Klei
29.06.2018
01:22:07

Evgeniy
29.06.2018
04:03:35
https://twitter.com/kozy_kekyo/status/1012508958748172288

Google

Vladimir
29.06.2018
06:26:01
Интересно сравнить перформанс с таскбилдером

Evgeniy
29.06.2018
06:26:22
Ну, это же просто хелперы, чтобы туда-сюда таски в асинки гонять.

Vladimir
29.06.2018
06:27:22
Понятно, я в код не глядел)

Vasily
29.06.2018
07:37:47
Смотрю на акка буткамп и становится мне грустно :(
https://github.com/petabridge/akka-bootcamp/blob/master/src/Unit-2/lesson2/README.md
Открываем, например, этот лессон
И что мы видим
Что внутренний стейт актора передается по ссылке
Ну как так
Вот и верь после этого людям :(
Так и знал, что калоотстойник где-то в том районе
А не, вру
Там прямо в актора передается объект
С которым работа идет

Evgeniy
29.06.2018
07:45:41

Bonart
29.06.2018
07:45:54
Наговнокодить можно с любой технологией и методологией

Vasily
29.06.2018
07:46:04
Проблемы нет, я узнал, что принцессы какают
Вот и все

Ayrat
29.06.2018
07:51:15
Что внутренний стейт актора передается по ссылке
Акка юзается в ынтерпрайзе, где нужен перформанс. По ссылке передаётся быстрее чем по значению, потому что копировать не надо.
Надо учесть что акка она для работы, а не для построения замков из хрусталя)

Google

Ayrat
29.06.2018
07:53:11
А в чём проблема что передаётся по ссылке? Что страшного-то?

Vasily
29.06.2018
07:53:55
Да расслабься

Ayrat
29.06.2018
07:53:56
Там же жырно написано в доке - все мессаджи должны быть иммутабельны, если нет - это выстрел в ногу.

Vasily
29.06.2018
07:54:14
Я просто таким образом перевариваю несовершенство мира

Ayrat
29.06.2018
07:54:26
Ну ладно)

Evgeniy
29.06.2018
07:54:47
@vshapenko А чего ты, кстати, C# версию читаешь?

Vasily
29.06.2018
07:55:08
А есть f# версия?

Evgeniy
29.06.2018
07:55:10
https://github.com/petabridge/akka-bootcamp/tree/FSharp/
Конечно.

Vasily
29.06.2018
07:55:53
@gsomix , большое спасибо
Я плохо уже ориентируюсь в этом вот всем
МОзг не справляется, скотина

Ayrat
29.06.2018
08:00:26
Да, раньше новое проще давалось. А ты акку для души или для работы насилуешь?

Vasily
29.06.2018
08:01:17
Ну сложный вопрос. Я могу легко написать на условном C# с DI и прочими прелестями. Но это тупо

Ayrat
29.06.2018
08:03:08
Да, мы тоже первую итерацию на c# делали. Потом переделали на F#. Не гнушались использовать ооп где фп не справлялось. Например когда надо было евенты лайфтайма актора юзать
Это кстати гигантский плюс F# что он может одинаково легко в ооп, о котором евангелисты мало рассказывают.

Evgeniy
29.06.2018
08:06:31
Он умеет очень хорошо про ОО в F# рассказывать.

Vasily
29.06.2018
08:07:15
Еще есть Симан, конечно
Но он периодически в дебри

Evgeniy
29.06.2018
08:09:51
Симан как раз толкает функциональное программирование.