
Bogdan
13.10.2018
07:33:47
секунду
https://discuss.kotlinlang.org/t/how-does-synchronized-work/1528

Алексей
13.10.2018
07:34:20
import kotlin.math.sin
fun main(args: Array<String>) {
sin(3.14)
}
// -------
Error:(387, 5) Kotlin: Overload resolution ambiguity:
@SinceKotlin @InlineOnly public inline fun sin(x: Double): Double defined in kotlin.math
@SinceKotlin @InlineOnly public inline fun sin(x: Double): Double defined in kotlin.math

Bogdan
13.10.2018
07:35:07

Dumitru
13.10.2018
07:35:29
как в Ktor сделать "prevent_xsrf": false

Google

Алексей
13.10.2018
07:35:32
ну ё-моё
чёт я тупанул, я так понимаю, у меня два sin откуда-то?

Bogdan
13.10.2018
07:36:47

Quantum Harmonizer
13.10.2018
07:37:08

Bogdan
13.10.2018
07:41:32

Алексей
13.10.2018
07:41:56
Спасибо

Bogdan
13.10.2018
07:43:31

Алексей
13.10.2018
07:44:14
удалял вроде, странно
а как мавен разные версии зависимостей разрешает?
там просто вложенные есть

Андрей
13.10.2018
10:13:33

Алексей
13.10.2018
10:14:40

Андрей
13.10.2018
10:16:26
Ваще у мавена в целом жесть, когда еще разные либы разные версии юзают. У градла вроде пикается старшая версия, но при этом дается возможность перехватить момент подключения депенды и указать какую именно подсунуть.

Google

Алексей
13.10.2018
10:16:52
Это я давно заметил, но в проектах без явного pom в IDEA я не знал, как оно работает

dimiii
13.10.2018
11:30:36

Андрей
13.10.2018
11:33:46

dimiii
13.10.2018
11:34:57

Андрей
13.10.2018
11:37:02
?

Boris
13.10.2018
12:01:40
а было что-то на котлин-конф реально интересного? если у меня есть время только на одно видео, чего бы посоветовали?

Евгений
13.10.2018
12:02:25
Подскажите пожалуйста.. Мне нужно преобразовать строку в константу энума. Причем конкретный класс энума не известен. Есть только enumClass: Class<*>
делаю:
java.lang.Enum.valueOf(enumClass, name)
выдает:
inferred type CapturedTypeConstructor(*) is not a subtype of Enum<out Any!>!
как будто бы в котлине ужесточили проверки генериков
есть способ обойти это?

Quantum Harmonizer
13.10.2018
12:03:56

Евгений
13.10.2018
12:06:07
что-то все равно ошибка компиляции
ну да. у меня тут рефлективный код)

Руслан
13.10.2018
12:09:44

Alexander
13.10.2018
12:09:47

Евгений
13.10.2018
12:12:11
получилось:
@Suppress("UPPER_BOUND_VIOLATED")
return java.lang.Enum.valueOf<Enum<*>>(enumClass as Class<Enum<*>>, name)

Bogdan
13.10.2018
12:15:09

Boris
13.10.2018
12:29:48

Google

Igor
13.10.2018
15:15:59
Парни, как включить новый тайп-инференс? Вроде добавил
kotlin {
experimental {
newInference "enable"
}
}
Но gradle ругается
Could not find method newInference() for arguments [enable] on object of type org.jetbrains.kotlin.gradle.dsl.ExperimentalExtension.
Котлин версии 1.3.0-rc-146

Dmitry
13.10.2018
15:31:26
Кажется, расширение для DSL не попало в rc-146. Можно через ключик -XXLanguage:+NewInference компилятору. В Gradle это вроде бы как-то так делается
kotlinOptions {
freeCompilerArgs += ["-XXLanguage:+NewInference"]
}

Никита?❄️
13.10.2018
15:59:55

Dmitry
13.10.2018
16:01:52
Я имел ввиду протаскивание ключика для new inference в DSL :) возможно "расширение" было не самым удачным термином тут)

Никита?❄️
13.10.2018
16:02:21
хоть как их гуглить?

Roman
13.10.2018
16:03:36
https://www.youtube.com/watch?v=MyljSWm0Y_k&t=0s&index=25&list=PLQ176FUIyIUbVvFMqDc2jhxS-t562uytr

Никита?❄️
13.10.2018
16:03:55

Vladimir
13.10.2018
17:12:30

Konstantin
13.10.2018
17:19:45

Kirill
13.10.2018
17:27:24
это из-за РКН

Boris
13.10.2018
17:32:10
Вроде давно всё разблокировали, нет?

Alexander
13.10.2018
17:32:35
Периодически что-то блокают

