@scala_ru

Страница 1434 из 1499
Alexander
25.04.2018
09:01:46
Всем привет! Ребят, кто может подсказать какой-то задачник или что-то такое чтобы научиться решать такие примеры: Compute the value of (λx.x+1)((λy.y+2)3).

Andrey
25.04.2018
09:01:54
Хотя можно и обратным путем пойти - возвращать Option[Foo] и имплиситом его приводить в DynamicMessage[Foo] который на любой селект None возвращает :)

Условный DynamicMessage.Empty, который проверяет, есть ли вообще метод для такого селекта, и возвращается всегда None

Плюс хочется, что если в Msg foo - optional Foo, а в Foo bar - requred Bar, то DynamicMessage(msg).foo.bar возвращал Option[Bar]

Google
Mikhail
25.04.2018
09:05:20
Ну конечно DynamicMessage[Foo]. В Option мы его потом можем превратить :)
ок. я просто уточняю детали твоего видения) так почему бы тебе просто не сгенерировать нужные обертки для этих моделей, которые автоматом будут учитывать эти нюансы? раз эти модели часть апи, значит ты все равно будешь так или иначе использовать все поля и имеет смысл сразу под все поля сгенерировать, чем отдельно под каждое использование)

заодно автокомплит нормальный будет

Nick
25.04.2018
09:07:43
а msg какой-то конкретный тип имеет?

Mikhail
25.04.2018
09:08:12
я для этого и хочу макросы. Сгенерить можно, конечно, но это какое-то костыльное решение - нужно куда-то в сборке этот генератор ещё запихивать…
использовать динамик для моделей которые уже заранее в компайл тайм известны - вот костыль. и никуда в сборке этот генератор пихать не надо. также на макросах

Andrey
25.04.2018
09:08:48
а msg какой-то конкретный тип имеет?
Ну в нашем условном примере - Msg extends com.google.protobuf.GeneratedMessageV3 implements MsgOrBuilder. Сгенеренный protoc

И как идея их будет жевать, что самое интересное

Sergei
25.04.2018
09:10:19
Так. Тогда следующий вопрос - как макросами генерить целые классы без paradise? :)
Почему для protobuf версии API не сгенерить отдельную сборку

Andrey
25.04.2018
09:10:34
Sergei
25.04.2018
09:11:59
В смысле, если все API вызовы и модели известны - отдельно генератором генерятся все модельки и кладутся в отдельную сборку, которая потом подключается к проекту. Т.к. апи неизменно для текущей версии.

Google
Sergei
25.04.2018
09:12:35
"Подключать" можно как степ билда проекта в каком-то тимсити

Ну мы так делали. Или анотациями поля моделек размечать, а на границах апи серелизовать и десериловать

Nick
25.04.2018
09:15:05
а scalapb как делает?

Andrey
25.04.2018
09:15:35
а scalapb как делает?
а он из protoc напрямую генерит код. Но там тоже сунуть опшн в опшн в опшн

Nick
25.04.2018
09:15:53
у тебя ж второй протобаф

там все ок будет

когда надо опшин, когда надо обычный обьект

Andrey
25.04.2018
09:16:34
там все ок будет
но я хочу честный None если hasFoo() == false

когда надо опшин, когда надо обычный обьект
это понятно. я уже приводил пример message Bar { required string id = 1; } message Foo { optional Bar bar = 1; } message Msg { optional Foo foo = 1; } Хочу DM(msg).foo.bar.id с типом Option[String]

Sergei
25.04.2018
09:17:54
А синтаксический сахар типа for{} или flatten не уберет лишние option , рекурсивно там вызвать и т.д.

Mikhail
25.04.2018
09:19:46
Так. Тогда следующий вопрос - как макросами генерить целые классы без paradise? :)
хм. учитывая, что нет возможности применять скаламакросы к жава классам. то можно глянуть в сторону чего-то наподобие trait Obertka[T] { type RealObertka def apply(value:T):RealObertka } object Obertka { implicit def makeObertka[T] = macro blabla def apply[T](value:T)(implicit o:Obertka[T]):o.RealObertka = o(value) }

А синтаксический сахар типа for{} или flatten не уберет лишние option , рекурсивно там вызвать и т.д.
уберет одно, добавит другое. там действительно много бойлер плейта на получение вложенных полей будет

Mikhail
25.04.2018
09:30:45
Хотя нет, не понял. Как методы в RealObertka то генерить?
твой макрос должен сгенерить код { class Obertka[Foo]{ class RealObertka[T](value:T) { methods... } def apply(value:T):RealObertka = new RealObertka(value) } new Obertka(value) } это только направление. а так, надо провести небольшой рисеч и перебор возможных вариантов, чтобы сказать как в точности все провернуть, какие еще подспутные интерфейсы сделать и т.д.

