
Konstantine
07.10.2018
02:07:05
Ух будет весело перекатываться
У меня при подключении 1.3-что-то все было окей. Потом выскочило окно, мол "давай поможем migrate всё это дело", я, конечно, принял и... всё просто подсветилось красно-желтым.
Ахуенный мигрейт )

Никита?❄️
07.10.2018
02:09:55
А типа если я врубаю Котлин 1.3 то у меня автоматом релизные корутины будут, да?

Google

Никита?❄️
07.10.2018
02:11:09
Никаких импортов и флагов
И ещё вопрос: spring boot на котлине 1.3 запустится?

Konstantine
07.10.2018
02:27:03
У меня, причем, 1.3 со старыми корутинами работали, в целом как надо. Но!
При использовании withContext этот самый контекст не возвращался обратно.
Т.е., я запускаю launch(UI), там делаю что-то в UI, дальше вызываю withContext(IO), что-то в нем вычисляю и снова возвращаюсь в UI, но в этот момент падало, мол я работаю не в MainThread. После обновления корутин всё стало окей.
Так и не понял, в чем беда была

Vladimir
07.10.2018
03:04:03
Это же не 1.3, да?

Quantum Harmonizer
07.10.2018
07:40:37

Marina
07.10.2018
07:41:46

Алексей
07.10.2018
07:45:13
1.3 RC
Когда релиз-то в итоге? soon?

Руслан
07.10.2018
07:47:07
Пока попробуйте EAP и напишите есть ли проблемы

Алексей
07.10.2018
07:48:26
Как до своих проектов доберусь
А чем eap от релиза отличается?

Руслан
07.10.2018
07:50:20
Считай что это beta

Google

Алексей
07.10.2018
07:50:50
ок

Quantum Harmonizer
07.10.2018
08:06:09

Danil
07.10.2018
09:18:22
Где лучше объявлять const val? Внутри companion object или как топ лвл?

D
07.10.2018
09:21:12
Статик поля получаются если топ лвл на последних версиях котлина.
Но некоторый диссонанс при чтении кода тоже получается

Danil
07.10.2018
09:30:28
Посмотрел, топ лвл создаёт новый класс в нутри с константой, а с компаньён он создаёт пустой компаньён, а константу объявляет в самом классе вне компаньёна

Alexander
07.10.2018
09:30:56
Думаю, что вопрос был не в этом. С точки зрения программы лучше делать глобальные переменные и константы только в случае острой необходимости

Danil
07.10.2018
09:32:13
Мне просто было интересно, что более хорошим тоном считается, так понял кому как больше нравиться, тот так и делает

Alexander
07.10.2018
09:32:41
Не совсем
Глобальные объявления засоряют глобальный же namespace, так что почти всегда лучше в компаньене

Mikhail
07.10.2018
10:28:44
Я немножко не в теме, а что такое глобальный неймспейс?
Все же по классам раскидано, по пакетам

Bogdan
07.10.2018
10:36:03

Roman
07.10.2018
10:42:08
А Котлине private работает внутри файла. Очень удобно так объявлять константы, вские help-functions и дополнительные (вспомогательные) классы. Companion objects не совсем для этого сделаны. Объявлять там константы можно, но зачем?

Quantum Harmonizer
07.10.2018
10:42:39
меня вот печалит, что нельзя объявить константы так, чтобы не сгенерировался отдельный класс

Руслан
07.10.2018
10:48:02

Roman
07.10.2018
10:51:39

Sergey
07.10.2018
10:59:49

Google

Mikhail
07.10.2018
11:00:11

Quantum Harmonizer
07.10.2018
11:02:58

Beholder
07.10.2018
11:39:46
этой штуке надо сразу передавать аргумент, присвоить промежуточное выражение никуда нельзя

Руслан
07.10.2018
11:45:05
Баг :)

Алексей
07.10.2018
11:45:34
разве баг?
это же аннотация, она, по-хорошему, не очень просто парсится

Quantum Harmonizer
07.10.2018
11:46:01
Баг :)
Ну я такую мелочь обычно в тререке не завожу чтобы не отвлекать :)

Алексей
07.10.2018
11:46:01
если я не ошибаюсь:)

