
Vasily
21.06.2018
15:53:15
А стейт один?

Ayrat
21.06.2018
15:53:33
у каждого будет свой, это будут разные инстансы одного типа

Vasily
21.06.2018
15:53:41
Печалька

Ayrat
21.06.2018
15:54:04
ну, в теории они могут смотреть на общедоступный глобальный объект,но это ересь

Google

Ayrat
21.06.2018
15:54:13
Можешь ещё раз рассказать зачем тебе общий стейт?

Vasily
21.06.2018
15:54:18
Ну смотри
У меня платежный терминал
У него есть экран
Набор девайсов
Плюс платежная сессия

Ayrat
21.06.2018
15:54:53
(о, я лепил кассовую хрень тоже на акке кстати), продолжай)

Vasily
21.06.2018
15:54:55
В каждый момент времени одна
Соответственно один актор на стейт экрана, на каждый девайс по актору, на коннекшн с сервером этц

Ayrat
21.06.2018
15:55:46
я начинаю понимать. сделай актора платёжная сессия, которая будет стейт машиной (в акке это Become)
нене, по актору на стейт зачем? они же синхронно должны работать.
стейт один, он меняется. пусть один актор за стейт и отвечает
актор как стейт машина - это норм. в доке там даже есть пример

Vasily
21.06.2018
15:56:41
Ну ты предлагаешь поднимать актор общий

Google

Vasily
21.06.2018
15:56:50
Внутри которого создавать инстанс
ы
Ну как вариант, да
Типа роутер

Ayrat
21.06.2018
15:57:14
внутри создать и инкапсулировать работу со стейтом экрана
да, роутер или диспетчер тоже норм

Vasily
21.06.2018
15:57:43
Думаю над этим вопросом, но навыка пока не хватает
В итоге так и придется делать

Ayrat
21.06.2018
15:58:43
если надо поменять экран, обращаешься к актору с месаджем, он проверят допустимость действия (в зависимости от текущего состояния) и или посылает лесом, или меняет. Актор синхронный, поэтому рейсов не будет

Vasily
21.06.2018
15:58:54
ПОтому как терминал - частный случай
Ну пока я сделал команды на смену экранов
Типа вперед, назад, домой, херня

Ayrat
21.06.2018
16:00:02
У меня был такой же случай с кассовым аппаратом, который как бы мега однопоточный. А надо было сделать чтобы на одном кассовом аппарате могли работать вдесятером. И ещё чтобы не конфликтовали запросы. И чтобы логались. И чтобы евентсорсинг. И вот тут акка зажгла

Vasily
21.06.2018
16:00:19
Фискализация, мать ее?

Ayrat
21.06.2018
16:00:26
Мать её

Vasily
21.06.2018
16:00:27
Неужто АТОЛ?

Ayrat
21.06.2018
16:00:31
Так точно

Vasily
21.06.2018
16:00:37
Прокляну

Ayrat
21.06.2018
16:00:42
Я думал поседею
Или уволят, или закопают

Google

Vasily
21.06.2018
16:00:57
С той стороны иногда не обновляли статус чека

Ayrat
21.06.2018
16:01:10
4 недели без выходных и пара работа по ночами и всё заработало
"заработало"
Это был аврал к внезапному закону про онлайн кассы

Vasily
21.06.2018
16:01:42
В Атол Онлайн ща вроде главным гендир с моей прошлой работы
Я от атола чуть не поседел, когда на своей стороне писал его
КОроче, буду пытаться версию фреймворка до 4.5 поднять, чтобы акуу затащить

Ayrat
21.06.2018
16:03:09
Да, дело полезное

Vasily
21.06.2018
16:03:41
Но проблема, как обычно, в Windows xp :)

Roman
21.06.2018
20:50:43
https://github.com/thangchung/awesome-dotnet-core/pull/291 Прoдoлжаем фoрс F# (и Funogram) в .NET Core кoмьюнити!

Pavel
22.06.2018
08:15:27
а может кто-то про rust в контексте сравнения с f# рассказать?

Roman
22.06.2018
08:24:10

Ayrat
22.06.2018
08:28:12
там система типов хз, наверное можно считать её пожосче, т.к. там есть (хз как перевести) substructural types
т.е. есть moved types, есть linear types, обычные и афинные.
Это позволяет работать без гц, т.к. в самих типах написан их жизненный цикл
т.е. линейные типы освобождаются сразу после использования, даже скоуп функции можно не покидать

Vasily
22.06.2018
08:31:00
Ну как я помню, Раст сильно заточен именно на многопоточность со всеми вытекающими

Ayrat
22.06.2018
08:31:04
ну и всякие хитрые штуки вроде использования по ссылке типов, которые были moved

