Size: a a a

Kotlin Community

2020 June 24

AP

Alexey Pushkarev in Kotlin Community
Впервые слышу)
источник

AN

Alexander Nozik in Kotlin Community
Alexey Pushkarev
О, а что за котлин ноутбук?)
источник

I

Igor in Kotlin Community
Еще интересно
val foo1 = originDataframe.add("foo") { it.age * 2 }
val foo2 = originDataframe.add("foo") { it.age * 2 }

сгенерится два класса или один 🤔
источник

AN

Alexander Nozik in Kotlin Community
Igor
Еще интересно
val foo1 = originDataframe.add("foo") { it.age * 2 }
val foo2 = originDataframe.add("foo") { it.age * 2 }

сгенерится два класса или один 🤔
Можно задать вопрос к видео. Вообще, по-умолчанию оборачиваются только результаты ячеек
источник
2020 June 25

D

Denys in Kotlin Community
Спасибо большое за запись! Роман очень интересно рассказывает.
источник

T🐰

Tazman 🐰 in Kotlin Community
Привет, ребят все никак не могу понять, для чего используется  noinline или crossinline ? Подскажите доходчего плиз. Спасибо!
источник

AA

Andrey Antipov in Kotlin Community
Tazman 🐰
Привет, ребят все никак не могу понять, для чего используется  noinline или crossinline ? Подскажите доходчего плиз. Спасибо!
crossline используется как индикатор того, что лямбда, переданная в вашу inline функцию, вызывается не из её тела, а из вложенного контекста (вложенная функция, объект и т.п.). В этом случае для лямбды запрещён return, но она всё так же инлайнится при компиляции (то есть её нет как объекта в рантайме).
noinline - лямбда вообще не инлайнится и в рантайме ей соответствует объект.
https://medium.com/@tferreirap/kotlin-quick-look-at-inline-noinline-and-crossinline-e62e8833db1f
источник

T🐰

Tazman 🐰 in Kotlin Community
Andrey Antipov
crossline используется как индикатор того, что лямбда, переданная в вашу inline функцию, вызывается не из её тела, а из вложенного контекста (вложенная функция, объект и т.п.). В этом случае для лямбды запрещён return, но она всё так же инлайнится при компиляции (то есть её нет как объекта в рантайме).
noinline - лямбда вообще не инлайнится и в рантайме ей соответствует объект.
https://medium.com/@tferreirap/kotlin-quick-look-at-inline-noinline-and-crossinline-e62e8833db1f
Спасибо!
источник

QH

Quantum Harmonizer in Kotlin Community
Привнесу налёт НеАдЕкВаТа в серые будни.
Кто-нибудь пробовал HTTP4K с джавой? Или какой выбрать веб-сервер/фреймворк, чтобы было максимально Kotlin-friendly, но без сжигания мостов?
источник

RI

Ruslan Ibragimov in Kotlin Community
Quantum Harmonizer
Привнесу налёт НеАдЕкВаТа в серые будни.
Кто-нибудь пробовал HTTP4K с джавой? Или какой выбрать веб-сервер/фреймворк, чтобы было максимально Kotlin-friendly, но без сжигания мостов?
undertow?
источник

QH

Quantum Harmonizer in Kotlin Community
Угу, знаю, что ты его уважаешь. А почему?
Я заметил такое:
+ наверное быстрый
- замороченный API, когда речь заходит о парсинге тела запроса, например

Не уверен, что там с интеграциями. Сериализаторы, шаблонизаторы, что там ещё любят прикручивать? У http4k десятки модулей под это всё.
источник

RI

Ruslan Ibragimov in Kotlin Community
Quantum Harmonizer
Угу, знаю, что ты его уважаешь. А почему?
Я заметил такое:
+ наверное быстрый
- замороченный API, когда речь заходит о парсинге тела запроса, например

Не уверен, что там с интеграциями. Сериализаторы, шаблонизаторы, что там ещё любят прикручивать? У http4k десятки модулей под это всё.
> парсинг тела запроса

1. написать функцию которая прочитает тело в виде suspend fun (3 строки со скобочками)
2. распарсить (обычно jackson)

> сериализаторы

exhange.responseSender.send(mapper.writeToString(response))

> шаблонизаторы

exhange.responseSender.send(renderer.render(model, template))
источник

RI

Ruslan Ibragimov in Kotlin Community
Самое прикольное, что все это можно оборачивать в Handler и реюзать, делать декларативно
источник

QH

Quantum Harmonizer in Kotlin Community
Ruslan Ibragimov
> парсинг тела запроса

1. написать функцию которая прочитает тело в виде suspend fun (3 строки со скобочками)
2. распарсить (обычно jackson)

> сериализаторы

exhange.responseSender.send(mapper.writeToString(response))

> шаблонизаторы

exhange.responseSender.send(renderer.render(model, template))
Оно-то так, но зачем тогда существуют горы готовых иниеграций?
источник

RI

Ruslan Ibragimov in Kotlin Community
Ну если хочется готовых интеграций, то тут спринг король
источник

RI

Ruslan Ibragimov in Kotlin Community
брать kofu (есть и jafu, работа над ним возоблена) и радоваться
источник

RI

Ruslan Ibragimov in Kotlin Community
Ну и обычное дело с интеграциями - возможность получить странный дефолт, как например вот этот https://github.com/http4k/http4k/blob/master/http4k-format-jackson/src/main/kotlin/org/http4k/format/Jackson.kt#L17
источник

AO

Alexander Ovchinniko... in Kotlin Community
а кто-нибудь уже тестировал macOS Big Sur? там IDE от JetBrains работает на бете?
источник

AN

Alexander Nozik in Kotlin Community
Denys
Спасибо большое за запись! Роман очень интересно рассказывает.
Пжлста. Будем продолжать. В планах котлин Спарк и всякое наше.
источник

BV

Boris Vanin in Kotlin Community
Alexander Ovchinnikov 🦁
а кто-нибудь уже тестировал macOS Big Sur? там IDE от JetBrains работает на бете?
Это хоть и интересная тема, но не про котлин, лучше в @pofftop наверное закинуть
источник