
Vladimir
01.08.2016
13:45:16
и он медленный потому что не может быть быстрым по определению

folex
01.08.2016
13:45:21
это лишь означает что _любые_ будут медленные, можно и не играться со словами :)
что за определения такие? в них прям написано 60рпс?
В общем осторожнее там с JDBC на кассандре, оно может сказаться, нужно это учитывать.

Google

folex
01.08.2016
13:46:51
Ну и прочитайте документацию её предварительно.

Vladimir
01.08.2016
13:49:03
И используейте не JDBC что бы ходить в касандру :) а хотя бы https://github.com/datastax/java-driver

Nikolay
01.08.2016
13:49:19
>осторожнее там с JDBC на кассандре
???
так не было же речи о jdbc для кассандры

folex
01.08.2016
13:49:59
> Кто-нибудь использует akka-persistence-jdbc в продакшн?
> jdbc
ладненько, я афк

Nikolay
01.08.2016
13:50:32
так там поддержка только реляционных баз данных
для cassandra есть отдельный плагин для akka persistence

Vladimir
01.08.2016
13:51:00
Ну он перепутал

folex
01.08.2016
13:51:18
очень может быть, я ничо не знаю про akka-persistence. Просто говорю быть осторожнее с Cassandra и JDBC.

Vladimir
01.08.2016
13:51:39
А вы ходите в касандру из JDBC?

folex
01.08.2016
13:51:47
Нет

Google

Viacheslav
02.08.2016
08:20:03
Народ может кто подскажет, есть плей 2.3 и акка, в conf лежит logger.xml формат лога настроен по человечески, но акка откуда-то берёт дерьмовый формат по умолчанию. Я уже и в conf положил logback.xml эффекта нет. Хочется нормальных логов

Юрий
02.08.2016
08:21:11
логгер для классов акки не включен явно?

Viacheslav
02.08.2016
08:22:20
вроде нет

Vladimir
02.08.2016
08:22:48
Врачи рекомендуют добавить:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = "DEBUG"
logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
}

Viacheslav
02.08.2016
08:26:42
case x => log.info("RECEIVED EVENT:\n"+x)мдя, это провал
оказывается, это не форматирование, это умельцы с руками которые некуда девать

Aleksei
02.08.2016
08:28:03
забавно

Vladimir
02.08.2016
08:28:10
Вы можете написать свой Rejection Heandler

Viacheslav
02.08.2016
08:29:13
создатели акки, ну как так можно было то, должны же понимать
ладно пока этого хватает, всем спасибо

Vladimir
02.08.2016
08:30:19
Вас смущает перенос строки?

Denis
02.08.2016
08:30:58
лучше писать log.info("RECEIVED EVENT: [{}]”, x)

Viacheslav
02.08.2016
08:31:31
зря на акку наехал) это наш кривой код. тепрь всё ок

Vladimir
02.08.2016
08:33:19
Таки всётаки скажите что вызвало у вас боль? перенос строки или то как формируется строка логгирования, Денис прав рекомендуется через {} передавать параметры в логирование

Daniel
02.08.2016
08:33:22

Viacheslav
02.08.2016
08:33:55
перенос строки это печаль

Vladimir
02.08.2016
08:34:35
Да, это боль для ELK стека

Vyatcheslav
02.08.2016
08:45:59
сорри за глупый вопрос. В Play уже есть что-то, чтобы отдавать форматированный JSON без написания вручную Json.prettyPrint? Возможно какой-нибудь имплисит или что-то в этом роде

Diemust
02.08.2016
08:46:33
есть
у Controller'а это внутри, там импортить даже ничего не надо

Google

Vyatcheslav
02.08.2016
08:52:12
эм… и как же? Если вручную, то так работает:
implicit def writeableOf_JsValue(implicit codec: Codec): Writeable[JsValue] = {
Writeable(a => codec.encode(Json.prettyPrint(a)))
}

Diemust
02.08.2016
08:53:07
в DefaultWritables есть то что ты написал

Vyatcheslav
02.08.2016
08:53:40
так там Writeable(a => codec.encode(Json.stringify(a))), а нужно prettyPrint :)

Diemust
02.08.2016
08:53:47
ааа
ну тогда фиг знает, видимо ток писать самому

Vladimir
02.08.2016
08:55:03
просто prettyPrinт это такой ситуативный юзкейс на мой взгляд, лишние данные жеж просто в большинстве случаев

Vyatcheslav
02.08.2016
08:57:08
Полезно для разработки фронтенда. А то втыкаешь в json-лапшу, нифига не понимаешь и идешь форматировать каким-нить jq

Юрий
02.08.2016
08:57:45
Народ, а кто с DynamoDB работает? Посоветуйте нормальную либу для работы с ней. Просмотрел уже кучу всяких, но в каждой какой-то косяк. Требования у меня следующие
- Асинхронная.
- Простая, без сильной магии и всяких там scalaz. Хочется при возможности доковырятся до внутренностей либы без боли.
- Поддерживаемая.