Vasily
22.06.2018
08:31:14
Отсюда и система типов
Отрубающая руки сразу

Ayrat
22.06.2018
08:31:57
Ну хз, я бы и без многопоточности от такой штуки не отказался, т.к. это избавляет от гц, добавляя диких скоростей даже в однопоточном приложении

Google

Ayrat
22.06.2018
08:32:18
вот здесь хорошо про типы раста
https://gankro.github.io/blah/linear-rust/

Evgeniy
22.06.2018
08:34:50
Отсутствие GC не обязательно хорошая вещь. ?♂️

Ayrat
22.06.2018
08:36:29
В игровых движках, которые как правило на c++, всё равно велосипедят свой гц чтобы подгадать высвобождение памяти с кадрами. Т.е. free делать не когда хочется, а батчами между кадрами или между 10ю кадрами

Evgeniy
22.06.2018
08:36:47
Спросил у Бартоша про планы на Akkling.
https://github.com/Horusiath/Akkling/issues/11#issuecomment-399327134

Ayrat
22.06.2018
08:37:14
Я лично хочу писать код и не думать о лоу левел вещах.

Дед Пегас
22.06.2018
08:39:03
Скорей всего ты имеешь ввиду переиспользование уже имеющейся выделенной памяти.

Ayrat
22.06.2018
08:40:07
Ну да, обжект пулинг вся фигня

Дед Пегас
22.06.2018
08:40:25
И такое. Но это не gc.

Ayrat
22.06.2018
08:40:40
Ладно, ладно, не gc)

Владислав
22.06.2018
09:07:15
подскажите какая либа в F# для отрисовки графиков

Vasily
22.06.2018
09:07:39
Charts

Evgeniy
22.06.2018
09:07:57

Владислав
22.06.2018
09:08:42
надо бы визуализировать данные как это умеет excel. Обычные x,y

Evgeniy
22.06.2018
09:09:04

Владислав
22.06.2018
09:09:15
спасибо

Vasily
22.06.2018
09:23:22
Ayrat , кстати, в акке можно сделать кастомный стрим наружу? Например, для хитровыебанного ссл протокола?

Ayrat
22.06.2018
09:23:43
в Akka.Streams есть синки
ты про Akka.Streams же
?

Google

Vasily
22.06.2018
09:25:45
НУ я пока в процессе обдумывания, как правильно строить взаимодействие с сервером
На котором акки нет

Ayrat
22.06.2018
09:26:46
Если я правильно понял вопрос, то да можно конечно.
Ты настраиваешь откуда стрим выходит (source), рисуешь для него хитрый пайплайн со всякими броадкастами, экшнами, мапами, редьюсами, мёржами, чо хочешь.
Потом указываешь обязательно Sink (кто поглощает стрим). Это может быть БД (запись в таблички), может быть вывод на консоль, может быть игнор, а могут быть http вызовы, чо хочешь короче.
Далее материализуешь стрим, акка сама всё делает согласно спеке стрима
из коробки там много синков (как и сорсов) готовых. Люди в сайд либах тоже дофига интеграций уже написали
всякие ажуры, амазоны
Но я мог неправильно понять вопрос. у меня стрим головного мозга просто

Evgeniy
22.06.2018
09:49:31
TL;DR
https://medium.com/@eulerfx/eb3c8a2d180a

Bonart
22.06.2018
09:51:48

Ayrat
22.06.2018
09:52:39
Ну это мало кому интересно. Я знаю @VagifAbilov как-то делал доклад по акка стримам, но я чот думаю что кол-во интересующихся что тогда, что сейчас примерно по пальцам посчитать

Bonart
22.06.2018
10:02:31
Стримы Никита не рассматривал

Ayrat
22.06.2018
10:04:39
Это отдельный мир вообще. как в акке, так и вообще. Просто Akka.Streams под капотом реализована на акторах, но ими можно пользоваться совершенно не касаясь акторов. Вещь в себе короче.
У нас вообще плохо идут хорошие вещи. Ящитаю это всё засилье банковских "энтерпрайз" разработчиков на ASP.Net MVC виновато. Им больше ничего не надо

Bonart
22.06.2018
10:06:52
Про доклад я серьезно. На банки кстати работал года четыре в сумме. Веб-макаки на митапы и не ходят

Ayrat
22.06.2018
10:07:47
доклады делать время надо много) Но да, надо просвещать народ

Bonart
22.06.2018
10:08:07
Ну полгода на один доклад норм

Vasily
22.06.2018
10:23:29
Ну в банках своя специфика :)
Да и народ там по возрасту не очень молодой
Ну и специфика работы не предполагает резких смен технологий

Vagif
22.06.2018
10:40:57