@scala_ru

Страница 488 из 1499
Oleksandr
09.02.2017
08:42:50
это магия на уровне макросов

ничего сложного, в целом, много кто пишет свои StringContext-ы, user api приятный

Oleg
09.02.2017
08:49:37
это не критично на этой задаче. Смотрю в StringContext, не совсем понимаю как он подставляет. вижу конструктор, вижу s
каждый раз строка foo"вставай $bar страна огромная $baz!" превратится компилятором в вызов new StringContext(Seq("вставай", "страна огромная", "!")).foo(bar, baz)

Google
Dim
09.02.2017
08:50:27
если я буду использовать конструктор StringContext

Oleg
09.02.2017
08:50:42
а как оно понимает куда подставлять?
понимать должен метод foo

ему дают n+1 кусков строк и засовывают n выражений, возможно в макрос

foo может быть получен через implicit conversion

Sergey
09.02.2017
09:04:23
Как я уже говорил, я вот не вижу ни одного реально примера, где не "отт тут монга тоже будет работать", а "Без монги ты тут соснешь по полной".
Отвечаю, если нужна гибкая структура данных : вложенные данные,частоизменяемая(проект быстро развивается), разреженные данные - без монги ты соснешь. Это в контексте schemaless

Alexey
09.02.2017
09:05:22
хранить половину данных структурировано а половину в жсоне отдельным полем вполне норм план в постгресе

Alexey
09.02.2017
09:06:05
запросами?

Vasily
09.02.2017
09:06:23
https://github.com/jayway/JsonPath

Sergey
09.02.2017
09:06:28
Внутри json-а

Andrey
09.02.2017
09:06:35
Отвечаю, если нужна гибкая структура данных : вложенные данные,частоизменяемая(проект быстро развивается), разреженные данные - без монги ты соснешь. Это в контексте schemaless
В чем не гибкость посгреса? В чем именно сосну? Можно конкретные метрики? Что вкладывается в понятие "частоизменяемая структура данных"? Сколько раз в минуту вы ее меняете, что это становится такой проблемой?

Alexey
09.02.2017
09:06:57
А, вы не знаете как это делать через sql запросы? Вот ответ - https://www.postgresql.org/docs/9.6/static/functions-json.html

Google
Alexey
09.02.2017
09:08:04
что это? можно индексы сделать? можно сделать фильтрацию по структурированным полям

конечно можно придумать случай когда это не сработает

Alexey
09.02.2017
09:08:32
конечно можно

Oleg
09.02.2017
09:08:53
клёво, чё

Alexey
09.02.2017
09:08:56
так же можно придумать случай когда монга не сработает. но если плясать от практических задач, то для хранения полиморфных данных или слабострукторированных жсон в постгре вполне норм

Митко Соловец?
09.02.2017
09:09:31
а поиск нормально по этому json работает? а индексы? мне нужно создавать таблицу для работы с 1 колонкой?

Alexey
09.02.2017
09:09:41
причем мне это нравится значительно больше монги. ты можешь зафиксировать часть схемы. и быть в ней уверен.

Alexey
09.02.2017
09:10:22
а поиск нормально по этому json работает? а индексы? мне нужно создавать таблицу для работы с 1 колонкой?
наверное для постгре не самый лучший сценарий. но по факту есть много полей, которые обязательны. их можно вынести в отдельные поля

Митко Соловец?
09.02.2017
09:10:44
т.е. для самых тупых простых случаев он подойдёт

Alexey
09.02.2017
09:10:57
а индексировать array в твоём json можно?
я уже отвечал - так же можно придумать случай когда монга не сработает. но если плясать от практических задач, то для хранения полиморфных данных или слабострукторированных жсон в постгре вполне норм

Митко Соловец?
09.02.2017
09:11:29
здесь есть вообще люди, которые с монгой работали хотя бы полгода, год?

или вы статей поначитались?

Alexey
09.02.2017
09:11:48
Andrey
09.02.2017
09:12:43
здесь есть вообще люди, которые с монгой работали хотя бы полгода, год?
Что бы потратить на нее целый год жизни, она должна для начала что-то реальное предложить) А не только маркетинговый булшит...

Google
Митко Соловец?
09.02.2017
09:13:25
с версии 3.0 это продакшен рэди продукт

до этого -кусок говна был, согласен

есть, а зачем тебе?
да так, понимать компетенции людей

Oleg
09.02.2017
09:13:47
с версии 3.0 это продакшен рэди продукт
потому что лично ты не сталкивался с проблемами?

Denis
09.02.2017
09:13:48
Бизнес захотел отчет. И ты такой в коде хуе-мое, здесь мап-редьюс, вытащил результаты, потом для каждой строки данные из другой коллекции, потом другой мап-редьюс.. В концу недели сделал отчет, +5000 строк кода. Гордишься собой. А коллгеа на постгресе хернул короч materialized view, и уехал на гироскутере

Митко Соловец?
09.02.2017
09:13:56
вчера писал с какими

но это все решаемо

Oleg
09.02.2017
09:15:23
тем более, что для "отчётов бизнеса" и SQLа нихрена не хватает

Andrey
09.02.2017
09:16:06
Вы решили ввести фичу в продукт : добавить пользователю ставить текущий статус, строка. Твои действия
Понятно, примеров не будет. Будет опять теоретизирование на кофейной гуще...

