
Quantum Harmonizer
17.09.2018
08:53:41
почему-то последнее время Gson у меня ассоциируется с некрофилией

Friedrich
17.09.2018
08:54:46
А что вместо него?

Alexandr
17.09.2018
08:56:03
jackson
у него и поддержка котлина уже из коробки

Google

Boris
17.09.2018
08:56:57
Гсон вроде для андроида используют, джексон немного для этого жЫрноват

Friedrich
17.09.2018
08:57:30
То есть дата-классы он норм схавает?

Alexandr
17.09.2018
08:58:07
да

Виктор
17.09.2018
08:58:11
moshi, мб? тоже поддержка котлина из коробки и от square

Alexandr
17.09.2018
08:58:21
толкьо надо подручить еще jackson-kotlin зависимость

Quantum Harmonizer
17.09.2018
08:58:39
это не называется «из коробки»

Boris
17.09.2018
08:58:46
А если для бэкэнда, то я всегда джексон беру. У него не только поддержка котлина, но и ямла, хмл-а, джава.тайм и тд

Alexandr
17.09.2018
08:58:54
я думаю до джексона по фичам всем далековато будет, это комбаин

Boris
17.09.2018
09:00:12
И да, очень богатые возможности расширения и куча готовых расширений которые не надо тащить если не надо

Igor
17.09.2018
09:10:13

Igor
17.09.2018
10:50:06
Прикол, а SuccessOrFailure<T> оказывается переименовали в Result<T>

Google

Konstantin
17.09.2018
10:56:08
А кто-нибудь знает, может как-то можно нормально протестировать код с корутинами с учетом асинхронности? Условно, есть презентер, внутри которого запускается корутина, хочется проверить, что в зависимости от результата вызываются нужные методы. Несмотря на то, что Сами Deferred замоканы как GlobalScope.async { value } получилось протестировать только так
@Test
fun test() = runBlocking {
val presenter = ... // setup
presenter.action()
delay(100)
verify(...)
}
Как-то можно от delay избавиться?

Quantum Harmonizer
17.09.2018
10:57:22
yield()

Kirill
17.09.2018
10:57:50
Написать кастомный шедулер?

OlegKrikun
17.09.2018
11:07:05

Igor
17.09.2018
11:07:32

OlegKrikun
17.09.2018
11:08:23

Igor
17.09.2018
11:09:05

Konstantin
17.09.2018
11:09:21

Quantum Harmonizer
17.09.2018
11:09:31
Можно подробнее?
ну, в корутинах есть функция, которая суспендит корутину, уступая пул другим

Konstantin
17.09.2018
11:13:29
для RX у нас был advanceBy, но здесь delay реально застопит выполнение теста

Quantum Harmonizer
17.09.2018
11:14:00

Konstantin
17.09.2018
11:14:36
Ну само действие — чтение из базы, но я его мокаю в этом тесте.

Quantum Harmonizer
17.09.2018
11:15:01
Ну то есть оно синхронное и мгновенное?

Konstantin
17.09.2018
11:17:03
Должно быть да
Вроде спасает добавление join'ов на Deferred, но получается слишком многословно как-то

Mikhail
17.09.2018
11:43:05

Alexandr
17.09.2018
11:45:40
мало кода != правильно != читаемо

Google

Konstantin
17.09.2018
11:51:23

Mikhail
17.09.2018
11:51:25

Konstantin
17.09.2018
11:51:39
мало кода != правильно != читаемо
Просто получается сетап теста получается провести только в самом тесте и по объему сопоставимо с полезной нагрузкой в тесте. Но я уже знаю, как сделать лучше

Ivan
17.09.2018
11:51:50

Konstantin
17.09.2018
11:51:56

Ivan
17.09.2018
11:52:38

akniyet
17.09.2018
12:07:18
у кого нибудь есть тестовый проект с корутинами и с Clean Arch?(Новичок)

