
Жабра
02.10.2018
17:52:23
Забавно... Вот такое
class Foo(
val bar: Int = 10
)
Развернулось вот в такое
public final class Foo {
private final int bar;
public final int getBar() {
return this.bar;
}
public Foo(int bar) {
this.bar = bar;
}
// $FF: synthetic method
public Foo(int var1, int var2, DefaultConstructorMarker var3) {
if ((var2 & 1) != 0) {
var1 = 10;
}
this(var1);
}
public Foo() {
this(0, 1, (DefaultConstructorMarker)null);
}
}
Зачем нужен второй конструктор с 3 параметрами??

Quantum Harmonizer
02.10.2018
17:56:19

Artem
02.10.2018
17:56:23
Здрасте. Сейчас поднял версию до 1.2.71 и гредл стал падать на этом моменте:
kapt { useBuildCache = true }
Чет ничего и ненагуглил по итогу(

Google

Жабра
02.10.2018
17:58:11

Руслан
02.10.2018
18:16:08
Quick Start - Quick Start - Ktor
http://ktor.io/quickstart/index.html
Теперь включает Gradle Kotlin DSL

Nameless
02.10.2018
18:40:47
на маке же прекрасно делаются аккуратные скриншоты из коробки)

Руслан
02.10.2018
18:41:34
Пулреквеств очень охотно принимают

Nameless
02.10.2018
18:42:57
беглым поиском не нашел

Руслан
02.10.2018
18:43:36
Ну там вроде зарепродюсить не сложно, но ещё есть вариант заслать issue

Nameless
02.10.2018
18:44:02
понял

Sergey
02.10.2018
18:47:40
http://ktor.io/servers/deploy.html тут обнови еще

Руслан
02.10.2018
18:51:30
Да, там ещё 4 страницы WIP

Google

Sergey
02.10.2018
18:52:10
?
я тоже какую-то херь контрибьютил)

Quantum Harmonizer
02.10.2018
19:11:06
Все андроидщики уже вступили в соответствующий чат?
https://t.me/kotlin_mobile/13811


Жабра
02.10.2018
21:17:49
Помогите решить проблему, плиз
Есть вот такая функция для коина
fun networkClientModule(serverAddress: ServerAddress): Module =
module {
scope(networkContextName) { NetworkClient(serverAddress) }
}
В один момент мне нужно выгрузить этот NetworkClient и загрузить с другим адресом. Делаю каждый раз так
loadKoinModules(networkClientModule(serverAddress))
getKoin().createScope(networkContextName)
Но падает с ошибкой
BeanOverrideException: Try to override definition with Scope [name='NetworkClient',class='admin.data.network.NetworkClient'], but override is not allowed. Use 'override' option in your definition or module.
И причём в доке написано:
To declare a scope definition, use the scope function with a given scope Id:
module {
scope("scope_id") { Presenter() }
}
A scope definition can’t be resolved if associated scope has not been created. Then get<Presenter>() return an error.
Но я тупо не понимаю, что они имеют ввиду. .——.


Igor
03.10.2018
04:38:31
Может кто-нибудь заревьюить код и посоветовать возможно какие-то хорошие мысли насчет того, как бы его попроще сделать?
https://gist.github.com/komigor/96c5e6c206b31f54db0d7f6953131d6f

Alexandr
03.10.2018
04:40:41

Igor
03.10.2018
04:41:48
Option? зачем?
Перед scan? Потому что первое сообщение содержит и схему, и данные, и нужно на основании схемы парсить данные из сообщений.
Я не придумал ничего умнее, кроме как воспользоваться таким способом с Tuple<Msg, Option<Msg>> в scan

Alexandr
03.10.2018
04:42:26
для этого сущействуют билдеры (9 строка второго файла) https://gist.github.com/komigor/96c5e6c206b31f54db0d7f6953131d6f#file-websocketscrapper-kt-L9

Igor
03.10.2018
04:43:27
почему не просто nullable?
Религиозный вопрос. Потому что использую arrow и мне в целом куда гармоничнее использовать option за редкими исключениями. Плюс на null Observable будет ругаться, а на None – нет

Alexandr
03.10.2018
04:44:37

