
.
13.03.2017
06:31:31
или напротив

Viktor
13.03.2017
06:31:48
у меня он интересно поругивается

.
13.03.2017
06:31:48
slick имеет свойство ргуаться на id даже когда дело не в нём.

Viktor
13.03.2017
06:32:02
говорит что не может привести к int вторую колнку со строкой

Google

Viktor
13.03.2017
06:32:52
org.postgresql.util.PSQLException: Bad value for type int : some string

Dim
13.03.2017
07:06:19
Как выбрать из двух Option только то, что не пустое? В функциональном стиле?

Aleksei
13.03.2017
07:06:51
orElse?

Kirill
13.03.2017
07:06:54
а если оба не пустые?

Dim
13.03.2017
07:07:04
)) мда
но в общем ситуация такова, что только одно из них может быть непустым, а какое неизвестно.
можно их конечно в список загнать...и flatten сделать, так по моему...

Kirill
13.03.2017
07:09:29
orElse как подсказали выше не подойдет?

Dim
13.03.2017
07:10:54
пойдет, спасибо)

Aleksei
13.03.2017
07:11:10
не за что ?

Dim
13.03.2017
07:11:55

Aleksei
13.03.2017
07:12:30
да хоть Марти МакФлаю

Dim
13.03.2017
07:13:12
Не, ну этот не приложил ни одной руки к созданию Scala)

Google

Mikhail
13.03.2017
07:31:15

Dim
13.03.2017
07:31:55

Mikhail
13.03.2017
07:34:32
Не помню уже что там было) тем более о Скале
Там к Одерски попадает из будущего "альманах языков программирования". Он собственно на основе его анализа и строит скалу теперь. Только там книженция пострадала слегка, поэтому описания обрывочные и приходиться тратить много времени на эксперименты и закрытие пробелов собственными силами
Если отбросить этот факт, то Одерски ничем не примечателен и не сильно отличается от любого другого в этом чате

Nick
13.03.2017
07:39:49
Сделай через паттерн матчинг)

Mikhail
13.03.2017
07:41:47

Dim
13.03.2017
07:42:43

Alexander
13.03.2017
07:43:16
во. я тоже, если подобная ситуация появляется, ищу более правильный подход

Nick
13.03.2017
07:43:18
Передай вараргом опшины и найди прост первый не none

Mikhail
13.03.2017
07:43:29
И не забывать про следствия первого варианта (результат зависит от порядка, а также то, что на выходе может все равно получиться НаН)

Nick
13.03.2017
07:46:17
@dimstream какой бизнес кеис если не секрет?

Dim
13.03.2017
07:48:00

Alexander
13.03.2017
08:54:22

KrivdaTheTriewe
13.03.2017
09:21:39
Я все как то останавливал себя от введения в макро мир , но теперь видимо отличный повод есть

Nick
13.03.2017
09:23:47
не ходи в макро, ходи в мета

Max
13.03.2017
09:27:54

KrivdaTheTriewe
13.03.2017
09:31:43

Nick
13.03.2017
09:33:40

Mikhail
13.03.2017
09:36:33

Google

Alexander
13.03.2017
10:04:24
scala@tinkoff.ru спонсирует "Разбор полётов", God.

Юрий
13.03.2017
10:07:19
ну я так понимаю, потому что им важнее новых людей захантить, а не в скалу вложиться
у разбора полетов побольше аудитория, чем у скалалаза

Vadim
13.03.2017
10:08:07
а что ты имеешь ввиду под тем что "вложиться в скалу"?)

KrivdaTheTriewe
13.03.2017
10:08:26
Вообще , сложились впечатление , что все скала пользователи СНГ здесь

Юрий
13.03.2017
10:08:59

?Ivan
13.03.2017
10:09:51

Vadim
13.03.2017
10:10:40
ну мы еще нигде путей для поддержки не открывали. ну и вполне логично что их в первую очередь реклама своих вакансий интересует.

Юрий
13.03.2017
10:11:23

Aleksei
13.03.2017
10:11:40
и про монады ахахахаха =)

?Ivan
13.03.2017
10:11:42

Юрий
13.03.2017
10:11:50
рассказываю :)

Igor
13.03.2017
10:12:22

Alexey
13.03.2017
10:17:00

Юрий
13.03.2017
10:18:35
там есть какой-то убогий бот про опросы, который всё засирает

Nikolay
13.03.2017
10:20:02
vote вроде бы нормальный

Viktor
13.03.2017
10:20:24
что-то сдается мне active-slick косячит
так есть хороший tutor по slick dao с паттернами ?

