
Enver
03.04.2018
12:23:43
Мне нравилось описание каррирования в Твиттер-школе:
https://twitter.github.io/scala_school/ru/basics.html

Stepan
03.04.2018
12:25:41
карринг декомпозирует функцию на функции от одного аргумента. Мы не передаем никаких дополнительных аргументов в метод Curry, кроме преобразуемой функции:
Curry(f) возвращает функцию f1, такую что...
f1(a) возвращает функцию f2, такую что...
f2(b) возвращает функцию f3, такую что...
f3(с) вызывает f(a, b, c)

_
03.04.2018
12:26:19
И еще неявное состояние

M
03.04.2018
12:50:42

Google

Alexander
03.04.2018
13:05:33
а какое сейчас самое трушное кодирование тайпклассов? То, что в scalaz придумали?

Oleg
03.04.2018
13:06:02
оно там экспериментальное
Я бы пользовался пока классищским

Alexander
03.04.2018
13:06:43
принял

Oleg
03.04.2018
13:07:02
А что есть необходимость наворачивать наследование?

Alexander
03.04.2018
13:07:13
не уверен

Needle
03.04.2018
13:08:15
дико извиняюсь, но у тебя ник протекает

Oleg
03.04.2018
13:09:21
спасибо, схожу к врачу по никам
как он называется? никник?

Needle
03.04.2018
13:10:15
никопед

Nikolay
03.04.2018
13:10:30
ник павлов

Oleg
03.04.2018
13:10:42
ок, зайдёмте в @scala_ponv обсудим

Google

Alexander
03.04.2018
13:12:43
"пройдёмте"
а можно ли как-то в circe получить encoder для sealed trait, но чтобы без топ левел объектов с полями соотв. именам классов и без дискриминатора - просто чтобы инстансы as is были (назад парсить не нужно - там есть другие поля, чтобы понять, какой формат ожидается)

Nikolay
03.04.2018
15:35:08
https://stackoverflow.com/questions/42165460/how-to-decode-an-adt-with-circe-without-disambiguating-objects/42165461#42165461

Alexander
03.04.2018
15:37:45
благодарю!

Grigory
03.04.2018
15:38:12
благодарю!
конфигурд кодеки есть, просто дискриминатор назнач (в ответе это The future)

Alexander
03.04.2018
15:38:38
дискриминатор в курсе, но я не хочу, чтобы он болтался

Nikolay
03.04.2018
15:38:56
можно наверное писать дискриминатор на уровне полей, и вырезать его в пост-обработке

Grigory
03.04.2018
15:39:02
^ я делаю так как написал Николай
быстрее и проще

Nikolay
03.04.2018
15:39:43
тогда можно избежать паттерн матчинга по каждому типу в трейте case foo @ Foo(_) => foo.asJson - вот этого

Alexander
03.04.2018
15:40:15
там решение на circe-shapes выглядит вполне, вырезать думал, но не хочется так низко пасть :)

OlegYch
03.04.2018
16:52:45
чем мешает дискриминатор?

Alexey
03.04.2018
17:03:28
А помните на гитхабе был мд файл о том как начинать учить скалу. Киньте ссылку

Ilya
03.04.2018
17:05:22
https://gist.github.com/d1egoaz/2180cbbf7d373a0c5575f9a62466e5e1

Alexey
03.04.2018
17:09:55
?

Vadim
03.04.2018
17:15:28
одмены - добавьте ссылку уже в описание)

Aleksei
03.04.2018
17:15:54
лимит буков на описание

Daniel
03.04.2018
17:16:16
а телеграф или гист долго и сложно
так и живем

Gleb
03.04.2018
17:16:40
Добавьте в ништяки

Google

Aleksei
03.04.2018
17:16:53
надо замутить телеграф

Ilya
03.04.2018
17:18:37
Можно зашортенить ссылку на правила и на гист c тутором - должно поместиться)

Daniel
03.04.2018
18:13:03

Александр
03.04.2018
18:15:46
очень глупый вопрос, один умный и достойный господин решил хранить данные в postgres с типом колонки jsonb, есть джедайский путь искать в этой колонке как в тексте ? в гугле не забанили, но и решения не нашел

Wystan
03.04.2018
18:16:01
кастуешь в текст и ищешь, но вообще там целый dsl есть

