
Lev
12.04.2017
06:03:13
https://gist.github.com/travisbrown/6a08ed57ca2f414955184aad81f8f274
Утренняя (для некоторых) разминка

Daniel
12.04.2017
06:06:24
а в чем суть поста Кайла? бэклог на чтение большой, так и не осилил пробежаться

Oleg
12.04.2017
06:17:25
Я присоединяюсь к считающим подобный пиар находящимся за гранью допустимости

Google

Oleg
12.04.2017
06:19:09
Однако не считаю, что стёб над этим равноценен принятию. И даже наоборот.

Aleksey
12.04.2017
07:23:00
Олег, а это ты там в подкасте среди тиньковцев?

Nick
12.04.2017
07:31:58

Oleg
12.04.2017
07:36:23

Aleksey
12.04.2017
07:49:47
Удивился, что человек на столько погруженный в типы (по крайней мере создается такое впечатление из разговоров в чате) имеет SAP-бэкграунд.

Nick
12.04.2017
07:53:53

Oleg
12.04.2017
07:54:22

Nick
12.04.2017
07:54:32
Я вообще ток Витю могу по голосу определить

Aleksey
12.04.2017
07:58:12

Nick
12.04.2017
07:59:32
Oleg у вас мезос есть?

Oleg
12.04.2017
07:59:40
у меня - нет, но там есть бигдатовцы, у них всё есть, наверное

Google

Nick
12.04.2017
08:01:26
Марафон ж на скале написан, полюбас над брать)
Oleg а че там у вас для логов?

Oleg
12.04.2017
08:04:05

Maks
12.04.2017
08:04:23
Хочется пошутить про заглядывающего из-за спины otinkov на сотрудника в чате

KrivdaTheTriewe
12.04.2017
08:09:11

Nick
12.04.2017
08:09:11
Да они в подкасте уже все сказали , что можно

Alexandr
12.04.2017
08:16:32
Дело не в пиаре. Была очень мутная и неприятная ситуация с кидком разработчиков на переработки и часть зарплаты.

Nick
12.04.2017
08:17:06
Нука Олежка, расскажи
Ну а ты откуда это знаешь? Ты участвовал?)

Oleg
12.04.2017
08:25:18

Alexandr
12.04.2017
08:27:52
Меня задело по касательной. В общем, зря и это расказал. Все взрослые люди, и так все знают.
Снес. А то сейчас еще и про БВ захочется рассказать.

Denis
12.04.2017
08:28:38
Что творится, ссоьщения трут

Alexandr
12.04.2017
08:28:39
Вот там я влип по полной.
Я тру.
Банно-прачечный.

Alexander
12.04.2017
08:29:02

Maks
12.04.2017
08:30:12

