@scala_ru

Страница 901 из 1499
KrivdaTheTriewe
23.08.2017
14:17:41
да

Vladimir
23.08.2017
14:17:42
Друзья, как канонично в скале Double округлять?
я объявляю где-нить на задворках RoundingUPMathContext и тащу его в каждое место, где что-то округляю

Vyatcheslav
23.08.2017
14:17:59
есть какая-то структура данных, которая может помочь в таком случае: есть поток данных, у них есть уникальный ключ, а это больше половины полей, и нужно детектить дубликаты. Если сохранять ключи, которые уже обработаны, то получается, что очень много данных будет хранится в памяти...
1. Что если дубль пролезет? Так ли это страшно? 2. Насколько часто в потоке есть данные вида (предположим, что все поля составляют индекс): Foo(a1, b1, c1) Foo(a1, b2, c1) // отличается одним полем Foo(a1, b2, c2) // отличается двумя ? Я к тому, что мб можно как-то сделать так, чтобы вероятность ложноположительного срабатывания была приемлема

Vladimir
23.08.2017
14:18:03
правда это с BigDecimal ☺️

Google
Grigory
23.08.2017
14:18:18
У биг десимал апи понятный

KrivdaTheTriewe
23.08.2017
14:18:41
У биг десимал апи понятный
джавовский или скаловский ?

Grigory
23.08.2017
14:18:57
оба; но я говорил про скалу

но если те дока нужна будет по типам округления то придется лезть в джава доку; в скале нет ничего (не было, на данный момент хз)

Oleg
23.08.2017
14:41:10
он же multiindex

начиная с компонент ключа с максимальной кардинальностью

можно продолжить идею и сделать на некоторые ключи с большой кардинальностью prefix tree

https://github.com/rklaehn/radixtree

Alexander
23.08.2017
14:43:24
к сожалению не пойдёт, все значения из ключа с большой вероятностью могут не повторяться или повторяться очень редко

Oleg
23.08.2017
14:43:50
Такие деревья хороши тем, что они помимо скорости работы на уровне хешмапов, ещё сохраняют порядок и компрессят фактически множетсво ключей

Alexander
23.08.2017
14:44:20
он не деёт гарантии

Google
Oleg
23.08.2017
14:45:01
не даёт, но хорошо работает, когда большинство проверок негативные и редко нужно лезть в холодное хранилище за последней проверкой

какая частота у вас положительных и отрицательных ответов?

Alexander
23.08.2017
14:45:48
дубликат - это ошибка, вероятность мала, холодного хранилица нету по сути

Oleg
23.08.2017
14:47:00
Хмм, ну хешируйте murmur 128

128 бит на ключ вы можете себе позволить хранить?

Alexander
23.08.2017
14:48:22
да, но это же не защитит от хэш коллизий?

Oleg
23.08.2017
14:48:48
да, но это же не защитит от хэш коллизий?
иммолейшн 128 бит импрувед. вероятность резиста крайне мала

Alexander
23.08.2017
14:49:14
благодарю, интересно

Oleg
23.08.2017
14:49:34
ну т.е. это эквивалентно коллизии UUIDов

мало кто от неё прямо защищается

Mikhail
23.08.2017
14:50:21
благодарю, интересно
т.е. это все повторения все тех же предложений которые я на десяток сообщений выше указывал) видимо со второго раза в этом чатике лучше заходит)

Oleg
23.08.2017
14:53:07
т.е. это все повторения все тех же предложений которые я на десяток сообщений выше указывал) видимо со второго раза в этом чатике лучше заходит)
можешь сравнить твои формулировки и мои и понять, почему твои прошли мимо сознания собеседника

Alexander
23.08.2017
14:53:31
да норм, я всё принял, нужно подумать, всем спасибо

Oleg
23.08.2017
14:54:06
Если ты говоришь мимоходом "древовидные ключи" никто не понимает о чём ты говоришь. Если ты говоришь "отображать в лонг", мало кто догадается, что ты имешь в виду не 64, а 128 бит и хеширование

Идеи пришли в голову в таком же порядке в виде такого же супа. Но я взял сам за себя ответственность разобрать этот суп, выстроить его в последовательность, и дополнить ссылками и описанием

Mikhail
23.08.2017
14:55:50
Если ты говоришь мимоходом "древовидные ключи" никто не понимает о чём ты говоришь. Если ты говоришь "отображать в лонг", мало кто догадается, что ты имешь в виду не 64, а 128 бит и хеширование
Мне не понять, почему люди больше доверяют умным словам нежели простым железобетонным описаниям) И я говорил привести к одному числу с отображением 1 к 1 без дубликатов

Alexander
23.08.2017
15:00:45
к одному числу без дубликатов привести - насколько большим будет это число для Long, LocalDateTime, BigDecimal? :)

Mikhail
23.08.2017
15:02:26
к одному числу без дубликатов привести - насколько большим будет это число для Long, LocalDateTime, BigDecimal? :)
без доп данных. больше всего зависит от свойствбигдецимал зависит. может там у тебя инт с аски лимитами, хоть и в бигдецимале)