?Ivan
13.03.2017
10:20:37
Как вы используете Scala?
Основная работа на ней – 55
??????? 52%
Часть работы не ней (меньше половины) – 17
?? 16%
Пока только изучаю – 17
?? 16%
Просто сижу в чатике – 10
? 9%
Пишу на ней для себя в свое удовольствие – 7
? 7%
? 106 people voted so far.

Nikolay
13.03.2017
11:02:47
кто-нибудь пользуется play+macwire?

Google

Ivan
13.03.2017
11:05:26
А как разделить ответы "пока только изучаю" и "пишу в своё удовольствие". Имеется ввиду в своё удовольствие когда пишешь - уже всё знаешь? :)

?Ivan
13.03.2017
11:06:18

Aleksey
13.03.2017
11:07:30
Да, и как разделить ответы "Основная работа на ней" и "Просто сижу в чатике"? :)

Denis
13.03.2017
11:08:27

Nikolay
13.03.2017
11:09:14
видимо это опрос на честность с самим собой

?Ivan
13.03.2017
11:12:02

Nikolay
13.03.2017
11:12:45
у меня MatchError

?Ivan
13.03.2017
11:13:18
последний case по идее должен у всех срабатывать

Admin
ERROR: S client not available

Valery
13.03.2017
11:39:15
Только начал пробовать скалу на боевом проекте, сразу куча вопросов, подскажите сведущие:
Пытаюсь сделать более менее общий метод для фильтрации в слике, то что сейчас компилируется
def findBy(name: String, owner: String): Future[Option[models.Project]] = {
val query = projects.filter { project =>
List(
Option(name).map(project.name === _),
Option(owner).map(project.owner === _)
).collect({ case Some(criteria) => criteria }).reduceLeftOption(_ || _).get
} .take(1)
db.run(query.result).map(_.headOption)
}
Хотелось бы вместо аргументов получать Map со списком аргументов (ключ -> значение) и фильтровать по ним, но у класса нет динамического дотупа к полям
project.get(keyName) или я не нашел его :)
Возможно ли сделать так на скале? и есть ли что-то антипаттерное в коде выше

Nick
13.03.2017
11:44:40

Nikolay
13.03.2017
11:44:57
а во что это превращается в sql-е?

Aleksey
13.03.2017
11:44:59

Valery
13.03.2017
11:45:55
буду рад любому совету/ссылке где почитать как правильно

Daniel
13.03.2017
11:45:56
Option(name) это точно не нужно (согласно здравого смысла, про слик хз)

Nikolay
13.03.2017
11:46:09
List(Option("foo"), Option("bar")).collect({case Some(baz) => baz}) можно записать как List(Option("foo"), Option("bar")).flatten

Daniel
13.03.2017
11:46:10
зачем оборачивать значения, чтобы потом их достать
Этих условий много будет? Для двух явно избыточно делать список и потом сворачивать

Google

Nick
13.03.2017
11:48:41

Aleksey
13.03.2017
11:53:45

Daniel
13.03.2017
11:57:12
конкретно в запросе project это сликовое олицетворение одного ряда
там потому и операторы сравнения свои, а не стандартные ==

Aleksey
13.03.2017
11:59:41


Valery
13.03.2017
12:02:38
да критериев полно, здесь для примера только 2
список критириев со значениями будет приходить из формы с клиента и хотелось использую названия критериев фильтровать нужные значения
да я как раз прочитал про case class у которых нет getter и на этом застопорился
за основу брал пример с документации
http://slick.lightbend.com/doc/3.0.0/queries.html#sorting-and-filtering
по почему то Column[Boolean] у меня не согласуется с тем что ожидает slick
кажется slick.Rep[_]


Denis
13.03.2017
12:09:28
True story
https://twitter.com/milessabin/status/841219815658393600

Aleksey
13.03.2017
12:12:50
Минус такого подхода в том, что если будет опечатка в критерии, программа свалится в рантайме, что не есть гут

Mikhail
13.03.2017
12:15:06
Дано: sbt, 3 модуля (задефайнены через lazy val project_name = project.settings...). Выполняем: sbt publishM2. Что происходит : сбт паблишит 4 проекта (общий(пустой, без включения модулей) и по одному на каждый модуль) Вопрос: можно ли сбт сказать, чтобы вместо 4-х паблишил 1 - сборную солянку?

Valery
13.03.2017
12:15:36
в серьезных приложения как тогда делают?
не пишут же методы для каждого критерия или это нормальная практика?

Aleksey
13.03.2017
12:18:10

Oleg
13.03.2017
12:19:53
Эволюция адоптера
а у нас кто-нибудь doobie юзает?
есть
Явные проблемы есть?
выкинь это гавно нахер и возьми doobie )

Nick
13.03.2017
12:21:32

Valery
13.03.2017
12:22:51
слик прям плох? или это утрированная версия утвеждения)