
Kylych
23.01.2018
15:44:21
you can calculate the position w/ a database query
Что означает w/ ? with ?

You
23.01.2018
15:45:14
Пиратишь?

Rina
23.01.2018
15:45:44
Хочется найти материал реально полезный

You
23.01.2018
15:46:09

Google

Rina
23.01.2018
15:46:32
Понял, сообщение удаляю

Artiom
23.01.2018
15:46:33
Ребята, может знает кто сайт с годными идеями проектов по Android? Буду очень благодарен, хочу изучать котлин, создавая более-менее серьёзный проект, но идей нет

Dibro
23.01.2018
15:46:48
там 1.2.21 вышел
https://github.com/JetBrains/kotlin/blob/1.2.20/ChangeLog.md

You
23.01.2018
15:47:20

Artiom
23.01.2018
15:47:27

You
23.01.2018
15:47:32
Под Андроид найдется что-нибудь

Kylych
23.01.2018
15:48:43

Igor
23.01.2018
15:58:19

Boris
23.01.2018
17:48:59
коллеги, нужна корутинопомощь
вот скажем у меня есть suspend fun send(request: Request): Response
а теперь мне нужно сделать Sequence из запросов
есть такая штука как buildSequence, но она специально ограничена в выполнении саспенд-функций внутри своего билдера
есть какой-то СаспендСиквенс для таких целей?

Google

Quantum Harmonizer
23.01.2018
17:53:19
Channel

Boris
23.01.2018
17:53:46
ах, ну да
точняк, спс

Artem
23.01.2018
17:54:09

Boris
23.01.2018
18:01:18
А канал он такой немного императивный, да?
Вообще канал работает не совсем как сиквенс

Igor
23.01.2018
18:07:56

Anton
23.01.2018
18:43:39
по дарту то оказывается конфы проводятся гуглом

Igor
23.01.2018
18:46:56
По котлину тоже (один - один)

Гадкий
23.01.2018
18:47:05

Eugene
23.01.2018
19:11:39

Anton
23.01.2018
19:12:45
ну вот только врайк и пишет
не густо
ну и гугл) адмоб на нем вроде

Жабра
23.01.2018
19:27:28

Andrew
23.01.2018
19:28:16
Вероятно, в том, в котором "не декларативные" :)

Igor
23.01.2018
19:30:30
В каком смысле вы имеете ввиду слово "императивные"?
В прямом)))
Там же основной селинг-поинт что можно:
“как и раньше писать простой код с циклами/условиями/исключениями, а оно само магически заворачивается в колбеки (стейт машину)”
В отличие от всяких футуров/промисов и прочих “монадок”

Quantum Harmonizer
23.01.2018
19:31:36

Igor
23.01.2018
19:34:38

Max
23.01.2018
19:34:56
А корутины уже в продакшене юзают? Иди это удел энтузиастов пока?

Google

Quantum Harmonizer
23.01.2018
19:35:14

Жабра
23.01.2018
19:36:14

Igor
23.01.2018
19:36:43

Andrew
23.01.2018
19:37:21
быстрое гугление результатов не дало, так что будем считать, что я первый: предлагаю в рамках популяризации корутин начать называть rx не иначе как monadic hell :D
(дисклеймер: конечно же, это была шутка, каждой задаче свой инструмент)

Igor
23.01.2018
19:49:52
На одном из докладов Роман вроде называл их как “delegation-hell”

Boris
23.01.2018
19:50:44
Никто кстати не видел толковой статьи о том как виртуозно использовать каналы?
А то у меня фигня какая-то получается

Dmitry
23.01.2018
19:56:06
я по доке и исходникам разбирался. вроде, че-то понял
но это не точно

Boris
23.01.2018
19:58:25

Andrew
23.01.2018
20:04:09
я вам не скажу за всю Одессу, но сколько я примеров въезда в rx ни наблюдал (в том числе на себе), все сначала пишут дичь, а впоследствии постепенно проникаются и начинают выдавать более-менее адекватный код. полагаю, что с корутинами в котлине картина будет та же самая.

Anton
23.01.2018
20:13:59
это справедливо вообще для всего))

Andrew
23.01.2018
20:27:23
резонно.

Boris
23.01.2018
20:34:00
Я не о корутинах, а о каналах

Alexei
23.01.2018
20:34:58
@fogone так каналы вне корутин работать не будут не?

Sergey
23.01.2018
20:35:00

Gleb
23.01.2018
21:22:16

Boris
23.01.2018
21:26:33
Тип как это на рх бывает

Google

Sergey
23.01.2018
21:27:23
ну всякие map/filter делаются без проблем
а вот parallel, buffer, window это уже проблемнее

Boris
23.01.2018
21:28:18
Да, для того, чтобы понять, что мэпы и фильтры работают, не нужна статья ?

Sergey
23.01.2018
21:30:38
ну вообще можно законтрибьютить все операторы из rx для каналов)
https://github.com/Kotlin/kotlinx.coroutines/issues/172 я вот это жду
и с контекстами для MDC пока как-то непонятно выходит

Bogdan
23.01.2018
21:57:19
кто может поделится примерами поп kapt?

Dibro
23.01.2018
21:59:46

Bogdan
23.01.2018
22:01:21

Dibro
23.01.2018
22:02:01

Bogdan
23.01.2018
22:02:17
спасибо)

Boris
24.01.2018
08:07:15
Я понял в чем проблема каналов, они просто ещё проработаны достаточно хорошо, многих нужных вещей пока нет

Konstantin
24.01.2018
08:17:21

Roman
24.01.2018
08:47:57
Да нет, каналы вполне себе завершенная фича. Думается мне вещи вроде zip, throttle и подобного относятся к расширенному функционалу и им не место в базовой либе.

Boris
24.01.2018
08:48:42

Roman
24.01.2018
08:49:54
Мерж есть, но он делается не так, как принято в rx.

Boris
24.01.2018
08:50:29
Последовательно похоже они работают норм, когда нужна более параллельная работа сложнее

Roman
24.01.2018
08:52:50
Дык я уже присылал в этот чатик. Но не факт что тот пример работает вообще, запускать не пробовал.

Google

Boris
24.01.2018
08:53:24

Roman
24.01.2018
08:53:33
https://gist.github.com/romansl/6a050ccac6c7dcb7d624db8f0ebf913c

Igor
24.01.2018
08:53:37

Boris
24.01.2018
08:53:58

Igor
24.01.2018
08:54:38

Boris
24.01.2018
08:55:25

Roman
24.01.2018
08:58:04
Идея в использовании select на каналах. Сначала дожидаемся пока не появятся оба события, затем выполняем некую функцию над ними шлем результат.

Boris
24.01.2018
08:58:10
Поэтому получается флоу цт каждого запроса, да ещё и самих каналов два

Roman
24.01.2018
08:59:31
Вот если нужно просто ждать люого канала, то это вообще тривиально. В моем примере сложность как раз в том, что нужно выполнить функцию над обоими событиями входных каналов.

Igor
24.01.2018
09:00:12

Roman
24.01.2018
09:00:45
Кстати да, я сам предпочитаю использовать как раз один канал.

Boris
24.01.2018
09:01:16