@scala_ru

Страница 781 из 1499
Diemust
29.06.2017
21:26:54
а по какой книге? Вроде хорошее правило - держать кейс классы обособлено, не наследовать и тп

Google
Alexey
29.06.2017
21:36:24
@diemust да по любой:-) я фигурально

если я засуну def withSvoistvo в трейт то потом я имплементирую этот метод в кейс классах и все как бы хорошо... так?

Alexey
29.06.2017
21:39:22
Линзы не особо помогут ибо все равно придется по кейс классам прописывать. Изящно конечно, не спорю. Но я пока кондово попробую, а потом когда будет посерьезнее кейскласс можно и оптику

Oleg
29.06.2017
21:40:04
если оптики интересуют, то автоматически ты можешь получить Prism[MyTrait, CaseClass1] и Lens[CaseClass1, Svoistvo] их композиция будет Optional[MyTrait, Svoistvo]

Но проходящая ровно через один вариант

Если самому написать сумматор для таких Optional - получишь то, что хотел

Alexey
29.06.2017
21:42:48
Ого... спасибо!

Bulat
29.06.2017
22:21:05
Если самому написать сумматор для таких Optional - получишь то, что хотел
а заодно и код, который никто никогда не поймет)

Nikita
29.06.2017
23:34:17
Если самому написать сумматор для таких Optional - получишь то, что хотел
А есть пример посмотреть или какая документация на это? Сумматор это ты про композицию - часть апи монокля? Я концепты более менее понимаю, но конкретики не хватает

Nikolay
30.06.2017
02:08:47
Хороша вещь, спасибо)
Будет время - допилю с аргументами

Google
Denis
30.06.2017
07:21:48
Зависть. Мне-то пока нельзя паблишить, то, что на работе наработал
А какая причина основная кстати? Лицензии? ИБ?

Nikita
30.06.2017
07:26:02
Олег, а мне ответишь?)

А есть пример посмотреть или какая документация на это? Сумматор это ты про композицию - часть апи монокля? Я концепты более менее понимаю, но конкретики не хватает

Nikita
30.06.2017
07:50:53
дадада, дай за кофе очередь выстоять
знаешь еще какие-то годные реализации линз? я вот видел в scalapb такой вариант mosh.update( _.address.update( _.city := "Valejo", _.street := "Fourth" ) mosh.update(_.address.residents :+= josh)как тебе? https://github.com/scalapb/Lenses/blob/master/jvm/src/test/scala/SimpleTest.scala

Aleksey
30.06.2017
08:05:01


Nick
30.06.2017
08:05:50
Добавь ещё про аккамонгублокчин

Daniel
30.06.2017
08:05:56
главное, чтоб человек был счастлив

Aleksei
30.06.2017
08:05:58
отлично я считаю

Aleksey
30.06.2017
08:06:28
Не в тот чатик но ладно, пусть будет

Grigory
30.06.2017
08:13:42
творец за любимым делом

Nikita
30.06.2017
08:21:39
творец за любимым делом
это ты про творчество Алексея?)

Grigory
30.06.2017
08:21:49
про москаленко)

Nick
30.06.2017
08:22:08
творец за любимым делом
Ты слышал да? Он новый базворд выучил. Добавляй в список блокчейн

Grigory
30.06.2017
08:22:18
H Y P E

Google
Nikita
30.06.2017
08:26:57
https://scastie.scala-lang.org/Odomontois/ea7ThTMmQW2xHw1Ob63nCA/1
да, отличный пример) и веселый, а главное бизнес домен знакомый

Grigory
30.06.2017
08:26:58


Митко Соловец?
30.06.2017
08:28:11
что за тусовка?

Nick
30.06.2017
08:28:30
что за тусовка?
Собрание строителей

Митко Соловец?
30.06.2017
08:28:40
хайлоад строят?

Aleksei
30.06.2017
08:29:06
не понимаю причем тут гранж

Митко Соловец?
30.06.2017
08:29:19
вообще это как шведский стол

для HR

столько скалистов в одном месте

Grigory
30.06.2017
08:29:37
не понимаю причем тут гранж
ну лан это было слишком тонко я думаю

