@scala_ru

Страница 921 из 1499
Henadz
05.09.2017
12:39:44
http://slick.lightbend.com/doc/3.2.1/

Friedrich
05.09.2017
12:40:04
Довольно мило выглядит.

Oleg
05.09.2017
12:40:51
Довольно мило выглядит.
нет, не покупайся на это

Google
Oleg
05.09.2017
12:40:58
используй что-угодно другое

Alexander
05.09.2017
12:40:59
Довольно мило выглядит.
пока не понадобится что то сложнее селкта

Henadz
05.09.2017
12:42:50
пока не понадобится что то сложнее селкта
миллион плюсов этому господину

Vladimir
05.09.2017
12:43:19
(for { (c, f) <- tableQuery joinLeft flwsTableQuery on (_.id === _.id) } yield (c, f)) .groupBy { case (c, _) => c.id } .map { case (id, sub) => (id, sub.map(_._2.map(_.userId)).countDistinct, sub.map(_._1.countryId).max ) } .sortBy { case (id, flwCount, cntryId) => ((cntryId === countryId).desc, flwCount.desc) } .map { case (id, flwCount, cntryId) => (id, flwCount) } .result

Alexandr
05.09.2017
12:44:08
?

Daniel
05.09.2017
12:44:44
всежепонятно

Alexander
05.09.2017
12:45:43
веселье начинается когда например с постгресовским jsonb хочется поработать

или даже банальный апдейт поля используя старое значение

Daniel
05.09.2017
12:47:03
где-то нет с этим проблем? это же специфичная фича

Alexander
05.09.2017
12:47:34
инкремент какого нибудь поля это специфичная фича?

нуууу...

Google
Alexander
05.09.2017
12:48:38
или допустим сгенерить несколько джойнов

динамически

Alexandr
05.09.2017
12:50:36
Я понимаю, когда нужно динамически формировать where, но когда полностью вся структура запроса меняется динамически, это уже что-то не то

KrivdaTheTriewe
05.09.2017
12:50:53
я сделал просто (setSeedQuery andThen selectQuery).transactionally
SLICK это боль, сложнее селекта и не сделаешь

Daniel
05.09.2017
12:50:59
я про json писал, собсно и вопрос не про слик, а "где-то с этим нет проблем?"

Grigory
05.09.2017
12:51:00
хватит спорить послушайте Олега

он фигни не скажет.

Alexander
05.09.2017
12:59:22
UPDATE Orders SET Quantity = Quantity + 1 WHERE ..

KrivdaTheTriewe
05.09.2017
13:05:25
UPDATE Orders SET Quantity = Quantity + 1 WHERE ..
КАК ЭТО СДЕЛАТЬ СЛИКОМ

и при этом еще проверку сделать , что квантити меньше чего-то

Nikolay
05.09.2017
13:06:00
КАК ЭТО СДЕЛАТЬ СЛИКОМ
пулл реквестом в слик

Alexander
05.09.2017
13:06:17
там они что то говорили что сделали

но найти как никто пока не сумел

KrivdaTheTriewe
05.09.2017
13:06:42
у меня идея на вк хакатон появилась

Alexander
05.09.2017
13:06:44
в обход только либо транзакция либо select for update

либо ВЫКИНУТЬ СЛИК

Grigory
05.09.2017
13:08:24
там они что то говорили что сделали
не там ищща досихпорвисит

никак

нууу мне кажется оно и не надо

Google
Grigory
05.09.2017
13:08:50
не очень тайпсейфная операция знаете ли

Alexey
05.09.2017
13:37:54
Народ, в circe можно сгенерить часть как auto а часть руками и semiauto?

Nikolay
05.09.2017
13:38:10
да

Grigory
05.09.2017
13:39:32
приоритеты импортов при наследовании

Nikolay
05.09.2017
13:39:45
можно просто в разных трейтах определить кодеки

Alexey
05.09.2017
13:39:58
что то типа case class A(b: B) case class B(i: Int) case class C(d: D) case class D(i: Int) Хочется руками написать только для B и D

Grigory
05.09.2017
13:40:53
в компаньоне определи для них, или не работает так просто?

если не работает то можно trait Implicits extends AutoDerivation { // тут твои семи авто и ручные кодеки }

Alexey
05.09.2017
13:42:21
мегя больше интересует точно ли при auto подхватятся существующие Decoder и Encoder

а не выведутся свои

KrivdaTheTriewe
05.09.2017
13:44:14
а не выведутся свои
можно добавить println при декодинге и проверить)

