
Nick
05.10.2018
13:53:34
но там сложный объект, из которого надо вынести флаги, т.к. они менются периодически в отличе от самого объекта
взято т.к. оно достаточно просто шардируется, хотя куча ограничений на таких объемах

Жабра
05.10.2018
13:56:36
https://www.ibm.com/developerworks/ru/library/j-jtp09275/index.html
Много раз слышал "ууу, там аллокация происходит!", так а что в ней страшного? На современных версиях jvm разве не пофиг?

Ivan
05.10.2018
14:01:06

Google

Nick
05.10.2018
14:01:48
нет, все фактически константно - большое хранилище, доступ по ключу либо префиксу ключа
данные очень холодные, фактически есть требование их хранить несоклько лет

Ivan
05.10.2018
14:02:30
Ну сделай стрим этих данных и прекалькулируй там представления какие надо

Nick
05.10.2018
14:03:02
я спрашиваю где и как хранить а не как обработать

Ivan
05.10.2018
14:05:56
В файлик пиши там и хранм
Быстрее всего
Ну если ты про то как хранить

Dmitry
05.10.2018
14:32:44
составной ПК тоже
что еще нужно?

Ivan
05.10.2018
14:46:32
Шардировать можно не по всем ключам
Ну и вообще это не панацея
10 млрд записей это много

Google

Ivan
05.10.2018
14:47:15
В идеале прекалькулировать все надо
Там материализованные представления строить

Sergei
05.10.2018
15:07:50
Здравствуйте, подскажите пожалуйста, есть mediaPlayer и мне нужно что бы в начале музыка запускалась с возрастанием по звуку а в конце наоборот затухала.
Может кто то делал или есть идеи, подскажите пожалуйста.

Vit
05.10.2018
15:10:10
На javafx делал примерно такое для ползунка воспроизведения, вешал листенер на длительность и двигал его

Name
05.10.2018
15:10:16

Vit
05.10.2018
15:11:47
Собственно нужно определить время за которое увеличишь громкость в начале и время с которого будешь уменьшать в конце ну и получить длительность трека

Bogdan
05.10.2018
15:21:29
Странные аргументы

Sergey
05.10.2018
15:22:49
Ты фантазер, я посмотрю
Я этого не говорил, аргументов не приводил. Ты захотел насрать на вентилятор - ты пришел и насрал

Sergei
05.10.2018
15:24:49
setVolume(double)
это понятно, но у меня вот в чем ступор: это как мне все сделать, что бы первые 10 секунд увеличивался звук и в конце 10 секунд уменьшался звук.
и что бы без прирывания и прочего, а то в mediaPlayer просто start()
можно конечно попробовать CountDownTimer паралельно с музыкой и просто увеличивать, уменьшать звук на определенных секундах, но это костыль же?

Bogdan
05.10.2018
15:25:03

Sergei
05.10.2018
15:25:15

Name
05.10.2018
15:25:51

Bogdan
05.10.2018
15:26:17

Sergei
05.10.2018
15:26:51

Name
05.10.2018
15:27:49
сделай поток в котором будет Application.runLater(setvolume()) и sleep
при маленьком времени sleep будет незаметно

Vit
05.10.2018
15:40:36

Sergei
05.10.2018
15:40:49
Что именно ?
это понятно, но у меня вот в чем ступор: это как мне все сделать, что бы первые 10 секунд увеличивался звук и в конце 10 секунд уменьшался звук.
и что бы без прирывания и прочего, а то в mediaPlayer просто start()
можно конечно попробовать CountDownTimer паралельно с музыкой и просто увеличивать, уменьшать звук на определенных секундах, но это костыль же?

Google

Vit
05.10.2018
15:43:39
Так и написал как решал , вешаешь листенер и в нём увеличиваешь и уменьшаешь громкость в таком случае
Тебе же на каждый отрезок времени нужно изменять уровень громкости
примерно так, но с громкостью

Sergei
05.10.2018
15:53:19

Dmitry
05.10.2018
17:08:49

Ivan
05.10.2018
17:11:14
Ничего не понял. В чем проблема в файлике хранить.

Yury
05.10.2018
17:36:11
Почему в этом коде Unchecked call? Эта из-за стирания типов? Что нужно сделать, чтобы из-за unchecked это упало в рантайме?
abstract class A{
public abstract void aMethod(C c);
}
class B extends A {
public void aMethod(C c){
c.cMethod(this); //!!!!! Unchecked call !!!!!
}
}
interface C <T extends A> {
void cMethod(T a);
}