Александр
03.04.2018
18:16:57
про dsl читал, но самобытность господина породила хитрую очень структуру, про кастинг поищу - спасибо за направление

Grigory
03.04.2018
18:17:07

Wystan
03.04.2018
18:17:52
Но в отличие от монги все гарантии постгреса

Daniel
03.04.2018
18:18:45

Александр
03.04.2018
18:19:09
возможно замена отношения один ко многим на один к массиву сложных объектов внутри jsonb колонки не самый удачный ход, ну либо я не дальновидный и не могу оценить гений автора

OlegYch
03.04.2018
18:46:13
главное преодолеть желание начать пихать все в жсоне

Sergey
03.04.2018
20:05:23

Nick
03.04.2018
20:06:29

Wystan
03.04.2018
20:08:36

Sergey
03.04.2018
20:09:05
@> ?
кстати да, если фулл-текст не нужен, то @>, <@

Nick
03.04.2018
20:09:36
Сомневаюсь что ему нужен фултекст
Эт как-то совсем тупо

Sergey
03.04.2018
20:09:56
логично, да

Google

Nick
03.04.2018
20:10:46
Но индекс будет брутальным

Nikolay
03.04.2018
20:12:01
https://www.youtube.com/watch?v=3a5oE3p3jDA

Александр
03.04.2018
20:12:43

Admin
ERROR: S client not available

Александр
03.04.2018
20:16:44
пока не вкурил, @> поможет мне для случая когда у меня в jsonb лежит массив структур, со внутренней вложенностью а я знаю только значение одного из ключей ?

Nick
03.04.2018
20:20:56
А ещё есть ->

Александр
03.04.2018
20:23:54

Nick
03.04.2018
20:25:07
Зачем массив структур хранить как жсон

Александр
03.04.2018
20:27:50
это хороший вопрос, ответить на который я тебе не могу
у меня есть пара догадок но лучше не тратить на них время
я пока костылем обошел это дело, в техдолг завтра добавлю переписать все

Nick
03.04.2018
20:28:44
Возможно там просто ненужные данные были )
На тот момент
Кстати наверное весело для таких случаев миграции делать

Александр
03.04.2018
20:31:18
там были самые важные данные приложения

Daniel
03.04.2018
20:54:27
https://www.manning.com/books/modern-fortran

Wystan
03.04.2018
21:02:25

Daniel
03.04.2018
21:04:14
фортран уже устарел. Речь о современном фортране!

Nikolay
03.04.2018
21:59:57
фортран умер, да здравствует фортран!

Google

Nikolay
03.04.2018
22:00:13
не удержался

Юрий
04.04.2018
03:05:25
скаланы, там курсы с курсеры переехали на другую площадку, но я что-то не могу найти их. Есть ссылка у кого?

Denis
04.04.2018
03:10:10

Юрий
04.04.2018
03:18:11
круто, спасибо!

Andrey
04.04.2018
04:14:24
Как это работает: у меня есть объект A и трейт A, в объекте объявляется приватный класс который подмешивает трейт A и в конечном счёте я могу обращаться ко всем методам трейта через экземпляр который создаётся в объекте А
?

Viacheslav
04.04.2018
04:25:53
кому не слабо распарсить слова в код?)
может лучше в коде показать?
типа так
object A {
val you = new Hey
trait A { def xxx() = ??? }
class Hey extends A
}
A.you.xxx()?

KrivdaAllStars
04.04.2018
05:06:03
вопрос тут назрел, пришёл на новый проект , запустил идеевский аналайзер , нашёл кучу всяких !Option(...).isEmpty в if ах и кучу подобных ошибок ( СОТНИ ИХ ), как дипломотичнее их вмержить в проект ? вообще пользуетесь ли вы идеевским аналайзером?

Oleg
04.04.2018
05:08:28
Я бы отдельный ПР делал бы

Oli
04.04.2018
05:09:12

Aleksei
04.04.2018
05:12:23
обычно писатели таких ифов очень страстно защищают их, типа читаемость, или "ты что нас тут всех потом еще и на хаскель заставишь перейти?"

Oleg
04.04.2018
05:12:24
Option(...).toList.isInstanceOf[Nil]

Oli
04.04.2018
05:12:47