
Igor
21.03.2017
09:05:43

Quantum Harmonizer
21.03.2017
09:07:32
(проблемы любителей фрагментов ?)
Знаю о проблемах фрагментов, но они не вызывают у меня боли. Пока что :)
Как передача аргументов выглядела бы с кондуктором? (можно в андроидном чате)

Andrew
21.03.2017
13:58:05
toMutableList - копирует коллекцию, или преобразует исходную?

Dmitry
21.03.2017
13:59:18
Так можно сорцы посмотреть же
public fun <T> Collection<T>.toMutableList(): MutableList<T> {
return ArrayList(this)
}

Google

Igor
21.03.2017
13:59:19

Andrew
21.03.2017
13:59:44
факт
сижу гуглю блин

Dmitry
21.03.2017
14:02:57

Igor
21.03.2017
14:03:18

Dmitry
21.03.2017
14:04:44
Ctrl+Shift+i еще неплох

Andrew
21.03.2017
14:08:14

Aleksei
21.03.2017
14:09:08
command+B вроде

Quantum Harmonizer
21.03.2017
14:10:39
Go to declaration? Оно и на убунте Ctrl+B.

Aleksei
21.03.2017
14:11:09
в кеймапе просто declaration называется

Andrew
21.03.2017
14:12:19
да не, там было слово "ещё" и я подумал, что это альтернативный походу к истокам вариант

Dmitry
21.03.2017
14:31:52
альтернативный Open quick definition lookup
Алсо хоткеи всегда можно посмотреть из меню Help -> Keymap reference

Google

Andrew
21.03.2017
14:32:46

Dmitry
21.03.2017
14:40:35
Я ж скинул название, в кеймпае есть рефернс и для мака тоже)
А так, пункт меню View -> quick definition
Там тоже хоткей указан

Alina
21.03.2017
17:55:46
Список ивентов по городам вот тут https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-event-in-your-city-2/

Igor
21.03.2017
18:33:56

Alina
21.03.2017
18:34:44
@angmarr онлайн трансляция. Комьюнити организуют просмотр

Руслан
21.03.2017
18:37:08
В общем можно прийти и покушать пиццы в компании (например так на bkug), а можно посмотреть трансляцию из дома

Alina
21.03.2017
18:39:06
Вот тут подробнее про ивент https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-event-2/#more-4726

Nikolai
21.03.2017
19:10:40
никто Котлин через ScriptEngineManager (JSR223) не юзал?

Руслан
21.03.2017
19:11:25
Я юзал
https://github.com/bootique/bootique-kotlin вот тут