Vladimir
05.10.2018
17:38:16
Потому что тип аргумента C не параметризован
abstract class A<T extends A>{
public abstract void aMethod(C<T> c);
}
class B extends A<B> {
public void aMethod(C<B> c){
c.cMethod(this); //!!!!! Unchecked call !!!!!
}
}
interface C <T extends A> {
void cMethod(T a);
}
Например, так

Dmitry
05.10.2018
17:38:43

Ivan
05.10.2018
17:38:51
Ах ещё и читать надо
Я то думал только хранить)

Yury
05.10.2018
17:42:47

Vladimir
05.10.2018
17:44:07
если, допустим, передать C<String>

Yury
05.10.2018
17:45:56
type argument java.lang.String is not within bounds of type-variable T

Vladimir
05.10.2018
17:46:54
а, да. там же ограничение extends A

Dumitru
05.10.2018
17:48:04
всем привет, немного специфичный вопрос
есть у меня gprc запрос, возвращает Iterator<T>, из которого я делаю Observable
этот поток бесконечный, и хочется при определенном вызове остановить этот Observable
как это можно сделать?

Google

Vladimir
05.10.2018
17:50:27

Yury
05.10.2018
17:52:41

Nick
05.10.2018
17:53:52
Я то думал только хранить)
в этом и прикол что в основном то надо тупо хранить, и правда хоть в файлы выгружай. но если вдруг что приедтся обрабатывать, а писать чтото поверх файлов кастомного вида как-то не очень комильфо, или вдруг загонять их в бд для даже простецкой аналитики тоже будет то еще действо

Ivan
05.10.2018
17:56:30
Закинь в кафку и ksql сверху

Nick
05.10.2018
17:58:38
кек лол смешно спасибо посмеялся
рендомный поиск по рендомно разбросанным по диску данным средством для этого ен предназначенным? нуну, реально лучше свой велосипед над файлами
Закинь в кафку и ksql сверху
но допустим я немного не вкурсах как она работает и допускаю что мою задачу можно с ее помощью переварить. у меня к вам вопрос вы использовали ksql и для какого рода задач?

Ivan
05.10.2018
18:10:35
Кафку юзаем как хранилище для сырых данных. Ksql не используем но он для обработки данных с помощью sql подобных запросов

Admin
ERROR: S client not available

Ivan
05.10.2018
18:10:41
Прямо из кафки

Nick
05.10.2018
18:11:34
сырые данные у вас сколько в количественно выражении занимают штук/объем и сколько по времени храните?

Alexandr
05.10.2018
19:06:05

Диоген
05.10.2018
19:09:36
А почему бы не через Jackson inheritance?
Да не знаю, надо посмотреть будет в понедельник.
Я пока сделал маркер интерфейс, дженерик с аппер баундом по нему, и две реализации - для ошибок и для нормальных объектов
Соответственно у реализации которая для ошибок сделал жсонвалью на этой стринге как чел выше посоветовал

Alexandr
05.10.2018
19:19:07
Ну с 2 dto, одна из которых будет говорить об ошибке, другая о успехе и значении - нормальное решение
Вообще принято возвращать значения, а не dto с полем result, а в случае ошибки выкидывать исключение, которое обработается в error handler. Там же сформируется структура с ошибкой и выставится правильный http status, например 400
На клиенте же в зависимости от http status будет парсинг в ту или иную структуру

Диоген
05.10.2018
19:23:38

Alexandr
05.10.2018
19:23:58
Отвечать всегда 200 кодом, а ошибку определять по структуре данных так себе костыльная затея

Google

Диоген
05.10.2018
19:24:28
Ну, легаси, оно такое
Это не самый крутой прикол из согласованного, кстати
У тебя бы волосы дыбом встали. У меня самого встают....
То есть у меня не встают, потому что у меня они не растут. Но расли бы - встали бы

Alexandr
05.10.2018
19:33:24

Диоген
05.10.2018
19:37:03

Ivan
05.10.2018
20:01:55
В json

Nick
05.10.2018
20:02:56

Ivan
05.10.2018
20:03:07
5 лет вроде
Не чистятся

Nick
05.10.2018
20:03:25
неплохо, т.е. фактически не чистятся
часто приходится перечитывать полностью? да и вообще приходилось ли?
интересно как долго это происходит

Ivan
05.10.2018
20:06:05
Ну у нас при перечитке данные ещё обогащаются через медленные внешние сервисы
Сейчас за 5 часов репроцессим все
Строим там вьюхи разные в монге
Репроцессис раз в месяц при апдейтах логики
Ну в среднем