Size: a a a

Kotlin Community

2020 October 21

SB

Sergey Barmin in Kotlin Community
ну я тоже хотел, но не так резко)) отлетело в паре мест, хотя думаешь - апдейт минорной, чего там ломающего
источник

AN

Alexander Nozik in Kotlin Community
Ну так и в сериализации новый дефолт лучше. Но там болшими буквами в миграции про это написано.
источник

АО

Алексей Овсянников... in Kotlin Community
Vitaly Peryatin
И ещё 1 вопрос который меня начал волновать в последнее время (может я снова что-то по невнимательности не заметил)

Если у переменной есть дефолтное значение, то это значение не отправляется в реквесте
Есть вот такая моделька (скриншот)

И по факту отправляется такой запрос (это тело запроса):
I/okhttp.OkHttpClient: {"FCM":"cuiDXOX9Q2Kiq6wv2-zrsq:APA91bFvAs-oyQi0xG7XnZ0tuT3C00mO-PSEcfUfLh8kIcH3I0hys4X1NHLmNVNUef0KMco1ZBZJBxdYKo3h6o9QV8lKb0Dot6He6pLazVCX4JKTAS6zcPA2ThIL9tdqWEA7zIAvoH_v"}
Есть (ну, или была) аннотация для указания, что поле обязательно при сериализации. Ну и ниже описали, что еще и сам сериалформат можно настроить на сериализацию всего на свете
источник

AN

Alexander Nozik in Kotlin Community
Я тут набросал реализацию SSE клиента для ктора: https://github.com/altavir/ktor-client-sse/blob/main/src/commonMain/kotlin/ru/mipt/npm/ktor/sse/readSse.kt. На простом тесте все равботает, но на корнеркейсы не тестировал. Просьба прокомментировать у кого есть возможность.
источник

i

i_vovolk in Kotlin Community
В первый день прошедшего котлин конфа Роман поднимал вопрос про namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object,  но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
источник

I

Igor in Kotlin Community
i_vovolk
В первый день прошедшего котлин конфа Роман поднимал вопрос про namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object,  но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
Да сделай просто object, потом на namespace заменишь 😌
источник

VP

Vladimir Petrakovich in Kotlin Community
i_vovolk
В первый день прошедшего котлин конфа Роман поднимал вопрос про namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object,  но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
С interface лютая наркомания, лучше уж сразу обычный object
источник

AL

Alexander Levin in Kotlin Community
i_vovolk
В первый день прошедшего котлин конфа Роман поднимал вопрос про namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object,  но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
Ну, мне кажется, что примерно такое:

1. Хватит package'а для понимания контекста? Просто положите в top-level.
2. Используете ещё и в Джаве? Добавьте аннотацию на другое название класса.
3. Прямо безумно нужен контекст более наглядный? Возьмите object . Да, лишний код под капотом, не самое критичное. И да, когда/если появятся, можно переделать на неймспейс.
источник

AL

Alexander Levin in Kotlin Community
Ну т.е. все остальные варианты просто слишком безумный изврат, как мне кажется.
источник

i

i_vovolk in Kotlin Community
спасибо за ответы
источник

GR

Gor Rushanyan in Kotlin Community
i_vovolk
В первый день прошедшего котлин конфа Роман поднимал вопрос про namespaces. А как принято делать это сейчас? Вот у меня есть набор функций, которые не требуют никакого объекта вокруг и внешнего состояния, но хочется их объединить под общим родительским именем. В stdlib есть вариант с object,  но вот тут https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3 говорят, что так не надо.
Есть вот такой документ https://arturdryomov.dev/posts/namespacing-in-kotlin/ в котором говорят interface-it up!
И я пока сделал страшноватый вариант с interface { companion object { fun ... fun ... fun ...}}
А какие более годные варианты?
Не знаю почему они так долго приходили к неймспейсу, но имхо object самый нормальный вариант в результате
источник

с#

саша сок #KotlinGang... in Kotlin Community
пожалуйста не флудите, разбирайтесь где-нибудь в другом месте.
источник

AN

Alexander Nozik in Kotlin Community
По-моему это не про котлин. И предложения работы идут в @kotlin_jobs.
источник
2020 October 22

K

Konst in Kotlin Community
Здравствуйте. А тут можно задавать вопросы про изучение этого языка?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Konst
Здравствуйте. А тут можно задавать вопросы про изучение этого языка?
1) @kotlin_start
2) почитайте ЧаВо в шапке канала, там есть "с чего начать изучения kotlin" или что-то такое
источник

K

Konst in Kotlin Community
саша сок #KotlinGang
1) @kotlin_start
2) почитайте ЧаВо в шапке канала, там есть "с чего начать изучения kotlin" или что-то такое
Спасибо
источник

AN

Alexander Nozik in Kotlin Community
Konst
Здравствуйте. А тут можно задавать вопросы про изучение этого языка?
можно.
источник

НК

Николай Крупий... in Kotlin Community
источник

i

i_vovolk in Kotlin Community
а как бы оформили вот такую штуку. У меня есть настройки системы, которые нужно конфигурировать в рантайме. Т.е. они хранятся в базе. Я хочу сделать под них какой-то контейнер, с публичными полями на прочитать и методом на обновить.
Конфиг вычитывается из базы либо лениво либо при старте системы (еще не решил как лучше) и при обновлении, соответстно.
Сюда подходит object но беда в том, что вычитка и обновление - suspended. А как отложено инициализировать object?
Или тут допустимо сделать инициализацию и обновление в runBlocking? Так как вроде логично стопнуть дела до обновления конфига?
источник

VP

Vladimir Petrakovich in Kotlin Community
i_vovolk
а как бы оформили вот такую штуку. У меня есть настройки системы, которые нужно конфигурировать в рантайме. Т.е. они хранятся в базе. Я хочу сделать под них какой-то контейнер, с публичными полями на прочитать и методом на обновить.
Конфиг вычитывается из базы либо лениво либо при старте системы (еще не решил как лучше) и при обновлении, соответстно.
Сюда подходит object но беда в том, что вычитка и обновление - suspended. А как отложено инициализировать object?
Или тут допустимо сделать инициализацию и обновление в runBlocking? Так как вроде логично стопнуть дела до обновления конфига?
Если читать из базы сразу при старте, можно сделать runBlocking, только не надо это делать object
источник