
?FLERRY?
29.05.2017
07:36:45

Sergey
29.05.2017
07:37:10
Не самый вкусный, да

?FLERRY?
29.05.2017
07:37:37
Не, весьма ничего, если уметь заваривать. Правда, древний, поэтому иногда бывает горьковат

Sergey
29.05.2017
07:38:07
На вкус и цвет все фломастеры разные.
К тому же ява это мотоцикл

Google

Quantum Harmonizer
29.05.2017
07:44:07

Sergey
29.05.2017
07:44:40
Да, я уже читаю.
Что-то я не догадался зайти на оф. сайт... )))

Umren
29.05.2017
07:51:37
Ява это еще сигареты
по котлину крутые курсы от хайди на орелли есть
так сказать из первых рук

Sergey
29.05.2017
07:52:14
м?
А можно ссылочку?

Umren
29.05.2017
07:52:36
http://shop.oreilly.com/product/0636920052982.do
http://shop.oreilly.com/product/0636920052999.do

Sergey
29.05.2017
07:53:03
Спасибо.

Umren
29.05.2017
07:53:32
вот оба пройди и ты готов

Sergey
29.05.2017
07:56:36
К чему, сенсей?

Umren
29.05.2017
07:56:55
к чему хочешь

Google

Глеб
29.05.2017
08:11:24
Привет! Мне для того, чтобы вызывать функции kotlin из java с необязательным параметром комфортно, приходится дописывать вот такую бодягу:
fun f1(a: String, b: String? = null) {}
fun f1(p:String) = f1(p)
Теперь из Java мне можно не дописывать параметр null в конце:
MyKt.f1(“hello”); //было MyKt.f1(“hello”, null);
Как можно сделать это лучше?

Quantum Harmonizer
29.05.2017
08:12:28

Глеб
29.05.2017
08:13:05
крутяк, спасибо

Gregory
29.05.2017
08:14:54
крутяк, спасибо
Для интеропа с Java рекомендую и другие аннотации @Jvm* посмотреть.
Вот ссылка на документацию:
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/

Глеб
29.05.2017
08:16:20
@K_Gregory ? посмотрю
уже нагуглил)

Sasha
29.05.2017
08:58:30
Хорошая статейка про как надо и как не надо https://blog.philipphauer.de/idiomatic-kotlin-best-practices/

? animufag ?
29.05.2017
09:23:06
//Do
val city = order?.customer?.address?.city ?: throw IllegalArgumentException("Invalid Order")
всё ещё кажется чем-то противоестественным

Quantum Harmonizer
29.05.2017
09:30:01
Такой объект просто не должен быть создан. Констрейнты СУБД не должны позволить создавать такую какашку.

? animufag ?
29.05.2017
09:34:54
тут же вроде не было субд в разговоре?

Quantum Harmonizer
29.05.2017
09:35:25

Dmitriy
29.05.2017
10:36:02
Здравствуйте. решил создать в проекте extension для view. не могу найти, как это сделать:
fun View.visibility(visibile: Boolean) {
if (visibile) {
visibility = View.VISIBLE
} else {
visibility = View.INVISIBLE
}
}
после этого я могу вызывать
view.visibility(true)
.
а как сделать, чтобы можно было вызывать
view.visibility = true
? и чтоб
if (view.visibility == true)

Михаил
29.05.2017
10:38:14
проблема в том что метод setVisibility перекрывает твой эксеншн
есть несколько решений, но лучше просто иначе назови экстешн
isVisible например)

Quantum Harmonizer
29.05.2017
10:39:59

Dmitriy
29.05.2017
10:40:23

Quantum Harmonizer
29.05.2017
10:41:27
https://kotlinlang.org/docs/reference/extensions.html#extension-properties

Google

Quantum Harmonizer
29.05.2017
10:41:36
Я обычно называю softVisibility (VISIBLE/INVISIBLE) и hardVisibility (VISIBLE/GONE).

Dmitriy
29.05.2017
10:46:51
var View.visible: Boolean
get() = View.VISIBLE == visibility
set(value) {
visibility = if (value) View.VISIBLE else View.INVISIBLE
}
спасибо )

Quantum Harmonizer
29.05.2017
10:48:23

Dmitriy
29.05.2017
10:48:38
не понял

Quantum Harmonizer
29.05.2017
10:48:48

Dmitriy
29.05.2017
10:49:08
ой, вот это, если не сложно, поясните, какой буст дает?

Quantum Harmonizer
29.05.2017
10:49:10
не понял
http://2.bp.blogspot.com/-M61Y-VuCCSM/TtIQMTYPNrI/AAAAAAAAAGM/YtTOGRknF1s/s1600/yoda-conditions.jpg

