@Fsharp_chat

Страница 622 из 772
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
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
И чем он мне поможет?
Забудь, скорее всего тебе inbox не понадобится

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

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

В общем, на стыке я вижу немаленькую такую проблему пока
Шлёшь ask и все ок. Просто sender всегда передаешь дальше по цепочке.

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). Есть эластик? и под него актора. Есть рабит? Ну ты понял

причём этот вебапп можно по требованию поднимать и глушить. Больше контроля богу контроля.

Ayrat
28.06.2018
19:57:47
Честно, не в курсе

юзал что знаю =/

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

я про чистогипотететическую возможность

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
Симан как раз толкает функциональное программирование.

Страница 622 из 772