
Иван
13.09.2018
14:53:16
Если там цепочка преобразований?

Alexander
13.09.2018
14:53:50
А зачем let?

Иван
13.09.2018
14:54:24
SomeData
.let { someData -> mapA(x) }
.let { a -> mapB(a) }
.let { b -> mapC(b) }
.let { c -> mapD(c) }
.let { d -> mapE(d) }
.let { e -> mapF(e) }

Alexander
13.09.2018
14:56:19
В таком случае не должен выкидывать ворнинг

Google

Artem
13.09.2018
14:56:37

Alexander
13.09.2018
14:56:41
Выкидывает обычно если используется поле

Alexey
13.09.2018
14:57:10

Иван
13.09.2018
14:57:47

Mikhail
13.09.2018
15:00:20

Иван
13.09.2018
15:00:25

Boris
13.09.2018
15:02:21
использование грейдлового котлиндсл была бы на порядок проще если бы не груви-наследие — это господа пздц, так просто нельзя писать код, который будут использовать другие люди — раз уж на себя всё равно

Mikhail
13.09.2018
15:03:22
это бага, ты же его даже не как ресивер используешь

Alexander
13.09.2018
15:03:49
Градл - первопроходец. Их исходня ошибка была - писать потрох на груви. Если бы сразу груви был только в качестве обертки, а не внутри - было бы лучше

Alexandr
13.09.2018
15:13:38

Boris
13.09.2018
15:13:57
да не, проблема не в потрохах как раз, внутри у них всё норм, а вот плагины писать на груви вот это как раз ключевая ошибка
причем их-то плагины написаны не на груви как раз а на джаве, зато почти все сторонние на груви и вот тут-то и начинается ппц

Google

Alexander
13.09.2018
15:15:46
Груви - хорошая вещь, но на самом деле ловушка в смысле масштабной разработки. У него есть совместимость с Java, но на самом деле только в одну сторону. Я сам на этом один раз здорово нарвался, когда написал большой кусок кода на Groovy.
В принципе, это не проблема


Boris
13.09.2018
15:32:08
да тут дело-то не в совместимости, а том, что считается, что на груви можно написать кусок говна, главное, чтобы работало. И очень многие плагины так и написаны и использованием груви говно-магии — минимум типизации, минимум понимания происходящего даже имея исходники
и что интересно, делается это когда этого можно было бы и не делать и обойтись обычной типизацией, это другой мир, мир моих ночных кашмаров
как будто плагин для сборки это такая вещь, которую никак кроме как копипастой из доки законфигурить нельзя — на груви так и выходит, потому что никто (похоже даже автор) не знает реального api

Alexander
13.09.2018
15:35:53
А как питоноидам хорошо... Но вообще, у меня есть опыт на груви, кложуры довольно неудобно писать, все эти rehidrate сильно мутят воду. Без аннотаций разобраться, кто является делегатом вообще невозможно.

Andrey
13.09.2018
15:36:15
очень принципиально знать java если хочу писать на kotlin ?

Alexander
13.09.2018
15:36:31
Я до котлины думал, что это плата за удобство, но после того, как это удобно на котлине удивляюсь, почему раньше не додумались до этого

Boris
13.09.2018
15:37:14
груви по сути уже мертвый язык, сейчас нет ниодной причины его использовать, кроме привычки разве что

Alexander
13.09.2018
15:37:53
Есть. Для скриптов и парсинга конфигурационных файлов он все ще значительно удобвнее котлины

Bogdan
13.09.2018
15:38:05

Celt
13.09.2018
15:38:10
Или того, что ты работаешь на IBM, которые очень любит этот язык.

Alexander
13.09.2018
15:38:28
Аналагоа GroovyShell пока нет, котлиновский скриптинг очень нестабильный, а компилятор тяжелый как слон
Еще пробел вместо скобок - это кошмар для программы, но очень удобно для всяких шелл-штук

Boris
13.09.2018
15:39:20

Alexander
13.09.2018
15:39:41
Надо считать дсл из файла в рантайме

Boris
13.09.2018
15:39:47

Alexander
13.09.2018
15:41:01
РЕПЛ опять же, на котлине с типами можно задолбаться, на груви все гораздо компактнее выглядит, так что я не стал бы его списывать, но надо его использовать именно как скриптовую нашлепку

Google

Boris
13.09.2018
15:41:09

Alexander
13.09.2018
15:41:56
Тащить с собой 20 м котлиноского компилятора и недокументированный движок или JSR223?

Boris
13.09.2018
15:42:18
т.е. это сложнее, чем в груви, да, потому что у котлина нету динамического класслоадера и нужно использовать скриптинг-енжин, но в целом не очень-то сложно
хотя соглашусь, компилятор мог бы быть и потоньше
ну и идее сейчас нельзя сказать, какой контекст у скрипта.. что тоже конечно затрудняет тулинг на котлине

Alexander
13.09.2018
15:45:17

Boris
13.09.2018
15:46:23
просто разница между ямлом и груви на мой взгляд не значительная, если иде тебе ничего один хрен не подсказывает