Mikhail
25.04.2018
09:34:23
А разве макросы умеют в генерацию классов?
не припомню ограничений в этом для макросов. это же не топлевел

Andrey
25.04.2018
09:34:47
перепутал

Спасибо, похоже на план. Попробую :)

Google
Maxim
25.04.2018
10:48:23
Интересно https://repo.scala-sbt.org/ только у меня не доступен? или он под бан попал?

Aleksei
25.04.2018
10:51:18
под впн работает

Maxim
25.04.2018
10:55:41
под впн всё что угодно работает, а без?

M
25.04.2018
10:59:52
This is a redirection service for the sbt community repository. To insulate yourself from future migrations, please use the proxy URL instead of where it redirects (currently https://dl.bintray.com): Resolver.sbtPluginRepo("releases") https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/

Андрей
25.04.2018
11:14:36
под впн всё что угодно работает, а без?
уже больше недели - с первого дня блокировки, пишите в ркн

Maxim
25.04.2018
11:19:43
понятно, thanx

OlegYch
25.04.2018
12:00:06
можно напрямую dl.bintray.com юзать

или в хосты занести

Aleksei
25.04.2018
12:50:06
а я забыл как банить

вспомнил )

Friedrich
25.04.2018
13:02:14
а я забыл как банить
http://helloacy.ru/comics/delo-vsej-ego-zhizni.jpg

Евгений
25.04.2018
13:47:24
Is Scala ready for Java 9?

Nick
25.04.2018
13:51:45
судя по всему, да

Aleksander
25.04.2018
13:57:43
но на https://www.scala-lang.org все же речь про 8-ку

видимо, с 9-ой еще не стабильно

Sergey
25.04.2018
14:12:16
неправда, в 2.12.5 проблемы с компиляцией - https://github.com/scala/scala-dev/issues/139

Maxim
25.04.2018
14:48:25
2.12.4 - норм, 2.12.5 - нет

Oleg
25.04.2018
14:59:59
так там же только с макросами

только в 2.12.5

только если компилишь на jdk 9

Google
Admin
ERROR: S client not available

Oleg
25.04.2018
15:00:19
если запускаешь - пофиг

Grigory
25.04.2018
15:12:57
можно сразу всех одменов алертить

например фомкина который кудато пропал

Nikolay
25.04.2018
15:13:40
в диалоги сбербанка ушел)

Nick
25.04.2018
15:17:49
t

речь про 2.12.6

Sergey
25.04.2018
15:18:54
я так понимаю это в nightly сборках уже починено?

2.12.6 то еще не вышел

Daniel
25.04.2018
15:24:39
Полагаю надо уточнять, что значит поддержка. С модулями все печально пока. Только scalac научили в дефолт.

Татьяна
25.04.2018
15:26:08
Видеозаписи докладов с казанского Scala MeetUp уже доступны на YouTube https://m.youtube.com/user/ExpertFridays/videos

Grigory
25.04.2018
17:20:34
никто больше не заходил?

Oleksandr
25.04.2018
17:21:10
да они могут неделями молчать, и только потом спамить начать

Grigory
25.04.2018
17:21:25
угу

Oleg
25.04.2018
17:47:22
они не знают, что телеграм заблокирован?

OlegYch
25.04.2018
17:51:09
если б знали ходили бы через впн и их было бы больше

Евгений
25.04.2018
19:24:07
ксати, а что по статистике? средний онлайн после блокировок упал?

Андрей
25.04.2018
19:26:46
Сидим ломаем голову как Медиалогия высчитала падение просмотров в каналах на 76% Немного комментариев/вопросов к их графику: ▪️откуда цифра 46млн просмотров постов при заявленных 158k каналов, участвовавших в исследовании? В TGStat на 40k русскоязычных каналов набегает от 140 до 200млн просмотров в сутки. То есть каналов в 4 раза больше, а просмотров в 3 раза меньше? Это как? ▪️отсчет начинается от 16 апреля? Это первый день блокировки, активность в каналах была сумасшедшая, кол-во просмотров в этот день было на 30млн больше обычного. Нельзя вести отсчет от этого дня. ▪️в исследовании ничего не сказано про то какие каналы попали в выборку? Мы исследовали только русскоязычные, что очевидно, если учесть, что Telegram блокировали в России.

Google
Александр
25.04.2018
21:25:05
Юрий
26.04.2018
03:59:02
Народ, а есть кто использует http4s в проде? Какие подводные камни? Юзаете ли клиент? Какой бэкенд используете?

Alex
26.04.2018
06:26:01
В догонку аналогичный вопрос про fs2 стримы. Есть ли кто-нть кто использует их в продакшене?

Alex
26.04.2018
06:29:37
Doobie считается?
Если там стримы есть, то наверное да ?

Nick
26.04.2018
06:32:07
Тогда я юзал

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