Nikolai
21.03.2017
19:12:44
Просто я создаю инстанст enginа, делаю в цикле eval()
но по достижении 255 строчек он падает (
val engine = ScriptEngineManager().getEngineByExtension("kts")!!
for (i in 0..1000) {
engine.eval("1+2")
}
Дает эксепшен
`Exception in thread "main" javax.script.ScriptException: Error loading class Line_255: known classes: [Line_255]``
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmScriptEngineBase.kt:72)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngineBase.kt:42)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at ScriptrunnerKt.main(Scriptrunner.kt:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)


Руслан
21.03.2017
19:15:30
Веселенько, я попробую вопроизвести

Nikolai
21.03.2017
19:16:46
Банальная замена "kts" на "js" делает всё хорошо.
некоторое рытье в исходниках показало что енжин принудительно сохраняет историю всех команд, как его отучить это делать (и можно ли вообще) я так и не понял (

Руслан
21.03.2017
19:18:43
Найс, воспроизвел

guga
21.03.2017
19:19:20
там сегодня в рп вроде бы за котлин собираются говорить

Руслан
21.03.2017
19:19:22
Пойду в трекер
https://youtrack.jetbrains.com/issue/KT-10060

Nikolai
21.03.2017
19:20:57
18 Nov 2015, 02:23
Годненько

Google

Nikolai
21.03.2017
19:21:13
Ладно, пойду разведу дискус на дискурсе

Руслан
21.03.2017
19:24:27
Да я уже в issue пример добавил, в слаке в скриптинг ссылку закинул

Nikolai
21.03.2017
19:24:59
Не, ну может этот хистори все-таки как-то отключается..
Просто как тогда вообще его юзать этот скриптинг, кроме как для хелло вордов

Руслан
21.03.2017
19:26:25
Вот так работает:
fun main(args: Array<String>) {
val factory = KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory()
for (i in 0..1000) {
val scriptEngine = factory.scriptEngine
println(scriptEngine.eval("0+$i"))
}
}
Но медленнее, т.к. энджин не реюзается
Заметно медленнее

Nikolai
21.03.2017
19:27:07
ну это-то понятно, но как-то несерьёзно
2 вота за баг) буду третьим)

Руслан
21.03.2017
19:30:30
Ну я был вторым)

Nikolai
21.03.2017
19:30:46
Ну я так и понял

Руслан
21.03.2017
19:31:24
В спринг есть теиплейты на скртптах

Руслан
21.03.2017
19:31:59
Т.е. они будут только обрабатывать первые 255 запросов ?♂
@madhead_by можешь чекнуть? ?

Nikolai
21.03.2017
19:33:02
Ну не факт что они evalятся каждый раз, а не возвращают собранный шаблон как объект

Руслан
21.03.2017
19:33:33
Окей, только 255 шаблонов
(но вообще по синтаксису там скорее каждый раз эвал)

Nikolai
21.03.2017
19:35:22
Ну вообще бенчмаре 1+2 конечно очень показателен, но Nashorn выполняет его раз в десять быстрее котлина) так что не уверен что котлиновский скриптинг вообще можно использват для чего-либо кроме каки-то одноразовых тасков

Руслан
21.03.2017
19:36:39
Он может тупо дольше прогреваться

Nikolai
21.03.2017
19:37:11
нуу 1000 раз вроде не мало

Google

Руслан
21.03.2017
19:37:19
Да и оптимизацей я думаю пока не занимались

Nikolai
21.03.2017
19:42:11
Ну вообще в мастере я ща гляжу они эту хистори то ли убрали, то ли перенесли, надо попробовать со снапшотом каким-нить собраться

Siarhei
21.03.2017
19:46:52
Запустил curl
У меня не дожидаясь 255 эвалов упало с ООМ

Nikolai
21.03.2017
20:07:35
А вот текущий снапшот Котлина у меня смог! Правда по-моему он стал делать ещё медленее

Андрей
21.03.2017
20:12:23
так лучше медленно, но сделать, чем быстро, но упасть

Руслан
21.03.2017
20:12:30

Nikolai
21.03.2017
20:14:39
В общем да.... к продакшену готов...

Admin
ERROR: S client not available

Nikolai
21.03.2017
20:21:11
Чет меня прямо растроило блин ( Пойду кложуру встраивать (

Руслан
21.03.2017
20:31:06
А что ты хотел сделать?

Nikolai
21.03.2017
20:32:03
хотел фильтр для Wildfly написать, который я мог бы править без всяких перезаливок и деплоев

Руслан
21.03.2017
20:33:44
Ну так через новый фактори делай...
Кешируй результат
Все дела

Nikolai
21.03.2017
20:35:16
нууу это как-то не клево. проще на JS написать

Руслан
21.03.2017
20:35:58
Ну такое

Sergey
21.03.2017
21:13:40
val companyId = doc["CompanyId"].let {
when (it) {
is Int -> it.toLong()
is Long -> it
else -> throw Exception()
}
}
как-то можно это еще круче сделать?

Quantum Harmonizer
21.03.2017
21:30:57
val companyId = doc["CompanyId"].asLong

Google

Dmitry
22.03.2017
05:00:14
Всем привет! Подскажите пожалуйста, что не так тут делаю:
https://gist.github.com/DemonStars/2c14ac540610f6ed1a38d6669fe3a425
ошибка следующая:
Error:(19, 33) Listener class kotlin.jvm.functions.Function0 with method invoke did not match signature of any method vmMainFragment.onRefreshItems
вот тут я не понимаю как мне сделать одинаковые сигнатуры
извиняюсь, не получается в код обернуть

Andrew
22.03.2017
05:11:57
гист) пробовал написать на яве и вставить?

Dmitry
22.03.2017
05:16:39

Andrew
22.03.2017
05:17:23
а биндинг - это обязательное условие?

Dmitry
22.03.2017
05:18:10
желательное. В целом, я могу воспользоваться вью моделью как презентером и связаться с отображением через интерфейс
стараюсь просто уйти максимум в mvvm
бзик так скажем ) Ну и интересный кейс
http://stackoverflow.com/questions/32401150/data-bindings-with-custom-listeners-on-custom-view вот это еще пробовал вчера, тоже не зашло
я просто может не знаю чего-то? Вообще - через байдинг адаптеры возможно функции байндить?

Andrew
22.03.2017
05:22:01
через них можно биндить например геттер/сеттер как пропертю

Dmitry
22.03.2017
05:22:35
т.е. только примитивные значения
просто бывают же лисенеры на onClick

Andrew
22.03.2017
05:22:59
не, не только, прост доки мало и я сильно не разбирался

Dmitry
22.03.2017
05:23:01
вот я и подумал что возможно передать функцию
ага

Andrew
22.03.2017
05:24:16
тут про кастом биндинги есть https://medium.com/@fabioCollini/android-data-binding-f9f9d3afc761#.rfqx17xkv

Dmitry
22.03.2017
05:24:25
мне нравится эта тема, правда не знаю сильно ли генерация Binding класса забивает память - если все переводить на mvvm, чревато ли это большим снижением быстродействия?
сейчас гляну, спасибо

Andrew
22.03.2017
05:25:21
биндинги, если честно, без рх обёрток я нормальные только в дотнете видал, ну, если всякие жс штуки не считать

Dmitry
22.03.2017
05:25:35
читал статью, там про примитивы
есть продолжение про двусторонний байндинг