Alexander
13.09.2018
15:49:20
Разница огромная. Особенно если я хочу туда цикл вставить

Boris
13.09.2018
15:50:27
Да, цикл и условия туда не пихнешь
Но если мне нужна сложная кастомизация я все равно котлин попробую прикрутить

Nurzhan
13.09.2018
15:53:10
люди помагите

Boris
13.09.2018
15:53:23
Но нужно признать, что поддержка таких кастомизаций со стороны иде очень ограниченная

Nurzhan
13.09.2018
15:53:33
как сделать чтобы при листани таба сохранялись значение textview
знает кто?

Igor
13.09.2018
15:56:00

Alexander
13.09.2018
15:56:29
При таком вопросе помАщи не будет точно

Руслан
13.09.2018
16:01:22
Видео про Kotlin/JS подъехало
https://www.youtube.com/watch?v=X4-GgdAG0ZM

eugene
13.09.2018
16:03:42

Руслан
13.09.2018
16:03:53

Google

eugene
13.09.2018
16:04:33

Руслан
13.09.2018
16:04:49
Я пытался, оно даже работает
https://github.com/KotlinBy/awesome-kotlin/commit/16cae798560abe7b5aba69ac4964c4b6a0f5a41d

eugene
13.09.2018
16:06:48
вроде последние изменения в исходниках на githube были 6 мес. назад

Руслан
13.09.2018
16:07:51
Да, вероятно автор забил, потому что билд система не привлекла должного внимания. Опять же, маркетинг наше все. Хотя сама по себе была достаточно быстрая и приятная. Автор кстати, до этого jcommander и testng написал.

Alexander
13.09.2018
16:09:29
Там были свои не совсем очевидные решения, кроме того, градл - это все-таки огромна экосистема и тысчи плагинов.

Andrew
13.09.2018
16:15:27

Руслан
13.09.2018
16:19:05
Я для себя давно понял что информации очень много, и все явно не послушаешь/посмотришь/почитаешь. Поэтому я для себя складываю кучки, типо: вот тут инфа про Kotlin/JS, тут про MPP, тут про кишки Undertow и т.д. Когда задача нужная подвернется - беру эту кучу и разгребаю) Много статей при этом например теряют актуальность, и изучать нужно меньше.

Andrey
13.09.2018
16:20:46

Evgeny
13.09.2018
16:21:36
Есть еще https://youtu.be/XT4nk89aSvY

Admin
ERROR: S client not available

Andrew
13.09.2018
16:22:13

Igor
13.09.2018
16:46:36
всякие architecture components...
имхо, такое даже и изучать не нужно, пока не потребуется

Andrew
13.09.2018
16:51:18
Не думал, что о плагинах котлина новости узнаю из доклада по Kotlin/JS :D
Хотя ладно, новостей там нету.

Sergey
13.09.2018
16:57:37

Руслан
13.09.2018
16:58:04
я скорее к тому, что 64 треда в IO достаточно хорошо для мощной машинки. на сервере мне кажется достаточно будет 32

Sergey
13.09.2018
16:58:50
fixed pool - Dispatchers.IO ?

Руслан
13.09.2018
16:59:02

Sergey
13.09.2018
16:59:32
а почему не ktor+netty?

Google

Sergey
13.09.2018
16:59:41
ты вроде первый за него начинал топить)

Руслан
13.09.2018
16:59:42
в одно случае создавалось до 170 тредов, в другом 64, в третьем 32
Я думаю если кешами закрыть походы в базу по максимому, то можно вообще оставить fixedThreadPool - 4 потока. У меня в основном идет чтение. да, удобный случай)

Sergey
13.09.2018
17:01:36
вообще ktor+netty не сильно уступает тому же nginx серверу для раздачи статики или проксирования, а это очень даже неплохо

Igor
13.09.2018
17:01:47

Руслан
13.09.2018
17:02:20
а как в базу ходишь?
jdbc, в данном случае apache cayenne, который завернут в withContext(elasticContext)

Peter
13.09.2018
17:03:20
Мне показалось или на undertow документации маловато? Сложилось впечатление что он не предназначался для standalone использования, только как часть wildfly.

Sergey
13.09.2018
17:03:39
мы undertow со спрингом юзали
но даже хз. там добавляют штуку что можно свои контексты регать, и придется потом везде заменять

Руслан
13.09.2018
17:06:06

Sergey
13.09.2018
17:12:42

Руслан
13.09.2018
17:13:01
почему не jooq?

Sergey
13.09.2018
17:13:04
был jdbc template спринговый, заменил на jdbi когда выпиливал
хз, не нравится он мне
jdbi топорнее и проще

Руслан
13.09.2018
17:18:12
1.2.70
https://t.me/TheDailyKotlin/90

Peter
13.09.2018
17:19:33

Руслан
13.09.2018
17:21:05

Sergey
13.09.2018
17:46:47
@HeapyHop я пока еще с ktor client воюю, пытаюсь заменить okhttp, а у меня там обвес из интерцепторов для логов, метрик и прочей лабуды
но его как-то особо никто не юзает, поэтому приходится быть пионером и ловить баги иногда не оч приятные :/