Igor
02.08.2016
09:19:32

Vladimir
02.08.2016
09:21:33

Pavel
02.08.2016
10:24:56
как думаете, почему в Play есть GlobalSettings и ApplicationLoader - в смысле, почему эти классы не объеденены в один?
Мне кажется логичным видеть весь их функционал в одном классе, а не в разных

Igor
02.08.2016
10:25:18
deprecated GlobalSettings

Igor
02.08.2016
10:25:27
антипаттерн

Pavel
02.08.2016
10:26:09
спасибо, тогда понятно

Gregory
02.08.2016
14:16:25
https://telegram.me/AndroidResId/65

Andrey
02.08.2016
14:36:26
там же android recipes. или релевантно тем не менее?

Grigory
02.08.2016
18:34:07
ребят кто использовал nondeterminism из scalaz; такой вопрос:
допустим есть процесс тасков и все таски привязаны к пулу pool;
используя по дефолту: nondeterminism.njoin(maxOpen = 8, maxQueued = 8) { process } ; вообще имеет смысл привязывать все таски к отдельному пулу? или не имеет (т.е. вроде njoin сам регулирует все)
или тогда их надо к одному и тому же пулу привязать (если уж вводить кастомный тред пул)

Aleksey
03.08.2016
08:41:40
Котаны, я на этой неделе разработчик бэкенда https://twitter.com/backendsecret приходите в каменты тереть за скалу.

Foo
03.08.2016
08:42:07
круто)

Google

Denis
03.08.2016
09:07:16
Класс

Pavel
03.08.2016
09:46:50
Молодец. Несёшь, так сказать, в мир голос русскоговорящего scala-разработчика

folex
03.08.2016
13:54:39
Кто знает как останавливать работающую таску в сбт, не выходя из сбт?
Или может можно как-то заставить сбт обрабатывать ^C по-другому

Wystan
03.08.2016
13:55:08
Kill -9 JAVA

folex
03.08.2016
13:55:45
killall наверное, и это убьет сбт

Nikolay
03.08.2016
13:56:52
re-start / re-stop ?

Admin
ERROR: S client not available

folex
03.08.2016
13:57:23
@tjugo не понял
О, я нашел
> val cancelable = SettingKey[Boolean]("cancelable", "Enables (true) or disables (false) the ability to interrupt task execution with CTRL+C.", BMinusSetting)
cancelable in Global := true
Правда оно не работает :D
бага есть, всисит открытая с 14 года
скала ван лав

Viacheslav
03.08.2016
14:18:17
sbt беспощаден к людским судьбам

folex
03.08.2016
14:20:10
ну, ничего удивительного для программы с "бэта" в названии

Alexey
03.08.2016
14:40:53
ctrc+c это провал в сбт. постоянная боль
*ctrl

folex
03.08.2016
14:41:14
Ну оказывается даже настройка от этого есть

Google

folex
03.08.2016
14:41:16
ток не работает

Alexey
03.08.2016
14:41:25
я тоже год назад ее находил

Nikolay
03.08.2016
14:41:26
может быть интерактивность sbt - это провал?

folex
03.08.2016
14:41:36
я знаю к чему это идет

Nikolay
03.08.2016
14:41:58
мавен?)

Ivan
03.08.2016
14:42:19
sbt без интерактивности это тот же мавен или градле так что интерактивность это просто дополнительная плюшка

Vyatcheslav
03.08.2016
16:41:48
cancellable у нас работает, но надо указывать конкретную задачу. Только работает оно странно во многих ситуциях, особенно с тестами. Что ожидаешь, нажимая Ctrl-C, когда запускаются тесты? Прально, отмену запуска ВСЕХ тестов. Но "замечательный" SBT берет на себя слишком много, а именно: представляет интерфейс для тестовых фреймворков и ЗАСТАВЛЯЕТ их писать каждый тест как задачу в sbt. Из-за этого Ctrl-C вызывает отмену текущего теста.
к слову, интерфейс этот - полное гуано. Кто пытался написать тестовый фреймворк или что-то наподобие этого поймет.

Mr.
03.08.2016
19:43:10
Допустим есть система на akka, акторы должны обрабатывать запросы каждого пользователя
Какая должна быть архитектура?
Создать пул из N акторов и они будут обрабатывать все запросы?
Или же
На каждый запрос от пользователя создавать новый актор?
И если создавать каждый раз актор, то как их потом удалить из системы?
Ведь они забьют память

Vladimir
03.08.2016
19:45:18
Зависит от требуемого размаха, почитайте о akka consistent hashing pool или вот это http://doc.akka.io/docs/akka/current/scala/cluster-sharding.html
Судя по тому что вы пишите кластер шардинг ваш выбор
он умеет выгружать акторы, загружать по запросу и делать кучу другой приятной магии

Mr.
03.08.2016
19:46:10
Ну например это рекламная система, и каждую секунду стучится по несколько десятков тысяч пользователей