
Akzhan
31.10.2016
16:20:38
у вас там размерность больше. возраст, пол, местонахождение.

Антон
31.10.2016
16:22:49
всмысле размерность? количество по х и количество по y? может быть 2х2 может быть 12х12

Akzhan
31.10.2016
16:24:53
нет, количество значений значения не имеет, если их много.
если матрица имеет ограничение в 12x12 или аналогичное небольшое, то может быть эффективнее всю матрицу записать json, поднимать ее целиком и отбирать данные в памяти

Антон
31.10.2016
16:26:19
вот сразу нет, сейчас таких сотни, завтра будут тысячи

Google

Alex
31.10.2016
16:26:38
А чем jsonb не катит?

Антон
31.10.2016
16:27:22
данные денормализованы

Alex
31.10.2016
16:27:33
и?

Akzhan
31.10.2016
16:27:48
ну если тысячи значений по осям, то однозначно пишите просто как написал выше.
jsonb при большом объеме данных плохо подходит для отбора, даже при наличии jsonb-индексов по полю.

Alex
31.10.2016
16:28:53

yopp
31.10.2016
16:29:08
Дьячук проектирует OLAP. Часть первая: выявление фактов и осей

Akzhan
31.10.2016
16:30:06
о. а я что-то к вечеру туплю. ага

Антон
31.10.2016
16:32:09
да я спроектировал
пишу, чтобы нагрузить и посмотреть оторвет ногу сразу или можно залечить
как проектировать как не рассказывать о проблеме ни в чем не повинным колегам? :)

Alex
31.10.2016
16:34:27
так что с jsonb не так то?

Антон
31.10.2016
16:34:59
во первых он мне не нравится, он бесчеловечен
во вторых это денормализованные данные

Alex
31.10.2016
16:35:29
jsonb при большом объеме данных плохо подходит для отбора, даже при наличии jsonb-индексов по полю.

Антон
31.10.2016
16:36:16
это надо ставить эксперимент чтобы смотреть какие объемы будут большими
и молиться что этого не случится, чем не выход?

Google

Антон
31.10.2016
16:56:10
ну и в jsonb удобно хранить данные по которым не происходит выборка

Akzhan
31.10.2016
16:59:35
ну я спрашивал, какие операции наиболее часты. ответ - выборка. так что jsonb не подходит. а так часто используем )

Alex
31.10.2016
17:06:48
а че выборка медленная? это же key value по сути

Akzhan
31.10.2016
17:08:48
там в условиях - РСУБД

Антон
31.10.2016
17:22:12
хотя вот странно жеж
вроде json а хранить там можно помоему только k/v

ojab
31.10.2016
17:24:38
нет, там можно json хранить

Антон
31.10.2016
17:24:47
ну видимо от того что v - может принимать любые значение - построение виртаульной таблицы - затраттная операция

ojab
31.10.2016
17:24:49
для только k/v есть hstore

Alex
31.10.2016
17:51:01
в постгресе json != jsonb

Akzhan
31.10.2016
17:52:30
проще дать ссылку на https://www.postgresql.org/docs/9.4/static/datatype-json.html
на практике говорим json, пишем jsonb

Alex
31.10.2016
17:53:20
я удивлен что на низком уровне json не становится hstore
можно было бы бешенную скорость получить.

ojab
31.10.2016
17:54:03
>я удивлен что на низком уровне json не становится boolean
ещё быстрее бы было

Alex
31.10.2016
17:54:20
json вполне можно в key value превратить

ojab
31.10.2016
17:54:50
[1, 2, 3]
превращай, удачи

Alex
31.10.2016
17:55:25
root: [1,2,3]

Google

Akzhan
31.10.2016
17:56:06
[{a:'b'}, {c:'d'}] ?
с индексом по table.field->a

? Алёна
31.10.2016
18:27:53
>если вы новичок, пожалуйста представьтесь.
Сап всем. Занимаюсь фронтендом, но иногда вынужденно сталкиваюсь с рельсовым фулстеком и для меня это БОЛЬ. Тут я для того, чтобы стать более терпимой к рубистам и попытаться облегчить боль.

Artur
31.10.2016
18:29:40

Alex
31.10.2016
18:34:35
а где болит?

