@scala_ru

Страница 550 из 1499
Dmitry
07.03.2017
12:31:47
ну лучше конечно как минимум раз, но не через год прислать второй раз потому что кто-то грохнул проекцию, и ты решил ее поновой пересоздать прокатившись еще раз по событиям как в рекламной брошюре

Denis
07.03.2017
12:33:11
ну лучше конечно как минимум раз, но не через год прислать второй раз потому что кто-то грохнул проекцию, и ты решил ее поновой пересоздать прокатившись еще раз по событиям как в рекламной брошюре
Поэтому есть явное различие процессов и проекций, проекции можно спокойно грохать, это просто вьюхи, процессы потенциально могут засайдэффектить в плохом случае )

Google
Dmitry
07.03.2017
12:35:37
ну т.е. проекция же тоже процесс

просто сайдефект в агрегат а не во внешний мир :)

Nikita
07.03.2017
12:42:13
идемпотентность очень нужна

у нас вот например как минимум пару раз в день в брокер сообщение не с первого раза всовывается

возможно конечно что дело в кривой сети амазона

но проблема есть, и это не что-то сверхестественное

Dmitry
07.03.2017
12:43:22
ну ее ж зачастую несложно реализовать

Nikita
07.03.2017
12:44:06
ну ее да, но всеравно, без внимания нельзя оставлять

Andrey
07.03.2017
12:44:23
Если есть что, напишите по делу, кейс с которым вы сталкивались, если конечно делаете что то на акторах.
Ну вот опять.. ну какой кейс, в нереашаемой в принципе задаче? )) В распределенной среде это невозможно. Разными техниками можно уменьшить вероятность возникновения проблем. Об этом и речь. И кейсы тут вовсе ни при чем.

Andrey
07.03.2017
12:46:18
Всё понятно с тобой )
Опять очень сильно сомневаюсь, в том что тебе понятно)

Nikita
07.03.2017
12:48:19
Опять очень сильно сомневаюсь, в том что тебе понятно)
после того как словит пропавшие сообщения из-за кривых сетей/GC, сразу просветление прийдет :)

Andrey
07.03.2017
12:51:30
после того как словит пропавшие сообщения из-за кривых сетей/GC, сразу просветление прийдет :)
Я вот тже думал, что сети все решают, пока не напоролся на ошибку коде, которая сообщения корежила, из-за чего каждое 2-3 раза посылалось/обрабатывалась... а заметили не сразу, потом 2 дня БД руками скриптами обрабатывали приводя в норму.

Google
Nikita
07.03.2017
12:51:38
Если есть что, напишите по делу, кейс с которым вы сталкивались, если конечно делаете что то на акторах.
тут кейс не просто про акторы, а про любые распределенные системы в асинхронных сетях (TCP/IP к ним тоже относится) при взаимодействии с внешними системами всегда надо ожидать что они отвалятся или не смогут отправить подтверждение, ну и планировать бизнес-логику в соответствии.

Andrey
07.03.2017
12:53:17
Это не сеть виновата )
Серьезно?? Ну что же ты сразу не сказал, а то мы мучались...

Sergey
07.03.2017
12:56:47
после того как словит пропавшие сообщения из-за кривых сетей/GC, сразу просветление прийдет :)
Может сеть нужно настроить что бы нормально работала ? ) У тебя GC так подвешивает систему что таймауты истекают ?

Denis
07.03.2017
12:56:58
В распределенных системах потеря данных между узлами это вопрос времени

Denis
07.03.2017
12:57:54
Хоть как ты сеть настраивай

Хоть что делай

Одного раза достаточно ))

а как часто это происходит ?
Я же теб описал двай кейса

Denis
07.03.2017
12:58:40
Даже рестарт инстанса при деплое может привести к этому ( и обязательно приведет)

Nikita
07.03.2017
12:59:34
а как часто это происходит ?
ну пару раз в неделю у амазона там что-то не так

ненадолго конечно

но все же

Vladimir
07.03.2017
13:02:03
а как часто это происходит ?
1 фейл на 2-3 тб, говорил в курсе тот, который акку пилит (не Одерский, и не в вырвиглазных майках)

Nikolay
07.03.2017
13:02:55
Roland Kuhn вроде

Denis
07.03.2017
13:03:01
Бонер? Кун?

Nikolay
07.03.2017
13:03:03
или что-то в этом духе

Google
Denis
07.03.2017
13:04:39
I'm outta here

Dmitry
07.03.2017
13:04:57
Vladimir
07.03.2017
13:07:41
Что именно за фейл ?
вместо 0 прилетит 1, или вообще ничего не прилетит

Mikhail
07.03.2017
13:08:15
а кто игрался с semantic API scala.meta? там можно получить Tree для какого-то символа, который нам известен?
если ты для того, чтобы вставлять в квазицитату имя переменной из переменной, то оберни просто в val someVar = Term.Name("someStringNameOfExistingVar") и тогда сможешь пихать $someVar в квази. Либо поясни, что имеешь ввиду)

Nikolay
07.03.2017
13:17:00
имел в виду вот что. есть Symbol("_root_.scala.util.Either"). могу я как-то получить Tree из этого символа?

Mikhail
07.03.2017
13:18:35
Nick
07.03.2017
13:18:52
@fomkin почему ты не возьмешь netty для королева?

