
Dmitriy
11.09.2018
11:08:05

Alexandr
11.09.2018
11:19:08
не думаю. с чего бы
попробуй тыкнуть на инспекцию и просто её вырубить

Ivan
11.09.2018
12:07:23
@relizarov Роман, а Вы же ещё ведёте курс по многопоточке? Вроде начался новый учебный год. У вас нет возможности попросить кого-нибудь поставить камеру и записать ваши лекции?

Google

Roman
11.09.2018
12:08:05

Ivan
11.09.2018
12:09:21

Vadim
11.09.2018
12:13:23
Пытаюсь создать переменную
val dialog = FingerprintDialog.Builder()
так мне пишет мол Builder - unresolved reference

Di7aK
11.09.2018
12:33:28
куда по андроиду обратиться можно?

Max
11.09.2018
12:33:49
https://t.me/android_ru

Oleg
11.09.2018
12:35:07
но есть одно НО, в 1.3-М2 изменили подход к мультиплатформенным проектам, при чём так сильно (в лучшую сторону), а это как-то не сильно говорит о том, что они готовы релизить в ближайший месяц

Sergey
11.09.2018
12:41:40
обновлю плагин котлина на 1.3-M2, вдруг корутины дебажить нормально можно...

Alexander
11.09.2018
12:42:48

Oleg
11.09.2018
12:43:45
да, по старому тоже работает, но всё же новый способ как-то поприятнее что ли

Alexander
11.09.2018
12:44:48
Я поспрашивал на форуме, они говорят, что это просто новый вариант градл-плагина. С точки зрения компилятора ничего нового пока.

Sergey
11.09.2018
12:45:15

Alexander
11.09.2018
12:46:53
Я посмотрел сэмплы. Пока выглядит довольно громоздко

Google

Oleg
11.09.2018
12:47:05

Alexander
11.09.2018
12:47:51
А в чем проблема сделать несколько модулей?

Oleg
11.09.2018
12:48:09
только удобством по сути отличается

Alexander
11.09.2018
12:49:16
Ну идея позволяет довольно удобно работать с многомодульными проектами. Как раз наоборот, в одном модуле получается сборка слишком сложная

Oleg
11.09.2018
12:49:27
они же внутри как раз и разбивает всё на много модулей, но для тебя это просто sourceSet-ы, по которым перемещаться гораздо удобнее, чем по модулям, имхо

Alexander
11.09.2018
12:49:59
Я мысль понял, но пока мне все-таки кажется, что изоляция модулей - это хорошо.
Я обычно хочу. чтобы платформная часть была очень хорошо инкапсулирована.

Oleg
11.09.2018
12:51:36
Думаю пока это дело вкуса, может потом будет что-то по интереснее

Andrew
11.09.2018
12:53:56
Новый плагин интересный. Конфиг, конечно, чуть более громоздкий, но всё равно приятнее пачки отдельных модулей. Правда с андроидным плагином совмещается по очевидным причинам страшненько.
Ну и, опять же по очевидным причинам, есть некоторый лаг по фичам относительно плагина K/N.

Oleg
11.09.2018
12:57:57
А вот кстати на счёт релиза K/N, не говорил никто, будет он завязан на релиз котлина самого (1.3 или 1.4), или будет идти независимо со своими версиями?

Andrew
11.09.2018
12:59:44
Официально не объявляли, но команда K/N давно говорит, что по полноте фичей он уже юзабельный. Плюс там, насколько я понимаю, полным ходом идёт распил монолитной репы на модули для удобства интеграции во взрослый котлин. Будет очень обидно, если не успеется к 1.3.
Плюс на форуме недавно кто-то обещал новости по поддержке нэйтива в идее :)

Alexander
11.09.2018
13:03:49
Мост мне, мост!

Andrew
11.09.2018
13:06:36
Вот кстати на тему моста я пока изменений интересных не видел, что обидно. Но наверняка же дело исключительно в свободных руках. Хочется верить, что к 1.3 команда успеет уйти на общий бекенд для всех компиляторов, а дальше и мост должен стать проще, и апи для компилятора стабилизировать.
Но пожуём -- увидим.

Alexander
11.09.2018
13:07:38
Ходили слухи, что он (то есть мост) есть, но не документированный. А про общий IR, это я как понял к 1.3 не успевают.

Andrew
11.09.2018
13:09:22

Alexander
11.09.2018
13:10:34
Кто-нибудь умеет из котлины делать upload по ssh без боли? Я опять с дуру решил попробовать kotlin gradle dsl и уперся в то, что из под него запустить gradle-ssh - нетривиальная задача.

Google

Ilya
11.09.2018
13:12:53
Народ помогите с такой задачей. Есть метод который внутри проводит проверки для цифр (<, > , <= и тп), хочу сделать метод, чтобы он делал это вне зависимости от типа. Попробовал такое fun <T : Number?> validateNumber(value: T, validation: ValidationItem?): Boolean но ругается на знаки сравнения

Alexander
11.09.2018
13:13:55

Ilya
11.09.2018
13:14:18
хмм
ну ладно, сделаю так

Alexander
11.09.2018
13:15:19
сравнений для абстрактных числе нет с умыслом, потому что не понятно, как их сравнивать. Так что приводите все к тому, что болше нравится и вперед

Руслан
11.09.2018
13:16:31

Ilya
11.09.2018
13:16:43
с точки зрения математики разницы в сравнении инта с даблом нету

Alexander
11.09.2018
13:17:20
Там проблема в том, что можно сделать вывод только по типу первого аргумента, а тогда получается, что операция может менять результат из-за перестановки параметров