Oleg
23.08.2017
15:02:39
Привести к числу без дубликатов - это другое название для компрессии

Mikhail
23.08.2017
15:04:31
long = 8, localdatetime - 4 или 8 (не помню), бигдецимал - соответственно понимать характер данных надо - это в грубом подсчете. А еще может у тебя там локалдейттайм - вего несколько дней (хоть и время разное) - тоже можно сократить (это уже про то, что Олег кардинальностью назвал)

Google
Alexander
23.08.2017
15:05:57
это не намного меньше будет, чем сами данные в тупле кэшировать

Oleg
23.08.2017
15:06:36
это не намного меньше будет, чем сами данные в тупле кэшировать
ну компрессия скорее всего эффективней хеширования во всём

Alexander
23.08.2017
15:07:38
вариант - конкатенировать в строку и сжать?

Oleg
23.08.2017
15:07:56
вариант - конкатенировать в строку и сжать?
Нет, скорее нужно продумывать вариант для каждого типа отдельно

К примеру, с 99.999% вероятностью дата - это день, месяц и год в 10-летнем диапазоне

Тогда её можно закомпрессить в 12 бит

Alexander
23.08.2017
15:09:37
я понял

Oleg
23.08.2017
15:10:16
Для каждого типа можно первым(и) битом(ами) -индикаторами обозначать насколько хороший вариант

тогда получится компрессия с плавающей длиной

Ещё если есть корреляция между датой и числом

Можно компрессить не только сами значения, а придумать двух-уровневую структуру, на первом уровне кодировки значений, на втором - сжатые кодировки диффов

Это может быть эффективнее префиксных деревьев

нормального описания я не найду, но какую-то интуицию как хранить диффы и диффы диффов для дат и чисел можно получить отсюда http://www.vldb.org/pvldb/vol8/p1816-teller.pdf

Alexander
23.08.2017
16:26:56
у меня акка стримы

Nick
23.08.2017
16:27:22
И

Alexandr
23.08.2017
16:29:48
засейвлено

KrivdaTheTriewe
23.08.2017
16:39:00
а поли по копродукту это нормально в скале?

Grigory
23.08.2017
16:46:43
нормально) но только не стоит тащить поли в юзер апи

эсли мы про шаплез

Google
Oleg
23.08.2017
16:47:45
а поли по копродукту это нормально в скале?
а запах по вкусу это нормально в сознании?

ты пробегаешься по копродукту или матчишь копродукты?

в любом случае поли не нужны

KrivdaTheTriewe
23.08.2017
17:06:20
ты пробегаешься по копродукту или матчишь копродукты?
хочу мап по типу в копродукктте сделать

Grigory
23.08.2017
17:10:30
да напиши тайп класс прост который сделает что надо

Alexandr
23.08.2017
17:12:54
Котаны, а что вас удерживает от использования Королева?
Отсутствие любой внятной документации на момент знакомства. Обсуждали на совещании, т.к. с лифтвеб есть вопросы. Но кто-то сказал "тут нет даже вменяемого HW" и тут же перешли на другие

Alexandr
23.08.2017
17:15:19
А сейчас доки ок?
а сейчас уже и не нужно, вроде :( А они появились?

HelloWorld

Aleksey
23.08.2017
17:25:33
а сейчас уже и не нужно, вроде :( А они появились?
Да, довольно подробная дока. https://fomkin.org/korolev/user-guide.html

К слову HelloWorld всегда были. В ридми была ссылка https://github.com/fomkin/korolev/tree/master/examples с примерами для всего что есть в Королеве.

KrivdaTheTriewe
23.08.2017
17:56:36
делай
спасибо

Daniel
23.08.2017
18:40:57
для хаскелля есть что-то аля скала индекс?

нашел

Alexander
23.08.2017
18:44:50
https://github.com/RMSone/slick-cats/releases/tag/v0.7-MF

Oleksandr
23.08.2017
19:38:01
#toxic

http://www.opennet.ru/opennews/art.shtml?num=47072

#toxic

Google
Grigory
23.08.2017
19:38:49
cats родилась также

Alex
23.08.2017
19:40:39
rabbits.js

Oleksandr
23.08.2017
19:40:46
из-за код оф кондакт? О_0

cats родилась также

Grigory
23.08.2017
19:43:34
из-за код оф кондакт? О_0
из-за разногласий / "превышения полномочий" / и т.п

Alexander
23.08.2017
20:09:27
что там в slick-cats?

Alexandr
24.08.2017
07:13:31
https://yandex.ru/korolev/

Grigory
24.08.2017
07:17:36
С подключением!

Nick
24.08.2017
07:18:50
Ник подходящий reactivemaster

Alexandr
24.08.2017
07:20:26
Типа, 2 дня назад это настолько давно? :)

Grigory
24.08.2017
07:20:49
да тут прост уже два дня утро с этой ссылки начинается)

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