Andrey
09.02.2017
09:17:01
А тут уже говорили, что MongoDB is webscale?

Sergey
09.02.2017
09:17:53
Andrey
09.02.2017
09:18:45
Это че значит?)
А это тоже очередной маркетинговый булшит)))

Andrey
09.02.2017
09:19:03
Это че значит?)
Рекомендую погуглить

Митко Соловец?
09.02.2017
09:19:04
https://habrahabr.ru/post/204392/

Sergey
09.02.2017
09:19:09
Нераскрытый потенциал!)

Google
Митко Соловец?
09.02.2017
09:19:12
легендарный пост

Sergey
09.02.2017
09:19:51
Рекомендую погуглить
Рекомендую погуглить зачем нужны чаты)

Andrey
09.02.2017
09:20:49
Чтобы флудить? Я с телефона, мне сейчас неудобно искать ссылку на легендарную статью. Но вот уже и перевод подогнали

Vasily
09.02.2017
09:21:36
Правильная статья, и смешного в ней почти нет

Nikolay
09.02.2017
09:24:16
http://www.mongodb-is-web-scale.com/ - мультик слева лучше

guga
09.02.2017
09:25:06
Правильная статья, и смешного в ней почти нет
а я почти купился на работу на ферме, звучит чертовски интересно.

Vyatcheslav
09.02.2017
09:28:45
здесь есть вообще люди, которые с монгой работали хотя бы полгода, год?
Я работал, писал аггрегатор сервисов доставок. Намного проще получилось, чем если б с "обычной" реляционной БД.

Admin
ERROR: S client not available

Diemust
09.02.2017
09:31:13
намного проще будет не юзать БД, а держать все в памяти, например

или в файле

Vyatcheslav
09.02.2017
09:32:16
Я помню на какой-то конфе столетней Олег Бартунов уже делился что они с Jsonb уделывают монгу
Ну конечно. "ведущий разработчик СУБД PostgreSQL, член PostgreSQL Foundation." Еще б он обсирал посгрю :D

Sergey
09.02.2017
09:33:02
здесь есть вообще люди, которые с монгой работали хотя бы полгода, год?
Игра с мультиплеером, гибкая структура, сейчас в продакшене Поставщик данных для кластера покерботов, парс статистики игр, расчет стат ~ 1000 на одного игрока, разреженные данные, агрегация. Также юзалась местная gridfs

Aleksei
09.02.2017
09:33:31
сейчас тебе скажут что спринг это все уже 10 лет умеет

Vyatcheslav
09.02.2017
09:33:47
намного проще будет не юзать БД, а держать все в памяти, например
не, там были заморочки с импортом локаций из ФИАС, нужен был перзистентс :) Это сейчас какие-то либы пишут, тогда ничерта не было, надо было самим обрабатывать 20 гигов xml-говна

но, с чем я соглашусь - так это с тем, что Монга не для критичных данных :D Хоть они там в своем курсе и говорят, как использовать монгу в банковской сфере, пошли они с ней нахрен в таких задачах.

Sergey
09.02.2017
09:36:59
Nick
09.02.2017
09:38:13
а кто как в скалке дизьюнкцию типов делает?

Denis
09.02.2017
09:38:58
Either или shapeless.Coproduct

зависит от кейса

Google
Vyatcheslav
09.02.2017
09:39:40
кстати, хоть все и ругают монгу, но нужно отдать ребятам должное. Маркетинг у них был что надо, подняли хайп. А еще помню, решил пройти курсы по их БД, они сделали тогда их по типу codeshool. Решаешь задачи прям в браузере, очень удобная консолька там была ) Да и сам курс легкий и понятный был

Nick
09.02.2017
09:40:39
зависит от кейса
Кейс такой, некие долбаебы сделали два инетрфейса с одними и теми же методами и два обьекта их реализуют

Nick
09.02.2017
09:41:02
сорян

Denis
09.02.2017
09:41:02
Nick
09.02.2017
09:41:04
слов прост нет)

Aleksey
09.02.2017
09:41:34
слов прост нет)
Кейс такой, некие атернативно одаренные сделали два инетрфейса с одними и теми же методами и два обьекта их реализуют

Nick
09.02.2017
09:41:57
чтот типа того

Denis
09.02.2017
09:42:34
и что дальше то ?

Vyatcheslav
09.02.2017
09:43:04
а доступ к коду есть? Если кода много, можно было бы сделать, чтобы один наследовался от другого. А потом потихоньку выпиливать

Nick
09.02.2017
09:43:49
нет конечно

Vyatcheslav
09.02.2017
09:46:14
можно имплиситное преобразование сделать :) Типа адаптера. Выбираешь 1 интерфейс, а для классов реализующих другой делаешь имплиситы

по сути 1 имплисит только нужен

implicit def toInterfaceB(a: InterfaceA): InterfaceB = new InterfaceB { … }

Nick
09.02.2017
09:54:35
интерфейс реализовывать предлагаешь?)

Denis
09.02.2017
09:55:41
прям для тайпклассов кейс )

делаешь третий интерфейс с этими методами

Vyatcheslav
09.02.2017
09:55:55
ну да, 1 реализовать через другой, а имплиситы сами разрулят преобразование. Раз там методы одинаковые, они наверняка одно и то же делают, да?

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