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

Andrey
25.04.2018
09:06:51

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

Mikhail
25.04.2018
09:08:12

Andrey
25.04.2018
09:08:48
И как идея их будет жевать, что самое интересное

Sergei
25.04.2018
09:10:19

Andrey
25.04.2018
09:10:34

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

Andrey
25.04.2018
09:12:25

Google

Sergei
25.04.2018
09:12:35
"Подключать" можно как степ билда проекта в каком-то тимсити
Ну мы так делали. Или анотациями поля моделек размечать, а на границах апи серелизовать и десериловать

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

Andrey
25.04.2018
09:15:35

Nick
25.04.2018
09:15:53
у тебя ж второй протобаф
там все ок будет
когда надо опшин, когда надо обычный обьект

Andrey
25.04.2018
09:16:34
когда надо опшин, когда надо обычный обьект
это понятно. я уже приводил пример
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

Andrey
25.04.2018
09:26:10
Хотя нет, не понял. Как методы в RealObertka то генерить?

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)
}
это только направление. а так, надо провести небольшой рисеч и перебор возможных вариантов, чтобы сказать как в точности все провернуть, какие еще подспутные интерфейсы сделать и т.д.

Andrey
25.04.2018
09:31:52

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

Евгений
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 то еще не вышел

Andrey
25.04.2018
15:24:25

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
19:27:28

Александр
25.04.2018
21:25:05

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

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

Nick
26.04.2018
06:28:57

Alex
26.04.2018
06:29:37

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