Size: a a a

Kotlin Community

2020 November 02

NK

Nikita Kulikov in Kotlin Community
Лиза Фролова
мне кажется я тебя где-то видела
Вижу что в ЛС общались, может из кофеинщиков?
источник

ЛФ

Лиза Фролова... in Kotlin Community
Nikita Kulikov
Вижу что в ЛС общались, может из кофеинщиков?
о, точно
источник

AN

Alexander Nozik in Kotlin Community
Nikita Kulikov
Бизнес-задача: добавить веб-админку для сервиса на ktor+exposed.
Я пытаюсь сделать все чтобы не привлекать для этой задачи дизайнеров + верстальщиков + делать отдельное API.
Пока остановился на аналогах phpmyadmin и прочих, но они не дают такой buildin интеграции как админка той же django.
Вы просто все мешаете в одну кучу. Exposed - это система работы с БД. Django - это веб-фреймворк. Вполне можно написать плагин к ктору, который будет делать админку. Но оно никогда не будет частью поставки. И видимо никому это пока было не надо.
источник

NK

Nikita Kulikov in Kotlin Community
А я и не прошу частью поставки, я прошу плагин
источник

AN

Alexander Nozik in Kotlin Community
Nikita Kulikov
А я и не прошу частью поставки, я прошу плагин
Ну погуглите, может кто сделал. Если нет, то можете сами сделать, как бы не сложно.
источник

NK

Nikita Kulikov in Kotlin Community
Alexander Nozik
Ну погуглите, может кто сделал. Если нет, то можете сами сделать, как бы не сложно.
> как бы не сложно
Звучит как очень сложно
источник

с#

саша сок #KotlinGang... in Kotlin Community
откуда в k/js и k/native тоже джавовое стирание типов ?
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
откуда в k/js и k/native тоже джавовое стирание типов ?
Оттуда. В стирании типов на самом деле нет ничего плохого.
источник

с#

саша сок #KotlinGang... in Kotlin Community
Alexander Nozik
Оттуда. В стирании типов на самом деле нет ничего плохого.
я не говорю, что это плохо. это лучше, чем компилировать отдельно классы для всех дженериков, просто интересно как так получилось, что jvm-dependent фича работает везде
источник

AN

Alexander Nozik in Kotlin Community
саша сок #KotlinGang
я не говорю, что это плохо. это лучше, чем компилировать отдельно классы для всех дженериков, просто интересно как так получилось, что jvm-dependent фича работает везде
Ну так единообразие должно быть. А сама по себе модель стирания достаточно хорошая. Нет смысла ее ломать
источник

AN

Alexander Nozik in Kotlin Community
@why_oleg затягиваю rsocket. Опасно у вас там сделано, что Payload экспозит ByteReadPacket. Если какой-нибудь индюк его релизнет раньше времени, можно крупно нарваться.
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
@why_oleg затягиваю rsocket. Опасно у вас там сделано, что Payload экспозит ByteReadPacket. Если какой-нибудь индюк его релизнет раньше времени, можно крупно нарваться.
а какой выход другой?
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
а какой выход другой?
Изолируем его и делаем в Pyload методы, которые будут его вычитывать как Input. Я так сделал в своем форке kotlinx-io
источник

OY

Oleg Yukhnevich in Kotlin Community
спорно
Вы можете читать из него, это же и есть Input, только из ktor-io
это уже в любом случае на откуп пользователя лучше отдавать
тем более, там есть copy - который zero-copy
источник

OY

Oleg Yukhnevich in Kotlin Community
ByteReadPacket - single read - это его контракт
Вы хотите reusable payload? а кто его в итоге релизить будет?
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
спорно
Вы можете читать из него, это же и есть Input, только из ktor-io
это уже в любом случае на откуп пользователя лучше отдавать
тем более, там есть copy - который zero-copy
Проблема в том, что ByteReadPacket пулится. Если вы его из скоупа утащите, будет практически неотлавливаемая ошибка. Я это проходил.
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
ByteReadPacket - single read - это его контракт
Вы хотите reusable payload? а кто его в итоге релизить будет?
Не, я предлагаю сделать метод read(block : Input.()->R)
источник

OY

Oleg Yukhnevich in Kotlin Community
Alexander Nozik
Не, я предлагаю сделать метод read(block : Input.()->R)
который можно будет вызвать один раз, полностью вычитывая data/metadata?
источник

AN

Alexander Nozik in Kotlin Community
Oleg Yukhnevich
который можно будет вызвать один раз, полностью вычитывая data/metadata?
Что-то в этом роде. Смысл в том, что ваш Payload категорически нельзя выносить за знак большой печати скоуп. Иначе будет беда.
источник

OY

Oleg Yukhnevich in Kotlin Community
как и любой буфер везде :)
даже тогда и ByteArray нельзя
но делать readData/readMetadata - мне кажется слегка странным, тогда получается, что уносить в скоуп будет вообще нельзя, так?
источник