Size: a a a

2020 April 08

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Мне кажется, kotlinx.serialization и scodec всё-таки о разном.
Второй больше для структур фиксированного размера, где не надо раскидывать теги, чтобы обеспечить совместимость при изменениях формата.
Я видел что-то похожее без упоминания скалы 🤔
В сериализации есть protobuf, который тоже без тэгов
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
В сериализации есть protobuf, который тоже без тэгов
Ну привет, какой он без тегов 🙂
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Ну привет, какой он без тегов 🙂
Про какие теги речь?
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
Про какие теги речь?
Перед значением каждого поля есть нечто, что объясняет, что это за поле
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Перед значением каждого поля есть нечто, что объясняет, что это за поле
А, вы про прямую бинарную сериализацию. Это тоже можно сделать на kotlinx. Но как правило проще самому руками
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexander Nozik
А, вы про прямую бинарную сериализацию. Это тоже можно сделать на kotlinx. Но как правило проще самому руками
Ну да, скорее всего. А у вас же кстати что-то похожее в мат.либе, разве нет? Кодеки, которые читают структуры через всякие readInt/readLong из потока.
источник

AN

Alexander Nozik in Kotlin JVM
Vladimir Petrakovich
Ну да, скорее всего. А у вас же кстати что-то похожее в мат.либе, разве нет? Кодеки, которые читают структуры через всякие readInt/readLong из потока.
да, там это для исключения боксинга. Есть еще более высокоуровневая штука для сериализации на IO, в другой либе.
источник

AN

Alexander Nozik in Kotlin JVM
источник

AM

Andrew Mikhaylov in Kotlin JVM
В свете чего немного непонятно, почему в последней версии завезли тулинг для жсона, а не для абстрактных деревьев, под что подошёл бы и cbor, к примеру.
источник

AN

Alexander Nozik in Kotlin JVM
Andrew Mikhaylov
В свете чего немного непонятно, почему в последней версии завезли тулинг для жсона, а не для абстрактных деревьев, под что подошёл бы и cbor, к примеру.
Там висит мой issue на эту тему. Но причина довольно простая: жсон используется почти всегда. А абстрактные деревья в общем случае сделать не так просто. Если они жсоно-морфны, то можно делать прямо на JsonObject, а если нет, то беда
источник
2020 April 12

V

Vladislav in Kotlin JVM
Привет, подскажите пожалуйста, что я делаю не так?
источник

V

Vladislav in Kotlin JVM
источник

V

Vladislav in Kotlin JVM
Возможно я не могу использовать ktor-client без запуска ktor-server?
источник

ch

central hardware in Kotlin JVM
Vladislav
Возможно я не могу использовать ktor-client без запуска ktor-server?
Сообщение об ошибки хоть читали?
источник

V

Vladislav in Kotlin JVM
central hardware
Сообщение об ошибки хоть читали?
спасибо за помощь)) конечно я забыл прочитать сообщение об ошибке и решил пусть за меня это делает кто-то другой.

а если серьёзно, то после того как понял что что-то не так, открыл пример
https://github.com/ktorio/ktor-samples/tree/master/feature/json-client

здесь происходит ровно то же самое, есть main функция которая запускает корутину на main-thread, внутри неё создаётся httpClient, на нём запускается элементарный get-запрос.

типы явно указаны везде кроме httpClient. Принципиальное отличие что в примере тип возвращаемый запросом - data-class, но в доке были примеры и с Unit/String/Any

падает на строке с get-запросом.

В стектрейсе мне сходу непонятно, что именно падает и почему. Гугл за 30 минут ответа не дал.

В-целом свою задачу я уже решил, на обычном OkHttpClient. Вообще интересно сам ktor-server завёлся без проблем, когда первый раз пробовал. А клиент отдельно не особо взлетел у меня сразу

Но вопрос решил не убирать, вдруг я чего-то элементарного для ребят которые работают с этим инструментом ежедневно, не увидел.
источник

BP

Bogdan Panchenko in Kotlin JVM
Vladislav
Привет, подскажите пожалуйста, что я делаю не так?
А если не включать серелизацию ? Она у вас даже не настроена
источник

AM

Andrew Mikhaylov in Kotlin JVM
Выглядит странно, такие вещи в рантайме не должны падать. Я бы предположил, что где-то есть проблема с разными версиями зависимости. Посмотрите, какой версии вы тянули кейтор, корутины и совместимы ли они -- ЕМНИП, в релизах кейтора указаны ожидаемые корутины.
источник

AM

Andrew Mikhaylov in Kotlin JVM
Vladislav
Возможно я не могу использовать ktor-client без запуска ktor-server?
Можете, эти две библиотеки между собой не связаны технически.
источник

AM

Andrew Mikhaylov in Kotlin JVM
Andrew Mikhaylov
Выглядит странно, такие вещи в рантайме не должны падать. Я бы предположил, что где-то есть проблема с разными версиями зависимости. Посмотрите, какой версии вы тянули кейтор, корутины и совместимы ли они -- ЕМНИП, в релизах кейтора указаны ожидаемые корутины.
Даже если вы в итоге от клиента отказались, это может потенциально быть проблемой для использования сервера, лучше перепроверить.
источник

V

Vladislav in Kotlin JVM
у меня нет ответа, почему так произошло, возможно что-то в локальный кеш idea положилось (
комп простоял n-часов, проблема ушла. Что-то странное, думаю что всё-таки какой-то кеш зависимостей, потому что ktor/corutines используются в нескольких pet-projects

благодарю за помощь
источник