Grigory
05.09.2017
13:44:20
плюсую кривде

Alexey
05.09.2017
13:44:27
ну щииит :)

Grigory
05.09.2017
13:44:34
ну должны подхватиться)

я так всегда делаю (переопределяю как описал выше)

Mikhail
05.09.2017
13:44:48
мегя больше интересует точно ли при auto подхватятся существующие Decoder и Encoder
implicit def generateEncoder[T]:Encoder[T] implicit def myclassEncoder:Encoder[MyClassEncoder] = при наличии в скоупе конкретного енкодера - скалка возьмет его. если у тебя енкодер в object MyClass - то он и должен взяться

Grigory
05.09.2017
13:44:54
он сначала лезет в компаньон а потом генерирует если ничего нету (авто самый поседний приоритет)

KrivdaTheTriewe
05.09.2017
13:45:16
ну щииит :)
можно даже доопрееделить вывод автоматических декодеров

или кстати, как вариат, использовать @JsonCodec для гарантии, без авто

Grigory
05.09.2017
13:45:38
чтоб это подчернуть я свой пакет с имплиситами делаю, и наследую от AutoDerivation, что бы точно в последнюю очередь

Google
Alexey
05.09.2017
13:45:38
лан ща попробую, спасибо

Nikolay
05.09.2017
13:45:49
https://scalafiddle.io/sf/xHPjgH7/1

Nikolay
05.09.2017
13:46:24
@eld0727 вот так можно

Alexey
05.09.2017
13:46:34
https://scalafiddle.io/sf/xHPjgH7/1
отлично, спасибо :)

Mikhail
05.09.2017
13:48:50
@eld0727 вот так можно
в компаньоне оно автоматом в скоуп попадет https://scalafiddle.io/sf/xHPjgH7/3

Nikolay
05.09.2017
13:49:39
да, мне не очень нравится такие вещи в companion класть

Alexey
05.09.2017
13:49:59
как попадёт это уже пофиг, главное что можно

Mikhail
05.09.2017
13:55:07
да, мне не очень нравится такие вещи в companion класть
отчего? это ведь регламентированное поведение и не требуется ручками импорт прописывать

наоборот, даже предпочтительнее в компаньон пихнуть, потому что если не пихнешь и забудешь импортнуть - можешь получить авто кодек

Nick
05.09.2017
14:11:38
https://www.humblebundle.com/books/data-science-books

Alexey
05.09.2017
14:29:04
видимо дебажить почему он не может сгенерить auto тоже то еще удовольствие

Nikolay
05.09.2017
14:30:08
да не, просто implicitly[Encoder[_]] каждой из частей

и там уже понятно становится

конечно если кейс классы на 50 полей, то сложновато будет

Alexey
05.09.2017
14:30:59
говорю же то ещё

Aleksey
05.09.2017
14:33:10
Рановато переходить на новый sbt. Баг на баге сидит и багом погоняет. Падает с совершенно невменяемыми ошибками.

Grigory
05.09.2017
14:33:39
а что случилось? я чот не поймал вообще

Grigory
05.09.2017
14:34:07
главное 1.0.1 использовать

Google
Nikolay
05.09.2017
14:34:28
а что в 1.0.1 пофиксили?

Aleksey
05.09.2017
14:34:43
До package object currupted, то просто MALFORMED. При этом и то и другое лечится перезапуском.

Grigory
05.09.2017
14:35:03
я вот это ловил https://github.com/sbt/sbt/issues/3425 Nikolay

Aleksey
05.09.2017
14:35:22
главное 1.0.1 использовать
Ща проапгрейжусь.

Nikolay
05.09.2017
16:10:58
@fomkin и как - получше стало?

Aleksey
05.09.2017
16:11:12
пока непонятно

Nikolay
05.09.2017
16:12:20
а по скорости билдов и инкрементальной компиляции что-то лучше стало?

Aleksey
05.09.2017
16:12:34
проект маленький, так что не заметно

Daniel
05.09.2017
16:14:12
револвер что-то не револьверный не фига

Wystan
05.09.2017
16:26:50
А у кого-нибудь есть идеи из-за чего может быть `java.lang.StackOverflowError at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:698) at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396) `

-J-Xmx2G лечит, но просто непонятно, где помочь компилятору.

Nick
05.09.2017
16:35:25
Xmx ж параметр для хипа, а у тебя StackOverflow

Евгений
05.09.2017
16:36:28
Xmx ж параметр для хипа, а у тебя StackOverflow
хипа не хватает, он начинает в стек писать

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