@scala_ru

Страница 642 из 1499
KrivdaTheTriewe
05.05.2017
07:41:34
можно мне начальником?

Nick
05.05.2017
07:43:52
Dmitry
05.05.2017
07:45:19
Умывальников

Nikolay
05.05.2017
08:01:20
https://twitter.com/contrarivariant/status/860205789734109188

Google
Denis
05.05.2017
08:09:48
You lost me on words SBT and reasoning

Iaroslav
05.05.2017
08:10:08
зачем таким заниматься? и так SBT не от хорошей жизни юзаешь.

Nikolay
05.05.2017
08:12:19
Можно ответить картинкой про итератор, но я боюсь что paulp не поймет

Шурик
05.05.2017
08:15:55
А что за картинка про итератор?

KrivdaTheTriewe
05.05.2017
08:21:12
Тайп эрейзится, Одерски плачет

Grigory
05.05.2017
08:21:30
он сам это породил

он и пытается убить

KrivdaTheTriewe
05.05.2017
08:21:59
он и пытается убить
это была аллюзия на одну известную песню

Alexander
05.05.2017
08:23:46
Вставлю свои 5 копеек. Ну, узнать что-нибудь полезное из того, что ранее не изучал и в качественном виде. Например так
Ну блин, никто же не знает чего вы изучали. Если бы меня просили порекомендовать, я бы рекомендовал анализ, теорию графов, высшую алгебру, теорию автоматов, по дискретке всякое. Для уровня выше есть всякое около deep learning, статистика с дополнительными главами, жёсткий матан прикладной. Если совсем упарываться можно посмотреть Category theory, HoTT и всякое околоадгебраическое (теория операторов, теория представлений), дополнительные главы анализа. Ну это то что мне кажется интересным и более или менее полезным.

KrivdaTheTriewe
05.05.2017
08:24:34
кстати , там райгордский теорию графов сделал на курсере

Alexander
05.05.2017
08:25:36
А, ну ещё по ФП можно почитать - лямбда, типизированная лямбда, теорию типов.

Google
Alexander
05.05.2017
08:28:09
Самоё полезное, по-моему, что называется strong math foundation (анализ, алгебра, дискретная) и статистика. Остальное for fun.

Ещё крутые дисциплины на стыке математики и биологии. Там можно очень интересные результаты получить потенциально.

Alexander
05.05.2017
08:30:16
Для работы в ИТ.

Ещё комбинаторику отдельно выделю.

folex
05.05.2017
08:31:45
понятно.

Nick
05.05.2017
08:51:09
кстати кто уже cats-effect к себе притащил?

KrivdaTheTriewe
05.05.2017
08:52:12
Dmitry
05.05.2017
08:52:34
пока doobie на свежие fs2 непереедет хз зачем

Nick
05.05.2017
08:52:36
folex
05.05.2017
08:52:46
я пока не понял, куда впихивать io в проекте

но очень хочется попробовать :)

рассказывайте как заюзаете

Nick
05.05.2017
08:52:58
folex
05.05.2017
08:53:05
ну я про cats-effects

у нас на фьючах всё, и как бы норм %)

Wystan
05.05.2017
08:53:20
Для работы в айти надо уметь отвечать всего на пару вопросов. например, последнее собеседование я прошел примерно так: "вот вам задачка такая и такая? за сколько сделаете? - ну за дня три. - а за один? - ну если убрать тесты и фиксы деплоить в прод, то да."

Nick
05.05.2017
08:53:52
у нас на фьючах всё, и как бы норм %)
ну вот у нас тож на фьючах, но чот как-то иногда хочется красивостей больше)

KrivdaTheTriewe
05.05.2017
08:53:55
я пока не понял, куда впихивать io в проекте

Google
KrivdaTheTriewe
05.05.2017
08:54:08
Wystan
05.05.2017
08:54:15
И ушел туда? ?
и пока не жалею :3

Artem
05.05.2017
08:54:36
и пока не жалею :3
Так и отлично )

Wystan
05.05.2017
08:55:28
деплоишь в прод ?
ну ты понял о чем я.

Nikolay
05.05.2017
09:00:36
Alexander
05.05.2017
09:08:51
IO можно исопльзовать как враппер для blocking кода или для callback-based асинхронщины

у нас есть враппер к S3, отдельная реализация для Future и для Monix Task - практически идентичные. С IO теоретически можно написать одну, а эти две станут тонкими врапперами для неё

Alexander
05.05.2017
09:18:22
ок, в целом у Monix Task похожий апи чтобы врапать callback based API, ну как в AWSSDK для S3 upload/download например. И никаких промисов

