
Vlad
08.07.2017
14:46:51
Ну вот смотри у меня типичный класс
TokenAuthenticationService - это мой обычный интерфейс, у которого естьTokenAuthenticationServiceImpl, помеченный @Service
В любом джава-проекте у меня слева будет иконка на бин, который в этот конструктор завайрится.

Google

Vlad
08.07.2017
14:48:47
и так практически везде. Я нашел отображение ссылок только в Configuration-классе, вот например
Но и тут не обошлось без проблем: при нажатии на эту ссылку, мне показывается совсем неадекватный список бинов
Нажатие на любой из них приведет меня в один и тот же бин, так что почему он такой огромный - для меня загадка
Ну или вот типичное действие: хочу перейти в реализацию метода интерфейса (реализация в проекте одна)
жму Ctrl+Alt+щелчек на нужном методе
В любом джава-преокте я бы сразу перешел куда мне надо. Для котлин-проекта идея зачемто предлагает 2 варианта. Первый - тот что нужен, имплементация. Второй же поведёт в декларацию (зачемто, я ведь запрашивал реализацию). В итоге чтобы навигироваться по проекту надо делать в два раза больше щелчков чем в нормальном джава-проекте
Короче как то совсем сыро


Михаил
08.07.2017
14:57:09
у меня был тоже косяк связанные со спрингом. в конфигурации почему-то не видел апп класса. приходилось к классу руками Kt дописывать (при том что он выделялся красным, но при этом только в таком случае все работало)

Vlad
08.07.2017
15:00:20
Думаешь? Ну хз, у меня @SpringBootApplication точно определился, и спринг контекст подтянулся как пишет идея

Михаил
08.07.2017
15:01:12

Google

Михаил
08.07.2017
15:01:18
мб пофиксили

Vlad
08.07.2017
15:03:09
у меня даже kotlin-spring плагин применен

Михаил
08.07.2017
15:06:19
кстати. те кто знает корутины подскажите
launch(UI) {
run(CommonPool) }
do()
}
doNext()
}
в этом случае гарантируется что doNext() выполнится после do()?
и если я допустим заменю run(CommonPool) на launch(CommonPool), то тогда без джоина doNext() не дождется выполняния do()?

Igor
08.07.2017
16:54:43
Новая видое про корутины от Avito (вроде еще не было).
Рассказывают про библиотеку Романа, разбирает виды лаунчеров, контекстов, диспетчеров.
https://youtu.be/VnbUBHJm6zY
Какую жесть оказывается можно делать (складывать контексты (только я думал что понял корутины ?)) https://i.gyazo.com/e969e7a5d6bfddc31743d7918087dcae.png
(это из видео выше)

Михаил
08.07.2017
16:59:30
видел но не понял что это значит с практической стороны
:(

Igor
08.07.2017
17:00:36

Михаил
08.07.2017
17:01:32
сообразил. я контекст немного неправильно воспринимал

Dmitry
08.07.2017
17:15:04
Можно создать джобу и передавая ее в контекст разных корутин, можно будет в дальнейшем закенселить их всех, просто закенселив созданную джобу
видел но не понял что это значит с практической стороны

Igor
08.07.2017
17:15:33

Михаил
08.07.2017
17:41:50
кейс: есть класс, все публичные методы которого должны выполнятся после завершения определенной операции. async/await это то что мне нужно или есть более подходящие вещи для этого в корутинах?
class TextHolder {
private val defferedText: Deferred<String> = async(CommonPool) { createText() }
private suspend fun createText(): String {
delay(2000)
return "text"
}
fun getText(): String = runBlocking {
textGetting.await()
}
}
есть возможность это лучше сделать? ведь если там будет методов даже пусть 20, то каждый раз писать runBlocking {
textGetting.await()
} ?

Igor
08.07.2017
17:43:52

Google

Михаил
08.07.2017
17:46:09
вот интересно как это красивее решить на корутинах

Igor
08.07.2017
17:55:59

Михаил
08.07.2017
18:05:06

Igor
08.07.2017
18:08:46
А было бы прикольно сделать андроид приложение на этих легких акторах (когда-то _давно_ даже пытался akka внедрить в android).
В чате про "архитектуру" все бы обзавидовались))

