
Nick Senchurin
22.12.2017
09:30:49
мм, но после первого лета это же будет уже другой ит?

Igor
22.12.2017
09:32:24

Dmitry
22.12.2017
09:34:29

Nick Senchurin
22.12.2017
09:36:12
мне исходный объект надо замапить объект для сохр. в бд и после сохранения вернуть исходный, у меня просто цепочка реактивная и я хочу пробросить вниз, но про именованные параметры в лямбдах посмотрю,спасибо

Google

Dmitry
22.12.2017
09:37:29
Тут я бы про организацию кода подумал, звучит как лапша -)

Yury
22.12.2017
11:46:54


Vitaly
22.12.2017
11:58:23

Yury
22.12.2017
12:02:52
http://vertx.io/docs/
Кст говоря, кто-нибудь знает в какой версии корутины перестанут быть эксперементальными?

Konstantine
22.12.2017
12:15:58
В чем разница аннотаций @field:SerializedName и @SerializedName?

Quantum Harmonizer
22.12.2017
12:18:16

Dmitry
22.12.2017
13:02:42

Nick Senchurin
22.12.2017
13:19:54

Google

Dmitry
22.12.2017
13:22:59
Return не надо, also сам по себе возвращает ресивер.
Т.е. object.also { println(it) } выведет object и вернёт его

Лёша
22.12.2017
13:39:36

Rail
22.12.2017
15:50:58
Привет, ребята! Подскажите пожалуйста каналы о языке Котлин?

Grigory
22.12.2017
15:53:51
думаю не будет рекламой: https://github.com/mtdvio/ru-tech-chats тут вот список чатиков вообще всех русскоязычных
тех которых нет - те можно добавить

Quantum Harmonizer
22.12.2017
16:03:46

Vitalii
22.12.2017
16:16:47
https://github.com/goq/telegram-list
И ещё один

Andrew
22.12.2017
17:30:23

Vitalii
22.12.2017
17:31:11

Andrew
22.12.2017
17:56:53
Уговорили, готово.

John
25.12.2017
12:35:06
подскажите пожалуйста разницу. Я так и не усвоил
1)
class A{
fun function1(){}
}
2)
fun function1(){}
3)
class A1{
companion object {
fun function1(){}
}
}
между первым и вторым, и между вторым и третьем. Какие подводные камни?

Artem
25.12.2017
12:37:29
1. Функция в классе
2. Просто функция
3. Функция, которую можете вызывать как статик функцию. A1.function()

John
25.12.2017
12:39:21
это я понял. Когда уместны эти три варианты? Например зачем писать 3 вариант, когда можно сделать 2.

Ivan
25.12.2017
12:39:45

Artem
25.12.2017
12:40:29
Или ctrl+shift+a и там пиши show kotlin bytecode
:)

John
25.12.2017
12:40:41
спасибо!)

Ivan
25.12.2017
12:40:47
ну это надо хоткеи знать, я так не играю

Igor
25.12.2017
12:41:04

Timur
25.12.2017
12:41:41
3 случай - типичный статический метод из джавы, например конструктор можно там вызывать чтобы создавать разные объекты

Dmitry
25.12.2017
12:42:32
companion object это полный аналог статического класса в джаве или есть нюансы?

Google

Artem
25.12.2017
12:43:00
Ну, вроде бы можно ему имя давать)

John
25.12.2017
12:43:10

Artem
25.12.2017
12:43:42
А вы просто задекомпильте и посмотрите, во что компаньон превращается

Igor
25.12.2017
12:51:06
companion object это полный аналог статического класса в джаве или есть нюансы?
Ну формально это будет синглтон-объект A1.Companion (его можно в коде дернуть напрямую)
Соответственно, он может даже наследовать классы/интерфейсы
class A1 {
companion object : MyBaseClass(), Comparable<String> {
fun function1() {}
override fun compareTo(other: String): Int =TODO()
}
}
И если не накинуть @JvmStatic на функции, то их вызовы будет не “статическими-методами”,
а самыми настоящими “виртуальными” методами объекта A1.Companion
(только весь стейт фактически будет в static полях храниться)

