@scala_ru

Страница 559 из 1499
.
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
Ты не смотрел чтоли 4-ую часть?
Не помню уже что там было) тем более о Скале

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

Если отбросить этот факт, то Одерски ничем не примечателен и не сильно отличается от любого другого в этом чате

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

Mikhail
13.03.2017
07:41:47
но в общем ситуация такова, что только одно из них может быть непустым, а какое неизвестно.
Не самый удачный подход - исходить из того, что два разных обьекта никак не связанных между собой будут гарантированно связаны таким условием. Смердит и ведет к ошибкам. В этом случае либо задачку стоит свести к "выбрать из списка опшинов первый не НаН" либо использовать что-нибудь вроде Either

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
@dimstream какой бизнес кеис если не секрет?
как бы так сказать...классификация сущьностей.

Alexander
13.03.2017
08:54:22
такую штуку как в плюсах провернуть
Почему index в конструктор не передать просто? Нужно тайпсейф?

такую штуку как в плюсах провернуть
Можно type provider на макросах сделать для Int.

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

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

KrivdaTheTriewe
13.03.2017
09:31:43
Nick
13.03.2017
09:33:40
2.12
и?)

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
Вообще , сложились впечатление , что все скала пользователи СНГ здесь
надо опрос замутить, кто из чатика знаком со Scala и может на ней писать, а кто просто из Java чата и им подобным просто мониторит, чтобы быть в тренде.

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

Юрий
13.03.2017
10:11:23
Вообще , сложились впечатление , что все скала пользователи СНГ здесь
Нет, это не так. На работе много кто и не слышал про телеграм чатик. И про подкаст тоже.

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

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

Юрий
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
А как разделить ответы "пока только изучаю" и "пишу в своё удовольствие". Имеется ввиду в своё удовольствие когда пишешь - уже всё знаешь? :)

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

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) или я не нашел его :)

Возможно ли сделать так на скале? и есть ли что-то антипаттерное в коде выше

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
Не ругайся
прости батюшка, бес попутал

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

Aleksey
13.03.2017
11:59:41
Только начал пробовать скалу на боевом проекте, сразу куча вопросов, подскажите сведущие: Пытаюсь сделать более менее общий метод для фильтрации в слике, то что сейчас компилируется 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) }
Будет что-то вроде val projectGen = LabelledGeneric[model.Project] def findBy(criteria: (Symbol, String)*): Future[Option[models.Project]] = { val query = projects find { project => val rec = projectGen.to(project) criteria contains { case (key, value) => rec(key) === value } } db.run(query.result) } Не уверен что будет работать. Шеплес строгал последний раз года 2 назад, а слик и того больше.

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
Дано: sbt, 3 модуля (задефайнены через lazy val project_name = project.settings...). Выполняем: sbt publishM2. Что происходит : сбт паблишит 4 проекта (общий(пустой, без включения модулей) и по одному на каждый модуль) Вопрос: можно ли сбт сказать, чтобы вместо 4-х паблишил 1 - сборную солянку?
Там как-то все плохо с этим. Но решение есть. val unusedRepo = Some(Resolver.file("Unused transient repository", file("target/unusedrepo"))) val dontPublishSettings = Seq( publish := {}, publishTo := unusedRepo, publishArtifact := false ) У всех проектов которые не надо папблишить надо прописать .settings(dontPublishSettings:_*)

Oleg
13.03.2017
12:19:53
Эволюция адоптера

а у нас кто-нибудь doobie юзает?

есть

Явные проблемы есть?

выкинь это гавно нахер и возьми doobie )

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

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