Михаил
08.07.2017
20:45:32
passportNumber?.filter { it.isDigit() }?.substring(5..passportNumber.length)
почему в этом случае смарткаст не работает?
passportNumber.length не дает
ведь по идее если зашло в substring значит не null
хотя тут функцию можно заменить на drop, но все равно непонятно почему

Denis
08.07.2017
20:54:30
В kotlin native можно использовать java библиотеки?

Umren
08.07.2017
21:10:42
нет

Андрей
08.07.2017
21:21:20

Михаил
08.07.2017
21:22:19
Это переменная ресивера екст функции
Допер. Она же var в ресивере

Антон
08.07.2017
21:22:49

DarkMentat
08.07.2017
21:23:26
или что она может быть с кастомным геттером

Denis
08.07.2017
22:00:17

Umren
08.07.2017
22:00:39

Denis
08.07.2017
22:01:16
а чем тогда пользоваться, какими библиотеками?

Google

Umren
08.07.2017
22:01:33
Сишными

Denis
08.07.2017
22:03:30
их удобно вызывать, удобнее чем через jni?

Boris
08.07.2017
22:38:55
Котлин Нейтив вызывает нативный код напрямую без всяких посредников

Admin
ERROR: S client not available

Михаил
08.07.2017
22:39:51
не предвидится конвертер снейк кейса в кэмел?)
а то блин половина методов будет так половина сяк

Boris
08.07.2017
22:41:19
Это кстати неплохая идея

DarkMentat
08.07.2017
22:50:23
кстати да! иногда на си или раст смотрю и отторжение чувствую из-за этого)

whalemare
09.07.2017
03:38:54
Заходим и репортим как спам

Umren
09.07.2017
03:56:18
лол, майнить надо было лет 5 назад, а эти ребята только проснулись

whalemare
09.07.2017
03:56:39
хайпово ж

Umren
09.07.2017
03:56:48
осталось продать курсы по майнингу
норм тема думаю, разойдется как пирожки

DarkMentat
09.07.2017
07:19:10
ну видимо они это и делают, продают)
майнить уже позно, а продавать курсы самое то

Михаил
09.07.2017
13:19:00
по какому принципу плагин котлина решает стоит ли инлайнить функцию или нет?
он иногда выделят, что не стоит тут инлайн ставить, а иногда нет

Igor
09.07.2017
13:20:24
Когда есть reified дженерики или лямбда параметром. Зачем без этого инлайнить то (хотспот заинлайнит)?
Kotlin Inline это же НЕ оптимизация, а фича языка ?

Artem
09.07.2017
13:49:26
Инлайнить стоит, когда есть лямбда. Нет — не надо
Где-то читал это, но не помню где (

Google

DarkMentat
09.07.2017
14:19:59
Правда то, что хотспот заинлайнит на далвике - не аргумент ?

kle
09.07.2017
15:29:21
Добрый день. Мне тут нужно на БД на сервере закинуть данные из мобильного приложения, подскажите, пожалуйста, как это лучше всего сделать? Какие есть удобные либы или чет-такое?

Лёша
09.07.2017
15:34:58

Igor
09.07.2017
15:35:19

kle
09.07.2017
15:38:57
спасибо, если кто-то еще знает что-то - буду рад прочитать, бэк на node

Artem
09.07.2017
16:34:03
Ребят, где-то тут кто-то кидал видос с докладом о корутинах (не Романа Елизарова). Быть может у кого-то есть линк? Забыл сохранить для просмотра

Sergey
09.07.2017
16:35:30
вообще он прям прилеплен к группе)

Artem
09.07.2017
16:35:35
ой ёй. Я каким-то странным образом пролистал. Оно тут совсем недалеко выше) Сорри за то, что потревожил)
читайте внимательно моё сообщение

Sergey
09.07.2017
16:36:02
а пардон
Новая видое про корутины от Avito (вроде еще не было).
Рассказывают про библиотеку Романа, разбирает виды лаунчеров, контекстов, диспетчеров.
https://youtu.be/VnbUBHJm6zY
это?