Igor
03.10.2018
06:08:31

Igor
03.10.2018
07:31:23

dimiii
03.10.2018
08:04:25

Mikhail
03.10.2018
09:53:01
Там POC тайпклассов в котлине выкатили https://github.com/arrow-kt/kotlin/pull/6

Sergey
03.10.2018
09:56:55

Mikhail
03.10.2018
09:57:43
Ну почему просто так, есть KEEP-87, там было большое обсуждение, JB попросили POC

Igor
03.10.2018
10:13:33

Google

Mikhail
03.10.2018
10:14:25
да

Alexey
03.10.2018
10:15:40

Konstantine
03.10.2018
10:19:06
Когда вообще стоит выделять функцию как suspend?
Мне студия через раз ругается, мол слово лишнее.

Igor
03.10.2018
10:20:46

Egor
03.10.2018
10:21:19

Mikhail
03.10.2018
10:22:30

Egor
03.10.2018
10:22:52

Жабра
03.10.2018
10:24:15

Konstantine
03.10.2018
10:28:59
Вроде видел, как вообще все функции в интеракторах делали корутинами, даже если они внутри не вызывали корутины.
И тут кто то, вроде, говорил. Мол, саспенд можно использовать как контракт на то, что функцию лучше использовать не в ui.

Quantum Harmonizer
03.10.2018
10:32:12

Igor
03.10.2018
10:33:28
Странная библиотека.
Вчера она 2+2 складывала, а сегодня (асинхронно) в сеть полезла.
Да и вообще такие либы из джавы же нельзя будет юзать (горе то какое).

Mikhail
03.10.2018
10:39:22

Konstantine
03.10.2018
10:39:49

Mikhail
03.10.2018
10:40:17

Konstantine
03.10.2018
10:41:44

Mikhail
03.10.2018
10:42:24
т.е. Presenter(Interactor(Repo(ApiImpl())))

Igor
03.10.2018
10:43:40

Google

Mikhail
03.10.2018
10:44:04
а можно писать Presenter(Interactor(), Repo(ApiImpl))
и тогда интерактор чист и без саспендов

Konstantine
03.10.2018
10:44:43

Mikhail
03.10.2018
10:45:03
состояние противоречит чистоте по определению

Admin
ERROR: S client not available

Quantum Harmonizer
03.10.2018
10:45:32

Mikhail
03.10.2018
10:46:20

Quantum Harmonizer
03.10.2018
10:47:07
любой цикл — состояние

Egor
03.10.2018
10:47:45

Quantum Harmonizer
03.10.2018
10:47:56

Egor
03.10.2018
10:48:05

Mikhail
03.10.2018
10:49:03
да, можно сделать чистую корутину
но ???❓

Igor
03.10.2018
10:52:46

Konstantine
03.10.2018
10:53:45
Так можно дойти до того, что чистых функций нет, ведь исполнение кода зависит от техники на которой он исполняется. ?

Quantum Harmonizer
03.10.2018
10:53:54

Vitalii
03.10.2018
10:54:24

Igor
03.10.2018
10:54:27

Google

Konstantin
03.10.2018
10:54:39
лол

Quantum Harmonizer
03.10.2018
10:54:52

Vitalii
03.10.2018
10:55:01

Konstantin
03.10.2018
10:55:08
постоянная

Quantum Harmonizer
03.10.2018
10:55:15

Egor
03.10.2018
10:55:32
Как сделать из чата котлинистов чат демагогистов

Bogdan
03.10.2018
10:58:57
корутины имеют состояние
Так фп ничего не говорится об внутреней реализации. Скажем у нас есть хаскель на джвм и на еще "чём то там", внутри там может быть что угодно

Сергей
03.10.2018
11:00:09

Alexandr
03.10.2018
11:01:05

Timophei
03.10.2018
11:01:48
Разводить срач по поводу и без повода

Сергей
03.10.2018
11:02:11

Egor
03.10.2018
11:02:49

Timophei
03.10.2018
11:03:06
люди не скалисты

Alexandr
03.10.2018
11:03:29
там же и любители хаскеля

Andrew
03.10.2018
11:03:40
Прекращайте, ребят.