Dmitriy
29.05.2017
10:49:25
аа ) ну не знаю, с с++ как-то привык
кстати, очень удобно иногда комбинировать:
if (5 < condition && condition < 10)
в этой записи я легко могу понять, что мой condition от 5 до 10

Quantum Harmonizer
29.05.2017
10:51:02

Dmitriy
29.05.2017
10:51:47
в котлине, конечно, все намного красивее )

? animufag ?
29.05.2017
10:54:24

Dmitriy
29.05.2017
10:54:55
черт, а что это дает?
какой-то есть буст от этого?

? animufag ?
29.05.2017
10:55:18
хотя для val наверное нельзя сделать сеттер и тут нужно пояснение

Dmitriy
29.05.2017
10:55:27
от multidex в любом случае уже не избавиться

Quantum Harmonizer
29.05.2017
10:55:41

Google

Quantum Harmonizer
29.05.2017
10:56:14

? animufag ?
29.05.2017
10:56:28
разве с инлайнами комплияция дольше не станет?

Quantum Harmonizer
29.05.2017
10:57:11
inline, правда, не избавляет от метода. Но позволяет ProGuard'у его вырезать.

Dmitriy
29.05.2017
10:58:04
мне кажется, inline очень хорош для библиотек. в своем проекте его пихать - лишнее
хотя как привычка - норм

Quantum Harmonizer
29.05.2017
10:59:26
Почему лишнее?

Dmitriy
29.05.2017
11:01:08
нет большой необходимости от этого

Admin
ERROR: S client not available

Quantum Harmonizer
29.05.2017
11:02:07
Можно запиливать сотни микроскопических функций и свойств, тогда будет ощутимо. Особенно если второй dex пошёл.

Dmitriy
29.05.2017
11:04:38
я правильно понимаю, что все extension fun лучше помечать как inline?

Quantum Harmonizer
29.05.2017
11:06:06

? animufag ?
29.05.2017
11:08:09
а что во втором случае?
какой профит в случае функций высшего порядка?

Quantum Harmonizer
29.05.2017
11:09:41

Dmitriy
29.05.2017
11:11:46
https://kotlinlang.ru/docs/reference/lambdas.html

? animufag ?
29.05.2017
11:12:00
инлайновая функция всё равно может передать лямбду дальше. видимо смысл в том что по-возможности в инлайновой функции всё заоптимизируется, не-инлайновой - гарантированно не оптимизируется?

Quantum Harmonizer
29.05.2017
11:12:21

? animufag ?
29.05.2017
11:12:38
странно что вообще программистам дали возмонжность решать будет функция инлайновой или нет

Quantum Harmonizer
29.05.2017
11:13:09

Google

Руслан
29.05.2017
11:27:11
Я тут пилю мини фреймворк на котлине, планы наполеоновские: все на котлине, свой DI, корутины и т.д.
Вот тут можно посмотреть как сейчас выглядит, очень похоже на bootique. https://github.com/Heapy/komodo/blob/master/komodo-samples/src/main/kotlin/by/heap/komodo/samples/Sample1.kt И чат в телеграм для набрасывания http://telegra.ph/Komodo-Chat-05-27

Quantum Harmonizer
29.05.2017
11:28:19

Igor
29.05.2017
11:28:34

Руслан
29.05.2017
11:28:37
насколько я видел ktor - это просто rest

Quantum Harmonizer
29.05.2017
11:28:53
Где вообще брать силы чтоб делать что-то своё на замену тому, что работает?)

Руслан
29.05.2017
11:29:10
Я вообще тот еще говнокодер, но уже видно как классно писать DI для котлина на котлине

Igor
29.05.2017
11:30:48

Руслан
29.05.2017
11:32:44

Umren
29.05.2017
11:33:44

Юра
29.05.2017
12:28:57
Not Invented Here?
https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC_%D0%BD%D0%B5%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D1%8F_%D1%87%D1%83%D0%B6%D0%BE%D0%B9_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8

Ruslan
29.05.2017
12:30:19

Андрей
29.05.2017
12:31:30
а if чем не такой?

Ruslan
29.05.2017
12:31:44

Андрей
29.05.2017
12:35:56
Проверка правильная, писать так можно. А на что конкретно ругается? Если навести на красное, то ошибка всплывет.

Ruslan
29.05.2017
12:36:54
через if будет работать нормально
но не хочется кучу if писать

Андрей
29.05.2017
12:38:07
у вас SimpleDateFormat с какого пакета импортируется?