Mikhail
07.03.2017
13:19:27
скаламета работает до стадии выведения типов, она про типы по сути вобще ничего не знает. только с AST грубо говоря работает

Nikolay
07.03.2017
13:20:26
тогда могу ли я получить эту же информацию для класса/объекта который написан в моем коде по Symbol-у ?

Mikhail
07.03.2017
13:22:02
Symbol("_root_.scala.util.Either") - если это ты сам сделал и знаешь где лежит исходник, то конечно дерево ты получить можешь - загрузив ручками исходник и выполнив parse

Grigory
07.03.2017
13:23:08
строку / символ конвертнуть в тип?

Nikolay
07.03.2017
13:24:14
в Tree которым оперирует scala meta

Nikolay
07.03.2017
13:24:55
попробую набросать примерно то что хочу получить

Google
Nikolay
07.03.2017
13:25:07
Oleksandr
07.03.2017
13:25:13
знает она про типы

Nick
07.03.2017
13:25:37
на самом деле scalameta не с ast работает

а с cst )))

там же даже позиции есть

Mikhail
07.03.2017
13:27:37
и? я же написал "грубо говоря" - чтобы понятно было о чем речь, что реальной информации кроме альяса - нет. или покажите пример где ее действительно можно свести к типу, а не просто альяс реф

Nick
07.03.2017
13:28:31
а зачем тебе тип на этапе компиляции?

Mikhail
07.03.2017
13:28:37
Бурмако сам об этом в декабре на конфе говорил жеж и это логично. Поправьте пруфами если не прав)

Admin
ERROR: S client not available

Oleksandr
07.03.2017
13:30:56
нет, надо будет почитать
там вообще хитрый хак с семантической бд

Mikhail
07.03.2017
13:31:40
там вообще хитрый хак с семантической бд
просто с типами есть проблема, что при определенной конфигурации оно может привести к дед-локу или попытке рекурсивного выведения типов

но если они хотя бы с ограничениями это реализуют - отличненько будет)

Oleksandr
07.03.2017
13:33:08
я глубоко не вникал, так что конструктивно не отвечу наверное, лучший способ развеять туман над скаламетой -- призвать Бурмако в скалалаз

Mikhail
07.03.2017
13:33:48
тут слишком токсично для него)

Nikolay
07.03.2017
13:34:02
скалалаз подкаст

Mikhail
07.03.2017
13:36:29
@rockjam если ты в самом начале про этот семантик апи говорил (папирку которую Олександр скинул), то я его еще не глядел. Уже вижу там слова про резолвинг, но надо почитать подробнее в каком виде оно там. Сорян попутал )

Nikolay
07.03.2017
13:37:23
да, именно его и имел в виду. надо бы попробовать

Mikhail
07.03.2017
13:48:53
а зачем тебе тип на этапе компиляции?
я скаламету для постройки ридеров-райтеров ту бинари и авер форматся использую. И сейчас без точной информации о типе приходится частично использовать композицию с внешними классами и имплиситами, что довольно серьезно бьет по скорости. Если с притивами (если класс состоит только из полей-примитивов и отсылок на внешние классы которые являются притивами в этом рекурсивном понятии) все прекрасно - на ядре макбука показывает 800-1000 МБайт/секунду . Но с ростом древовидности ситуация ухудшается из-за колов. И к сожалению jvm не хочет оптимизировать эти колы. Если добавляются не примитивы - массивы произвольной длинны, строки - все становится еще хуже и вот там бы типы мне уже пригодились довольно серьезно

Google
Nick
07.03.2017
14:14:20
а ты как измерял пропускную способность

Mikhail
07.03.2017
14:21:31
а ты как измерял пропускную способность
Как обычно уж - генеришь данные, переводишь в байтики в памяти в готовые блоки, замеряешь, прогреваешь и так неоднократно в рамках одного запуска.

Nick
07.03.2017
14:22:05
дык если у тебя там массив, то эт логично наверное

что нужно закопировать больше)

Mikhail
07.03.2017
14:23:31
Что закопировать? Речь ведь про большие древовидные модели - там появляются свои нюансы

Nick
07.03.2017
16:47:04
А кто нибудь видел пособие cats in practice? Мне реально тяжело понять нахера это все)

Dmitry
07.03.2017
16:48:16
Ну я листал advanced scala with cats

Без откровений конечно

Nick
07.03.2017
16:48:56
Да там ж тоже общее все, не?

Хочется прям на юзкеисы глянуть

Dmitry
07.03.2017
16:49:25
Ну как всегда валидейт

Oleksandr
07.03.2017
16:49:52
Хочется прям на юзкеисы глянуть
ещё больше абстракции иногда (если в меру) это полезно

Nick
07.03.2017
16:50:07
Ну как всегда валидейт
Эт из названия понятно для чего

ещё больше абстракции иногда (если в меру) это полезно
В том то и дело, смотришь на аппликатив и не понимаешь, нахера? Тупо из-за метода в интерфеисе?

Dmitry
07.03.2017
16:51:38
Юзал полугруппу для маркеров логбека

Чисто ради оператора

Аппликатив норм для di

Типа

Nick
07.03.2017
16:52:53
Аппликатив норм для di
Вот мне не понравилось di с котами (

Aleksei
07.03.2017
16:52:59
вот аппликатив реально полезен

если у тебя репы возвращают что то типа Future[Option[A]]

Nick
07.03.2017
16:53:51

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