Quantum Harmonizer
07.10.2018
11:46:12

Алексей
07.10.2018
11:47:03
Ну если я правильно понял, ошибка там связывается с тем, что класс Sample и в байткоде ему пытаются тоже самое имя присвоить

Алексей
07.10.2018
11:47:04
так?

Руслан
07.10.2018
11:47:12
разве баг?
Если что-то не компилится, а ide об этом заранее не говорит - это баг.

Beholder
07.10.2018
11:47:12

dimiii
07.10.2018
11:49:30
Внезапно, для object Singleton компилятор не переопределяет equals

Beholder
07.10.2018
11:50:53
он же может быть равен только самому себе

Konstantine
07.10.2018
11:51:56
Кстати, я правильно понимаю, что object всегда висит в памяти, даже если не используется?
А то тут как то говорили, что они lazy, но где-то недавно прочитал, что они инициализируются сразу класслоадером.
Плюс, может ли его собрать gc, а в случае чего пересоздать

dimiii
07.10.2018
11:52:51

Google

Bogdan
07.10.2018
11:52:51

Руслан
07.10.2018
11:52:56

Beholder
07.10.2018
11:53:03

dimiii
07.10.2018
11:53:12

Quantum Harmonizer
07.10.2018
11:53:18

Konstantine
07.10.2018
11:54:06
Где прочитал?
Не помню:(
Еще в начале недели в статье из андроид викли какой-то.

Bogdan
07.10.2018
11:54:11

Konstantine
07.10.2018
11:54:26

Quantum Harmonizer
07.10.2018
11:54:28

Admin
ERROR: S client not available

Quantum Harmonizer
07.10.2018
11:54:44

Bogdan
07.10.2018
11:54:50
тогла Сингелтон Lazy

Konstantine
07.10.2018
11:55:08

Bogdan
07.10.2018
11:55:32

Beholder
07.10.2018
11:55:50
new URLClassLoader(...) и вперёд

Konstantine
07.10.2018
11:55:51

Quantum Harmonizer
07.10.2018
11:56:05

Beholder
07.10.2018
11:56:25
веб-контейнеры (Tomcat) создают по класслоадеру на каждое приложение

Quantum Harmonizer
07.10.2018
11:56:41

Руслан
07.10.2018
11:57:04

Google

Bogdan
07.10.2018
11:57:11
вы еще osgi вспомните

dimiii
07.10.2018
11:57:45
Не особо знаю матчасть. Он разве не один всегда?
object Test
Test == Test
true
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
val mapper = jacksonObjectMapper()
mapper.readValue("{}", Test::class.java)
Line_0$Test@781a51d0
mapper.readValue("{}", Test::class.java) == Test
false

Konstantine
07.10.2018
11:57:57
Так, а в контексте андроид приложения - класс лоадер по умолчанию один?

Руслан
07.10.2018
11:58:58
А вообще синглтонов можно наплодить например с помощью джавовой сериализации

Bogdan
07.10.2018
11:59:37

dimiii
07.10.2018
11:59:51

Bogdan
07.10.2018
12:00:13

Konstantine
07.10.2018
12:00:29

Руслан
07.10.2018
12:01:14

Beholder
07.10.2018
12:02:03
для джавововской сериализации есть механизм readResolve, чтобы подменять прочитанные значения. для jackson наверняка тоже подобное есть, надо покопаться

Quantum Harmonizer
07.10.2018
12:02:11

dimiii
07.10.2018
12:02:47

Руслан
07.10.2018
12:02:54

Konstantine
07.10.2018
12:03:15
Да не сразу, а по первому требованию
Странно, он там в статике вроде сразу инитится. Но окей, не сразу, но жить то будет уже получается всегда с приложением после инициализации? Или его может собрать GC и потом он пересоздастся?

Bogdan
07.10.2018
12:03:17

Quantum Harmonizer
07.10.2018
12:03:53

Konstantine
07.10.2018
12:04:02

Руслан
07.10.2018
12:04:05

Beholder
07.10.2018
12:04:13
а почему этот ваш jackson, кстати, смеет создавать объект с private конструктором?

Андрей
07.10.2018
12:04:14