Anatoliy
12.04.2017
08:48:43
Всем привет!
Может кто подсказать? Надо переделать ответ на что-то вроде Future[Option[(User, Seq[Roles])]]
def getByLoginAndPasswordNew(login: String, password: String): Future[Seq[(User, Option[Roles])]] = {
val tmp = (for {
(u, uig) <- table.filter(_.login === login).filter(_.password === password)
.join(userInGroupTable.table).on(_.id === _.user_id)
(rig, r) <- roleInGroupTable.table.filter(_.group_id === uig.group_id).joinLeft(roleTable.table).on(_.role_id === _.id)
} yield (u, r)).result
...
Не очень понимаю как это можно сотворить... это вообще можно тут сделать?

Google

Oleg
12.04.2017
08:49:35
слик?

Nikolay
12.04.2017
08:49:56
все можно

Anatoliy
12.04.2017
08:50:19
Угу, слик
но я так понимаю что бы это было можно сделать тут надо бить запрос на две части, так?
Хотя кажись мысль появилась, сейчас попробую

Nikolay
12.04.2017
08:51:31
ну, я понимаю что тебе нужно найти uid по логину, то есть result.headOption
а потом по этому id найти все роли

Combot
12.04.2017
08:53:00
combot.org/chat/-1001034178083

Anatoliy
12.04.2017
08:53:41
собственно и нахожу, просто результат должен быть именно как один пользователь и список ролей, а не список пользоваелей с ролями

Nikolay
12.04.2017
08:58:44
ты можешь либо разбить запрос на 2 запроса, либо обработать уже результат того что тебе вернет этот запрос
во втором случае у тебя будет что-то в духе
Seq(user1 -> role1, user1 -> role2, user1 -> role3)
чтобы разбить на 2 запроса можешь попробовать так

Nikolay
12.04.2017
09:00:32
(u, uig) <- table.filter(_.login === login).filter(_.password === password)
.join(userInGroupTable.table).on(_.id === _.user_id).result.headOption
- вернет тебе Option[User, UserId] - это первый запрос
это все дает тебе DBIO[Option[(User, UserId)]]. с этим можно плясать дальше - мапаешь его, и ишещь по ролям
что скажешь?

Anatoliy
12.04.2017
09:03:43
Скажу что сейчас тожеразбиваю на два запроса, правда без джойна, т.е. первый возвращает чисто пользоваеля, а второй срабатывает если пользователь есть и возвращает список ролей.
В итоге я возвращаю либо Option[NOne, None](это кстати для списока возможно?), если пользователя нет, либо Option[User, Seq[Roles]]
если результаты есть
val tmp = (for {
uig <- userInGroupTable.table.filter(_.user_id === user.get.id)
rig <- roleInGroupTable.table.filter(_.group_id === uig.group_id)
r <- roleTable.table.filter(_.id === rig.role_id)
} yield r).result
Это вообще нормальный вариант или лучше всё же через join?

Vladimir
12.04.2017
09:06:08
выглядит как monadic join, слик его сам преобразует к аппликативному

Anatoliy
12.04.2017
09:06:53
ПРосто при попытке вернуть что-то вроде такого:
Some(user, db.run(tmp))
} else {
Some(None, Seq(None))
}
Мне говорят что я не прав, и я поа не понимаю в чем...

Vladimir
12.04.2017
09:08:10
db.run как минимум вернет Future, а в else необернутый Seq

Google

Nick
12.04.2017
09:09:04

Anatoliy
12.04.2017
09:10:21
Ну футуру оно насколкьо я помню должно вернуть в любом случае, т.к. я это делаю внутри мапа, а вот seq я не заметил...

Oleg
12.04.2017
09:11:42
ну не Тиньков ж)
Я не знаю, что мне разруливать. Какой-то чувак пришёл рассказал про какую-то мутную историю с отсутствием деталей, у меня нет ни единого шанса понять, истинная она или нет. Никто из моих коллег с таким не сталкивался

Admin
ERROR: S client not available

Nick
12.04.2017
09:12:13
и ты уже его дал

Митко Соловец?
12.04.2017
09:16:22

?Ivan
12.04.2017
09:17:17

Vyatcheslav
12.04.2017
09:19:16
Не ради троллинга, интерсно: а что, если девушка оделать очень вызывающе.
1. Будет ли это харассментом?
2. Кого притесняют? :D

Oleg
12.04.2017
09:19:25
мне это какой-то товарищеский суд напоминает всё
совковых времён

Nick
12.04.2017
09:20:15

Oleg
12.04.2017
09:20:29

Nick
12.04.2017
09:20:34
лол
ну да, эт машина времени

?Ivan
12.04.2017
09:20:51

Nick
12.04.2017
09:21:08
че вы пристали к девушке то
отстаньте уже

?Ivan
12.04.2017
09:21:32

Nick
12.04.2017
09:21:37

Google

?Ivan
12.04.2017
09:22:09

Dmitry
12.04.2017
09:22:11

Nikolay
12.04.2017
09:22:26
давайте лучше про слик

Nick
12.04.2017
09:22:31

?Ivan
12.04.2017
09:22:45

Nikolay
12.04.2017
09:23:08
можно завести @scala_ru_harassment для насущных вопросов

Oleg
12.04.2017
09:23:49
а как ты прокомментируешь внедрение apache ignite ?
напротив меня внедрятель сидел, единственное, что помню, что он говнился на датасайнтистов, которые напитонили что-то совсем не подходящее для дистрибьютед и потом каждый алгоритм нужно в три раза дольше адаптировать

Nick
12.04.2017
09:24:00

Nikolay
12.04.2017
09:24:01
или @scala_ru_tinkoff как более общая альтернатива, если собираемся количество приемов пищи обсуждать

Oleg
12.04.2017
09:24:09

Nick
12.04.2017
09:24:24
а хз
такой щекастый парниша?

Oleg
12.04.2017
09:24:34
высокий худой