Nikita
30.06.2017
08:29:43
Oleg а можно как-то получить немного другой синтаксис апдейта в монокле типа как я указывал выше? или это будет противоречить каким-то принципам? mosh.update( _.address.update( _.city := "Valejo", _.street := "Fourth" ) mosh.update(_.address.residents :+= josh)

Grigory
30.06.2017
08:29:53
только поднимаешь уровень шуток выше сисек писек начинаются проблемы.

Grigory
30.06.2017
08:30:15
Рибята аноунсемент сергей москаленко теперь cap dev

Oleg
30.06.2017
08:31:07
знаешь еще какие-то годные реализации линз? я вот видел в scalapb такой вариант mosh.update( _.address.update( _.city := "Valejo", _.street := "Fourth" ) mosh.update(_.address.residents :+= josh)как тебе? https://github.com/scalapb/Lenses/blob/master/jvm/src/test/scala/SimpleTest.scala
особо не смотрел. Знаю, что монокль давно собирались на cats переписать. Во многих других почему-то дальше линз не пошли. Alex выше скидывал монокле-подобную недописанную cats реализацию. Но вообще в идеале было бы получить что-то на уровне хаскеллевых, что при текущем уровне компилятора невозможно

Nikita
30.06.2017
08:32:38
ок, но все равно большое спасибо за пример, сохронил

Aleksei
30.06.2017
08:36:38
только поднимаешь уровень шуток выше сисек писек начинаются проблемы.
просто письки/сиськи это универсальный язык юмора, как математика, только в юморе, а все что выше, у каждого свое

Grigory
30.06.2017
08:37:00
заберу на цитату

Aleksei
30.06.2017
08:37:57
тем не менее я хочу понять референс, это типа что вижу то пою?

на этом уровне?

Google
Grigory
30.06.2017
08:41:11
ну аналогия, типа курт отличный певец как мы знаем вот и поет всякое прекрасное и очень красиво (надеюсь фанаты кобейна не закидают меня его рифами)

вот нельзя просто раскрывать и рассказывать смысл шутки прямым текстом, она сразу становится набором убогого текста.

Aleksei
30.06.2017
08:42:31
но гранж это не только нирвана =(

да, ты сликшом как то завернул прямо

=)

Admin
ERROR: S client not available

Grigory
30.06.2017
08:47:56
я просто покашляю и ретируюсь, сделаю вид что этого разговора никогда не было

Nick
30.06.2017
08:49:38
Oleg
30.06.2017
08:49:53
получишь Chatter => Chatter

Nikita
30.06.2017
08:50:30
ок понял, спасибо!

Oleg
30.06.2017
08:51:08
а потом можешь сравнить с (Chatter.toxic ^|-> Toxic.toxicity).modify( _ - 0.5)

композиция тупо короче

Nikita
30.06.2017
08:53:33
а можно как-то сделать чтоб этот модифай применять от имени инстанса кейс класса? типа val person = Person(name = "Some name", address: Address(street = "street")) person.modify(_.address.street = "another street")

Nikita
30.06.2017
09:01:10
спасибо :) буду пробовать

Oleg
30.06.2017
09:12:08
Но, ты же сам, наверняка, докадываешься, что фриманатки лучше

Плюс моноклевых линз полимофрных в том, что их и на фриманатки можно натянуть

Aleksey
30.06.2017
09:15:49
Скаланы! Вопрос про девелопер экспириенс. Вот на пример у вас есть какой-нибудь фреймворк. У фреймворка есть режим разработчика, который включает какие-ниьудь там полезности, которые нужны во время разработки, но не нужны в продакшоне. Как лучше всего на ваш взгляд этот режим должен включаться?

Google
Grigory
30.06.2017
09:16:46
флаг в app.conf | переменная среды

Nick
30.06.2017
09:19:45
ну что, кто поидет на jug в Питере?

Oleg
30.06.2017
09:20:11
runDebug vs run

Aleksey
30.06.2017
09:20:30
runDebug vs run
А если хочется re-start?

Nick
30.06.2017
09:20:33
-O2 лол

Oleg
30.06.2017
09:21:04
А если хочется re-start?
а чем он помешает, если ты специально запускаешь дебаг?

Nick
30.06.2017
09:21:07
А если хочется re-start?
можно поимать ctrl+c и рестарнуть типа без стопа сервера

Oleksandr
30.06.2017
09:21:23
run/runDebug же сбт-специфичное

Oleg
30.06.2017
09:22:16
run/runDebug же сбт-специфичное
не, я имел в виду, скорее два разных способа запустить сервер\route во фреймворке

типа if(System.getProperty("korolev.debug")) application.runDebug else application.run

Юрий
30.06.2017
09:23:19
лучше не делать привязки к сбт. флаг в app.conf | переменная среды - норм решение

Aleksei
30.06.2017
09:23:37
ога, у нас так было где то когда то. в принципе норм

Grigory
30.06.2017
09:24:06
Девопсы любят переменные среды

Nick
30.06.2017
09:26:59
можно сделать envs и ключи как к примеру в clang

Oleg
30.06.2017
09:28:27
Если бы я юзал фреймворк, я бы предпочёл, чтобы я выбирал режим в коде, а код связывал с конфигом, как мне удобно, а не как фреймворк решил

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