Ilya
11.09.2018
13:17:20

Руслан
11.09.2018
13:17:33
какие еще вложенные

Alexander
11.09.2018
13:17:48
Об это много кто бился, универсального решения нет.

Ilya
11.09.2018
13:18:18
какие еще вложенные
ну у меня для каждого isDouble, isLong надо будет еще такое вставить when (validation.validationType) {
ValidationType.BETWEEN -> {
true
}
ValidationType.EQ -> {
requiredValue == value
}
ValidationType.NE -> {
requiredValue != value
}
ValidationType.GT -> {
value > requiredValue
}
ValidationType.GTEQ -> {
value >= requiredValue
}
ValidationType.LT -> {
value < requiredValue
}
ValidationType.LTEQ -> {
value <= requiredValue
}
else -> {
true
}
}

Alexander
11.09.2018
13:19:13
На "человеческих" числах проблем нет, но как только числа становятся слишком большими, слишком маленькими или реализация Number слишком кривой...

Руслан
11.09.2018
13:22:11

Ilya
11.09.2018
13:24:50

Руслан
11.09.2018
13:25:50
И вот такая реализация без проблем с Double работает?

Ilya
11.09.2018
13:26:27

Руслан
11.09.2018
13:28:52
Я не эксперт в сравнении чисел, но мне кажется тебе понадобится две реализации. Одна для Short, Int, Long и вторая для Double, Float. Потому что например сравнение Double обычно делают как-то так: (a - b) < eps

Alexander
11.09.2018
13:30:06
Пока это не математика, приведение всего к Double отлично прокатывает

Ilya
11.09.2018
13:31:10

Google

Alexander
11.09.2018
13:33:02
Я же сказал, пока не математика. В жизни таких чисел не бывает. Собственно именно поэтому сравнения на Number и нет
Если для математических задач, там нужны специальные решения (я несколько вариантов делал)

Alexander
11.09.2018
13:47:14

Alexander
11.09.2018
13:47:52
Можно все приводить к BigDecimal, но это дорого и там свои проблемы

dimiii
11.09.2018
13:59:59

Alexander
11.09.2018
14:01:15
это смотря какую математику брать.

Admin
ERROR: S client not available

Alexander
11.09.2018
14:01:27
Для численных методов - есть

dimiii
11.09.2018
14:02:10

Alexander
11.09.2018
14:02:53
Э, не надо про статистику. Там погрешности, это другое. Аналогия некоторая есть, но понятия типа там все равно нет.

Andrey
11.09.2018
14:39:41
Общего сравнения нет. К Double приводить не стоит из-за погрешности в представлении Long и из-за того, что BigInteger и BigDecimal - тоже Number.
P.S. Радуйтесь, что тип Number не предполагает всяких комплексных чисел, кватернионов и прочего, для которых не существует отношения порядка вообще.

Ilya
11.09.2018
14:44:49
я правильно понимаю, что в котилне нету метода clone() (не для дата-классов), и нужно писать свою реализацию для каждого класса?

Andrey
11.09.2018
14:45:16

Ilya
11.09.2018
14:46:07

Bogdan
11.09.2018
14:46:33

Andrey
11.09.2018
14:47:49
в java был метод "clone()"
Который protected, требует override с изменением области видимости и приписывания классу маркерного интерфейса? Нет, спасибо, не надо такого.
А, ещё и работает он через нативную магию в java

Руслан
11.09.2018
14:59:20

Andrey
11.09.2018
14:59:35
Хотя не, вру. Есть ощущение, что этот частный случай захардкожен в компилятор:
class A: Cloneable {
public override fun clone(): Any = super.clone()
}
fun main(args: Array<String>) {
val a = A()
println(System.identityHashCode(a))
println(System.identityHashCode(a.clone()))
}

Никита?❄️
11.09.2018
15:01:33
а что за шрифт у тебя?

Google

Руслан
11.09.2018
15:02:13

Никита?❄️
11.09.2018
15:02:57

Andrey
11.09.2018
15:14:09

Konstantin
11.09.2018
15:17:50
Сори за офтоп, но раз про шрифты, может кто знает, есть ли лигатуры для menlo? Или другой шрифт (fira code не зашёл)

Mikhail
11.09.2018
15:30:51
fira code какой-то несуразный

Alex
11.09.2018
15:37:30
За фиру и двор ...

Sergey
11.09.2018
16:35:12
RC1 релизнулся

Igor
11.09.2018
16:40:22
Гуд гуд, кажись успевают к kotlinconf ?

Ivan
11.09.2018
16:50:31
Дааааа, я знал что на брейнсов можно расчитывать! https://youtrack.jetbrains.com/issue/KT-18483
Всё-таки сделали несколько функций

Sergey
11.09.2018
16:54:07
https://github.com/JetBrains/kotlin/releases/tag/build-1.3.0-rc-1

Oleg
11.09.2018
17:30:50
а ещё в тихоря 1.2.70 выложили на бинтрей https://bintray.com/kotlin/kotlin-dev/kotlin/1.2.70

Виктор
11.09.2018
17:35:02

Sergey
11.09.2018
17:39:32
в 1.3M2 и EAP идеи дебаггер корутин стал получше, но все равно есть надоедливые баги
и теперь пытается везде секвенции впарить вместо работы над списками

Oleg
11.09.2018
17:46:58
https://teamcity.jetbrains.com/project.html?projectId=Kotlin_130&tab=projectOverview&branch_Kotlin_130=%3Cdefault%3E
что-то они походу сломали прямо перед релизом RC-1)