? Алёна
31.10.2016
18:35:41
Болит везде. Особенно сильно в центре, отвечающем за hmr и livereload.
Да так. В одной компании моего мухосранска х)

Akzhan
31.10.2016
18:36:55
сейчас обычная практика - делать некий dev-сервер на Node (webpack dev server, к примеру). У нас, например, фронтэнд вообще отвязан в плане репозиториев от бэкэнда

Alex
31.10.2016
18:36:58
hmr как то в рельсах не оч, это да.
Рельсы под фронт слегка устарели.
А вот livereload вроде рабочий.

? Алёна
31.10.2016
18:37:39

Alex
31.10.2016
18:37:52
Haml шаблоны?

? Алёна
31.10.2016
18:37:59
( гневно смотрит на текущий проект )

Alex
31.10.2016
18:38:29
Haml шаблоны значит завязан на рельсу.

Akzhan
31.10.2016
18:38:30
шаблоны уже пару лет как должны были переехать на фронт, типа PUG

Google

Alex
31.10.2016
18:38:46
Вот реактовое приложение на webpack которое совсем с бэкеддом кроме апи не общается - на рельсу не завязано.

Akzhan
31.10.2016
18:39:06
да, именно. так, все общение строго по API

Alex
31.10.2016
18:39:28
Ну так отвяжите от рельсы фронт если он на рельсу не завязан.

? Алёна
31.10.2016
18:39:30
Да, я понимаю. У нас обысно все отдельно и общение по апи онли, но сейчас проект такой ниок
Фронт и рельсы там сплелись как алкоголик и бутылка

Admin
ERROR: S client not available

Akzhan
31.10.2016
18:40:21
тогда вся ваша боль от некомпентентного бэка (и недостаточно мотивированного фронта)

? Алёна
31.10.2016
18:40:40
И в сроках в 5 дней
И в том, что 80% фроета зашито в гемах

Akzhan
31.10.2016
18:41:51
и что вам надо понять до истечения этих пяти дней? я бы на вашем месте внедрил ES6/webpack,dev-сервер, но это у нас, например, заняло 3 недели на 3 фронтэндеров
правда, там попутно еще пару технологий внедрили

? Алёна
31.10.2016
18:42:39
Это единичный и уникальный в своем роде проект, лол.
Который работает по принципк "работает - не трогай"

Akzhan
31.10.2016
18:43:27
ну с гемами все просто, если свои, правьте. если чужие, создайте свой gem repo, и формируйте свои версии гемов

? Алёна
31.10.2016
18:43:50
Нельзя. В том то и прикол.

Akzhan
31.10.2016
18:44:00
мы в свое время использовали https://github.com/geminabox/geminabox
Мало информации
я же говорю, найдите репозитории гемов, сделайте локальные форки, поправьте что надо, запушьте в свой репозиторий, и потом просто bundler update или что там у вас
причем если bundler, вам и репогемов не надо, он прямо с гит поставит

? Алёна
31.10.2016
18:47:29
Нам нельзя трогать внутренности цмски.

Google

? Алёна
31.10.2016
18:47:45
Несмотря на то, что к гемам есть полный доступ.

Sergey
31.10.2016
18:48:01
Увольняйся

Akzhan
31.10.2016
18:48:02
тогда задача чисто фронтовая. загружается ваш скрипт, он перелицовывает dom

? Алёна
31.10.2016
18:48:16
Это боль, но боль прикольная.

Akzhan
31.10.2016
18:49:10
понятно. per rectum ad astra

Sergey
31.10.2016
18:49:13
А в чем кайф работать с такой командой, которая ставит всякие запреты на какой-то легаси-код?
А, ну если ты мазохистка, тогда это другая история)
gl hf :)

? Алёна
31.10.2016
18:49:47

Sergey
31.10.2016
18:50:03
Заказчик знает что такое gem?

? Алёна
31.10.2016
18:50:05
Он сам сколько хочешь гемов соберет

Akzhan
31.10.2016
18:52:21
мне кажется, вы решаете задачу на слишком низком уровне, и в этом ваша проблема. сперва надо описать задачу, объяснить заказчику варианты решения. и получить ответ. да, 4 часа, но результат очень важный. как минимум ему понятны варианты решения и сроки выполнения по каждому
в общем, вам нужен тимлид/течлид/cto
был бы кто-нибудь из них, я бы не услышал такую постановку )