Boris
13.10.2018
17:34:03
Плохо жить в России, старайтесь этого избегать

Konstantin
13.10.2018
17:37:55
о, а это ж все с гитхаба, отличненько

Alexander
13.10.2018
18:13:23
Делаем прибыль VPN сервисам.

Алексей
13.10.2018
18:14:56
Всем добрый вечер! У меня возникла проблема с компиляцией запросов в dao room с использованием rxkotlin
Есть такой запрос, который возвращает список Int
//Запрос возвращает список id-шников дочерних рубрик
@Query("SELECT id FROM rubrics WHERE parent_rubric_id = :parentId")
fun selectChildRubricsByIdParentId(parentId: Int): Observable<List<Int>>
Компилятор выдает такую ошибку мне
error: Not sure how to convert a Cursor to this method's return type
для работы с либами у меня есть такие dependency
dependencies {
def room_version = "1.1.1"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version" // use kapt for Kotlin
}implementation 'io.reactivex.rxjava2:rxkotlin:2.2.0'
implementation "io.reactivex.rxjava2:rxandroid:2.0.1"
implementation 'android.arch.persistence.room:rxjava2:1.1.1'

Alexandr
13.10.2018
18:17:44

Google

Quantum Harmonizer
13.10.2018
19:33:44

Vladimir
14.10.2018
03:41:48

Alexandr
14.10.2018
03:58:22

Vladimir
14.10.2018
04:11:32

Alexandr
14.10.2018
04:12:32

Vladimir
14.10.2018
04:18:09

Admin
ERROR: S client not available

Mikhail
14.10.2018
19:53:38
я тут недавно подумал о таком предложении:
что если сделать перегрузки для arrayOf(primitive_type), которые бы возвращали int[]? Тогда по дефолту всегда будет версия без боксинга. А если боксинг нужен, то всегда можно указать явно arrayOf<Integer>(), например

Boris
14.10.2018
20:03:17
Там ведь разные array возвращаются, только путать будет, сейчас специально отдельные функции сделаны

Mikhail
14.10.2018
20:06:22
ну да, они никак не связаны
да и нет смысла бы связывать, да
они же инвариантны
тогда лучше написать правило для линта
https://github.com/arturbosch/detekt/issues/1245

Boris
14.10.2018
22:00:49
послушал про канкаренси в к/н. сурово. очень всё путано. ну и рантайм решения выглядят как затычки, чтобы не трогать язык..

Bogdan
14.10.2018
22:07:16

Alexander
14.10.2018
22:08:09

Bogdan
14.10.2018
22:08:25
спасибо

Boris
14.10.2018
22:14:42
да, оно

Andrew
14.10.2018
23:31:34

Google

Boris
14.10.2018
23:43:51
а я слышал, что затэгировали 1.0 ?

Alexandr
15.10.2018
05:18:48
прикольно, вот спринговая работа с транзакциями не дружит с многопоточностью, а вот с корутинами подружат)

Mikhail
15.10.2018
06:22:50

Alexandr
15.10.2018
06:23:36
тут смысл в том что транзакцию в отличии от тредов можно хранить в corutine context и знать когда её закрыть. с тредами нужна отдельная нетривиальная логика шаринга транзакции

Nikolay
15.10.2018
06:25:10
А что такое многопоточность для вас тогда?

Alexandr
15.10.2018
06:25:56

Nikolay
15.10.2018
06:26:49
Ну просто если синка между потоками нет, то зачем вообще рассуждать про многопоточность

Артем
15.10.2018
06:50:21
Всем доброе утро.
Столкнулся с таким вопросом, беглый поиск в google пока не дал результатов)) Решил тут спросить вдруг быстрее скажут )) Или просто пошлют куда надо :)
Есть Object , в нем переменная моего класса хранится довольно тяжелая(в вопросе памяти) после иннициализации и всякая обвеска для работы с ней. Переменная довольно долго инициализируется и создавать ее каждый раз внутри методов работы с ней, а хранить только параметры для создания не вариант. Переменная создается внутри этого Object.. Вида
private lateinit var Name : TypeMyVariable
И вопрос.. Как мне удалить ссылки на нее после того как я закончил работу с ней.. Мне придется сделать ее TypeMyVariable? для этого ? И завести какой нибудь метод вида Destroy где присваивать ей null ?

Anton
15.10.2018
06:54:59
можешь так, или можешь через скоупы решить

Konstantine
15.10.2018
07:01:55
Есть какая-нибудь информация - будут ли контракты поддерживаться не в top level функциях?

Alexey
15.10.2018
07:03:04

Anton
15.10.2018
07:03:55

Alexandr
15.10.2018
07:03:59
все чисто и безопасно

Alexey
15.10.2018
07:04:19