folex
05.05.2017
09:33:41
реактивщину коллбечную еще можно туда заворачивать, но стримы лучше наверное

Kirill
05.05.2017
09:36:20
время тупых вопросов. Есть тест на FreeSpec. Можно ли внутри него сделать еще PropertyChecks? и как? Примешиваю PropertyChecks к тесту, а он не компилится, требует то Shrink, то Arbitrary

Kirill
05.05.2017
09:37:17
оуф, кажется вопрос отпадает. Я скалачек не добавлял в зависимости

Vladimir
05.05.2017
09:48:42
Там ещё внимательное с операторами. В одном случае нужно assert, в другом просто булево выражение возвращать. Иначе тест типо выполняется, но никогда не фейлится

Kirill
05.05.2017
09:51:01
да тут вообще глаз да глаз Документация Скалатеста на сайте не соответствует версии как будто. по крайней мере, всякие should be === я сходу не нашел, использую ассерты

folex
05.05.2017
09:57:17


@fomkin первой в выдаче ссылка на feed.xml, может можно исправить? Если видишь смысл, конечно.

Alexander
05.05.2017
10:19:23
folex
05.05.2017
10:22:27
ну я больше про fluent стиль говорю, сходу даже не знаю, очень обще только представляю

я не настоящий стримовый сварщик :)

Google
Kirill
05.05.2017
10:52:17
org.scalatest.Matchers подмешал?
не подмешивал. Уже ассертами все нужное запилил)

удобная штука эти генераторы в СкалаЧеке. Раньше все то же самое на коленке делал в обнимку с Random-ом

Sergey
05.05.2017
10:55:18
но тесты на скалачеке получаются довольно медленными

Nikolay
05.05.2017
10:56:33
не подмешивал. Уже ассертами все нужное запилил)
ну матчеры тебе дают больше разнообразия. всякие там x should not be empty

A
05.05.2017
11:15:46
тут кто-нибудь slick использует?

Nikolay
05.05.2017
11:16:46
есть такие люди

Admin
ERROR: S client not available

Alexander
05.05.2017
11:16:56
никто не использует

A
05.05.2017
11:17:10
здорово, хоть один признался

не пойму как нормально решить задачку перевода данных в фильтры

Grigory
05.05.2017
11:18:17
в фильтры? данные?

Nikolay
05.05.2017
11:18:25
немного больше конкретики не помешало бы

типа есть фильтры и жгучее желание динамически строить запросы в зависимости от набора условий?

A
05.05.2017
11:19:10
типа a = table.filter(predicate) b = table.filter(predicate) с = a ++ b table.filter(c) => безграничное счастье и охуевание от крутости скалы

вот такое API я хотел в идеале

и чтобы каждый predicate генерировался исходя из данных которые мне прилетают, нужно это в фильтрации данных

и вот "гугление" этого всего выдаёт ерунду

Google
A
05.05.2017
11:20:31
или API старое или лыжи не едут

Nikolay
05.05.2017
11:21:30
a и b вернут тебе query, потом ты можешь у них получить .result и склеить в for comprehension например

A
05.05.2017
11:23:17
как клеить?

Alexander
05.05.2017
11:25:00
монадически!

Nikolay
05.05.2017
11:25:40
private def filterByDate(table: TheTable, dateFrom: Option[Instant], dateTo: Option[Instant]): Rep[Boolean] = { (dateFrom, dateTo) match { case (Some(from), Some(to)) => table.timestamp >= from && table.timestamp <= to case (Some(from), None) => table.timestamp >= from case (None, Some(to)) => table.timestamp <= to case (None, None) => true } } for { a <- theTable.filter(filterByDate(_, dateFrom, dateTo)).result b <- theTable.filter(filterByDate(_, dateFrom, dateTo)).result } yield a ++ b

можно так например

первый метод - это по сути и есть динамический фильтр

а в for comprehension мы все это клеим

читал как for работает?

в смысле for comprehension

A
05.05.2017
11:28:20
вот, ты клеишь через query1 ++ query2

Nikolay
05.05.2017
11:28:31
не совсем

это уже не query

A
05.05.2017
11:28:38
я сделал это через Seq( filterCensured(request.censured), filterByTag(request.tag), filterByTerm(request.term) ).reduce(_ ++ _)

но дальше ступор

ибо я не понимаю что за тип у результата a ++ b

Nikolay
05.05.2017
11:29:22
попроси idea тебе подсказать

alt+= вроде бы по умолчанию

выделяешь интересующее выражение и смотришь тип

полезная вещь

вот эти твои фильтры - ты хочешь чтобы они составили 1 запрос?

A
05.05.2017
11:31:50
перефразирую, я хз что с этим типом делать

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