@scala_ru

Страница 40 из 1499
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
лучше писать log.info("RECEIVED EVENT: [{}]”, x)
в плее скорей всего scalalogging так что до лампочки

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. Хочется при возможности доковырятся до внутренностей либы без боли. - Поддерживаемая.

Vladimir
02.08.2016
09:21:33
есть расширения для браузера, форматирующие json автоматически
Можно сделать переключатель в конфиге что бы на dev env отдавать pretty printed, а на проде компакт

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
Ну например это рекламная система, и каждую секунду стучится по несколько десятков тысяч пользователей

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