Quantum Harmonizer
25.12.2017
13:05:29

Igor
25.12.2017
13:06:34
Точно. Если кто-то подумал что с jvmstatic будет быстрее, то извиняюсь что ввел в заблуждение.

Dmitry
25.12.2017
13:42:13
@angmarr, @Harmonizr спасибо

John
25.12.2017
13:42:54
Спасибо большое за ответы!

Quantum Harmonizer
25.12.2017
15:13:00
Как поддерживать бинарную совместимость функций с параметрами по умолчанию?
В этом примере
interface X {
fun a(name: String = "Vasya", newParam: Int = 100500)
@Deprecated(message = "Only for binary compatibility", level = ERROR)
fun a(name: String = "Vasya") = a(name, 100500)
}
fun main() {
val x: X = ...
x.a("Dimon") // error
}
компилятором выбирается легаси-функция, я никак не смогу в новых версиях её выпилить.

Igor
25.12.2017
15:34:56

Quantum Harmonizer
25.12.2017
15:35:34

Igor
25.12.2017
15:36:39
DeprecationLevel.HIDDEN или у тебя стороння либа?
(Если не поможет, могу только посоветовать переименовать метод ?♀️)

Quantum Harmonizer
25.12.2017
15:37:29

Igor
25.12.2017
17:41:55

Admin
ERROR: S client not available

? animufag ?
25.12.2017
17:43:58
хмм. что-то таймпад не особо напоминает что завтра/сегодня мероприятие

Igor
25.12.2017
20:50:00
Да вроде вчера приходило.
Кстати было классно, в кое-то веке угощали ? и ? (ну и Роман интересно рассказал ?).
Даже что то новое узнал (мысли Романа насчёт неявности вызова suspended функций)

Bogdan
25.12.2017
20:53:38
А выложат его в открытый доступ?
Писец тут аншлаг (видос снимают)

Quantum Harmonizer
25.12.2017
20:53:55

Google

Igor
25.12.2017
20:55:19

Bogdan
25.12.2017
20:55:48
а на каком канале ждать?

Igor
25.12.2017
20:56:33
https://www.youtube.com/user/JUGRuVideo

Konstantin
25.12.2017
20:56:35

Bogdan
25.12.2017
20:57:21
я про ресурс, ютуб или иные площатки, я подисан на разные группы
но не уверен на те ли

Igor
25.12.2017
20:57:55

Konstantin
25.12.2017
20:59:39
А, это просто я ракую, про встречу оттуда узнал.

Sasha
26.12.2017
05:29:06
Мужики, помогите развеять недопонимание с корутинами.)
Вообщем полез смотреть реализацию одной либы async await и наткнулся вот на такой код
private class AsyncThreadFactory(val name: String) : ThreadFactory {
private var counter = 0
override fun newThread(r: Runnable): Thread {
counter++
return Thread(r, "$name-$counter")
}
}
Правильно ли я понимаю, что это эквивалентно new Thread? Что-то я уже запутался. Спасибо.

Dmitry
26.12.2017
05:41:20
Надо смотреть реализацию предка
Корутин то в этом коде нет

Sasha
26.12.2017
05:47:56
Вот https://github.com/metalabdesign/AsyncAwait/blob/master/asyncawait/src/main/kotlin/co/metalab/asyncawait/Async.kt

Igor
26.12.2017
09:02:00

Sergey
26.12.2017
10:09:34
эх еще бы MDC контекст из логгеров копировался

nikita
26.12.2017
10:11:09
спросил об этом вчера у Романа, он сказал, что поддержка MDC из коробки у них в запланированных задачах

Sergey
26.12.2017
10:13:24
было б отлично

Dumitru
26.12.2017
11:33:52
Простите за тупой вопрос, что такое MDC ? И для чего он

Руслан
26.12.2017
11:34:34
https://logback.qos.ch/manual/mdc.html
я подозреваю речь об этом