Никита?❄️
17.09.2018
12:09:32
а, clean arch это про андроид.
сорян, у меня spring там

Vitalii
17.09.2018
12:10:49

Mikhail
17.09.2018
12:10:54

Mikhail
17.09.2018
12:11:09
но они просто отвратительны

Vitalii
17.09.2018
12:12:08

Igor
17.09.2018
12:12:51

Vitalii
17.09.2018
12:13:16

akniyet
17.09.2018
12:14:15
Я видел недавнее обновление, и не совсем понял, вроде все корутинбилдеры выпилили

Igor
17.09.2018
12:15:36
а flatMap так и не приделали?
https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/coroutines/src/kotlin/Result.kt
вроде все также (те нет)

Mikhail
17.09.2018
12:15:54

Виктор
17.09.2018
12:16:24

Google

Igor
17.09.2018
12:21:15
придется экстеншн запилить
подумой ? а если ли смысл (это же не идиоматичный котлин получается)
P.S. почему все натягивают (котлин) сову-на-глобус, а не берут подходящий язык ?

Mikhail
17.09.2018
12:22:45
потому что легче натянуть котлин на глобус, чем заставить что-нибудь работать под андроид
и под соусом котлина легче продать сову на глобусе

Igor
17.09.2018
12:28:12

Георгий
17.09.2018
12:29:21

Mikhail
17.09.2018
12:31:01
и о какой предметной области идет речь

Andrey
17.09.2018
12:31:41

Igor
17.09.2018
12:32:04

Admin
ERROR: S client not available

Vitalii
17.09.2018
12:32:43

Igor
17.09.2018
12:32:44

Vitalii
17.09.2018
12:34:00

Andrey
17.09.2018
12:34:01

Bogdan
17.09.2018
12:34:25

Igor
17.09.2018
12:34:54

Alexander
17.09.2018
12:34:56
Вы так говорите, будто математику функторов, аппликативов, монад и прочего (теорию категорий) не для построения корректных абстракций придумали, а так, по фану. Ну дак это не верно.
Ну придумали, их, предположим, как раз таки по фану. Никто не сомневается в том, что можно писать код "по науке". Вопрос в том, нужно ли.

Pavel
17.09.2018
12:36:45
??
и запусти это на андроид ?

Alexander
17.09.2018
12:37:35
Про хаскель вопрос отдельный. Я давно пришел к выводу о том, что человек, который способен читать, а тем более писать на нем код - такой крутой программист, что может писть хоть на бэйсике.

Google

Andrey
17.09.2018
12:37:49

Mikhail
17.09.2018
12:39:17

Igor
17.09.2018
12:39:33

Alexander
17.09.2018
12:40:40
Тот же паттерн матчинг

Mikhail
17.09.2018
12:43:50
Чтобы писать на хаскелл математика не нужна
ни теория категорий, ни абстрактная алгебра

Andrey
17.09.2018
12:44:10

Mikhail
17.09.2018
12:46:40

Igor
17.09.2018
12:47:10

Andrey
17.09.2018
12:47:34
Чтобы писать на хаскелл математика не нужна
Оксюморон получается. Любые языки программирования - формальные системы, из которых, по возможности, удалена неоднозначность, со строгими правилами синтаксиса. То есть, по сути, это математические формализмы.
Если вы не будете называть математику математикой, она он этого не станет чем-то другим.

Alexander
17.09.2018
12:47:38

Mikhail
17.09.2018
12:49:38

Alexander
17.09.2018
12:50:41
Не думаю
В любой язык с хоть какой-то поддержкой функционльного программирования его будут пытаться тащить. Просто по привычке

Andrey
17.09.2018
12:53:12

Alexander
17.09.2018
12:53:47
Проблема в том, что в ктолине не нужно лямбда-исчисление

Andrey
17.09.2018
12:54:02

Alexander
17.09.2018
12:54:04
Вполне хватает обычной клеточной тьюринг-полноты
А зачем?

Igor
17.09.2018
12:54:48