@scala_ru

Страница 1266 из 1499
Aleksei
07.02.2018
14:02:35
Вчера надо было приходить ?

Daniel
07.02.2018
14:03:09
Вчера надо было приходить ?
чуть разъехались по организации

но я планирую это исправить (надо только с ремонтом закончить, чтоб время появилось)

Andry
07.02.2018
14:08:14
Google
Andry
07.02.2018
14:10:04
Фомкин, ты придешь?

Хотя конечно по времени что-то поздновато...:(

Daniel
07.02.2018
14:12:10
Aleksei
07.02.2018
14:34:08
@optician_owl Ремонт дело такое, да

Andry
07.02.2018
15:07:36
Скаланы есть вопрос, как мне на акторах сделать следущее. Есть список акторов, которые ожидают сообщение, и мне нужно, например, если это сообщение взял уже один из акторов(ну т.е. оно подошло ему по каким-то критериям), то остальным оно уже не отправляется. Чота я курю доку, вот как послать всем сообщение есть, понимаю как сделать, а вот как остановить рассылку что-то не доходит...

Александр
07.02.2018
15:08:08
а распиши структуру и почему они все сообщения ждут ?

Andrey
07.02.2018
15:08:27
роутер?

Alexey
07.02.2018
15:08:41
кастомный роутер

Andry
07.02.2018
15:08:58
Скорее реквестор

Александр
07.02.2018
15:10:41
можно то по разному, можно шину бросить и остальным сообщать можно по таймауту

Andry
07.02.2018
15:12:18
Ну т.е. идет обработка запросов, которые могут соответствовать ожидаемым, ежели соответствует, то возвращается определенный ответ и актор который ответил на него прехедит в ожидание следующего запроса, ежели не соответствует, то возвращается сообщение по умолчанию.

Anton
07.02.2018
15:16:07
Область значения предикатов акторов пересекается?

Google
Anton
07.02.2018
15:16:16
Или каждое сообщение подходит строго одному?

Александр
07.02.2018
15:17:26
у тебя n акторов ждут ответа

Alexey
07.02.2018
15:18:08
Звучит как не то что должно делаться акторами

Andry
07.02.2018
15:18:14
Ну нет они должны ждать своих запросов

Alexey
07.02.2018
15:19:02
Или тебе надо каждого поочереди опрашивать: "а ты можешь?"

Anton
07.02.2018
15:19:15
Не делай мультикаст, лучше воткни перед ними актор-роутер, который направляет сообщение ровно одному подходящему актору-обработчику.

Andry
07.02.2018
15:19:17
Звучит как не то что должно делаться акторами
Гм может быть... Просто хотелось акторы пощупать

Alexey
07.02.2018
15:20:11
а сделайте стикер пак со стикером - акка акторы не нужны

Alexey
07.02.2018
15:20:16
С акторами предикат просто дожен быть не внутри актора тогда уж

Alexey
07.02.2018
15:21:05
Ну типо да

Andry
07.02.2018
15:21:27
Угмс спасибки чота я заработался.... совсем голова не варит

Anton
07.02.2018
15:21:39
Если хочешь начать продуктивно использовать акторы — забудь про мантру “все актор”.

Используй их только там где тебе нужна координация/линеаризация каких-то событий.

Alexey
07.02.2018
15:22:19
нетепизированные акторы - это ваще шаг в пхп какой то

Andry
07.02.2018
15:22:22
Aleksey
07.02.2018
15:55:01
Google
Александр
07.02.2018
15:57:07
нетепизированные акторы - это ваще шаг в пхп какой то
а можете мысль развить, очень интересно на какую проблемму все натыкаються с нетепизированными акторами что их ругают

Р
07.02.2018
15:58:51
Если религия не позволяет использовать нетипизированные акторы, то почему бы не взять Akka-Streams? ?

Александр
07.02.2018
15:59:50
Any => Unit ?
а проблема в чем ?

Anton
07.02.2018
16:00:08
Никаких гарантий в compile time.

Александр
07.02.2018
16:00:19
Никаких гарантий в compile time.
теперь понял, спасибо

Anton
07.02.2018
16:08:18
Это не значит, что акторы плохие. Они на несколько порядков лучше работы с локами/тредами и прочими классическими примитивами, но они все равно остаются очень низкоуровневой абстракций и по определению имеют побочные эффекты, поэтому лучше селить их где-то “на краю мира” вместе со всем остальным side-effectful кодом.

Anton
07.02.2018
16:12:26
А чего тут врываться. Actors > Threads, Monix > Actors.

sherzod
07.02.2018
16:17:20
У акторов еще есть location transparency

Р
07.02.2018
16:17:28
А чего тут врываться. Actors > Threads, Monix > Actors.
Я бы с акторами моникс не сравнивал. Акторы - это про состояние. Я бы скорее Моникс с фьючерами сравнивал и Akka Streams.

sherzod
07.02.2018
16:18:36
У акторов еще есть location transparency
что делает их немного другим классом примитивов

Anton
07.02.2018
16:22:50
А их и не надо сравнивать по метрике “кто круче”. В реальном приложении у тебя будет все вперемешку. Чем больше гибкость, тем меньше гарантий. Для каждой задачи надо выбрать подходящую абстракцию по principle of least powerful abstraction.

Р
07.02.2018
16:24:19
Классическая статья: https://www.chrisstucchio.com/blog/2013/actors_vs_futures.html

Anton
07.02.2018
16:29:01
Тут не про акторы, но это вообще полезный принцип: http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html

Oleg
07.02.2018
16:42:47
МВары с обсёрваблами вытеснили акторы, упростив и ускорив код в большинстве мест у меня

Александр
07.02.2018
16:44:00
МВары с обсёрваблами вытеснили акторы, упростив и ускорив код в большинстве мест у меня
а можно чуть больше информации про ускорение, насколько выросла скорость работы ?

Google
Р
07.02.2018
16:47:08
А есть Mvar-Persistence? ?

Oleg
07.02.2018
16:48:48
А есть Mvar-Persistence? ?
Есть. "ru.tinkoff" %% "cassandra-persist" % "0.9.0"

Ну или там hazelcast

Р
07.02.2018
16:51:38
Oleg
07.02.2018
16:52:42
а можно чуть больше информации про ускорение, насколько выросла скорость работы ?
Мерял не очень много. Был один кусок, где грубо говоря на акторах расшаренная двусторонняя мапа с TTL была. Я её не очень оптимизировал м записи в неё складывались поштучно, а на запрос нужно было сложить пару сотен. Это конкретно место ускорилось в десять - сорок раз.

Александр
07.02.2018
16:53:03
нашел 1 доку и 0 видео на youtube без упоминания haskell, ScalaAsBetterJava джедаи ниасилят

Oleg
07.02.2018
16:54:30
На самом деле моникс простой как пробка. В сто раз проще акки. Ну и когда у тебя есть потребность ремоут, кластер или вон персистенс, его не покроет

Anton
07.02.2018
16:55:59
https://monix.io ?

Oleg
07.02.2018
16:56:00
а как вкатываться то ? что читать и что смотреть если далек от мира хаскеля ?
Не знаю, зачем хаскель там. Читаешь оф доку. Пробуешб заменить фьючи на таски и дальше всё само идёт

Р
07.02.2018
16:56:02
Канеш
В акторах в этом случае делают обычно eventually consistent слушателя. То есть пишут через актор, а читают напрямую. Получается... MVar.

Anton
07.02.2018
16:56:02
Там отличная дока.

Р
07.02.2018
16:56:33
а как вкатываться то ? что читать и что смотреть если далек от мира хаскеля ?
Monix простой действительно очень, там не нужен хаскель. Проще акки.

Александр
07.02.2018
16:56:34
https://monix.io ?
я по MVar гуглил

Anton
07.02.2018
16:57:02
я по MVar гуглил
https://monix.io/docs/2x/eval/mvar.html

Oleg
07.02.2018
16:57:13
В моём случае нужно было обязательно узнать результат из актора

Google
Александр
07.02.2018
16:57:25
https://monix.io/docs/2x/eval/mvar.html
я о том и писал, что scala mvar - одна валидная статья

Р
07.02.2018
16:58:44
Да простой он очень этот Моникс. Типа как Akka-Streams, но для плебса и без матерализеров :D И то, и другое имеет право быть, а ещё и отлично интегрируется через reactive-streams.

Oleg
07.02.2018
16:58:50
я запутался
В Мапу складывается контент, чтобы контент два раза не складывать в акторе генерится ему ключик, либо возвращается ключик уже имеющегося. Этот ключик нужен потребителю

В акторах в этом случае делают обычно eventually consistent слушателя. То есть пишут через актор, а читают напрямую. Получается... MVar.
Получается не MVar, а agent в терминах кложи. Такое тоже есть. Но МВар умеет и синхронное чтение

Oleg
07.02.2018
17:01:50
Не видел, чтобы в кешах генерились ключики после того, как контент уже естт

Р
07.02.2018
17:05:45
Не видел, чтобы в кешах генерились ключики после того, как контент уже естт
То есть ключ у мапы - это контент, а значение - это сгененированный ключ?

Oleg
07.02.2018
17:05:46
Это кокеш какой-то

То есть ключ у мапы - это контент, а значение - это сгененированный ключ?
Ну я упоминал, что мапа двусторонняя. Т.е. есть и в ту и в другую ключ-значение

Грубо говоря, нужно для контента получить короткий айдишник. Или вернуть имеющийся, если есть

sherzod
07.02.2018
17:12:32
iкеш тогда

я просто недавно читал scala-with-cats))

Oleg
07.02.2018
17:15:41
iкеш тогда
я имел в виду, что key --[probably cached]-> value заменено на key <-[probably cached]-- value

Р
07.02.2018
17:15:55
Звучит как обычный кеш от content в key.

sherzod
07.02.2018
17:16:02
а. понятно, мне показалось в обе стороны

Oleg
07.02.2018
17:16:16

Страница 1266 из 1499