Size: a a a

2021 March 02

AK

Andrey Konovalov in Modern::Perl
Roman
protobuf и иже с ними не хранят типов, типы и так знают участники обмена
в нем есть инфа только о версии структуры и номерах присутствующих полей
почти с тем же успехом можно json применить
да и в случае perl выйгрыша в сериализации/десериализации для protobuf нет
Мне не нравится, что в MP есть имена полей. Так-то хранение схемы отдельно от структуры нафиг не нужно
источник

AK

Andrey Konovalov in Modern::Perl
Т.е., скажем так, я готов отказаться от схемы частично: в пользу тупо индексированного хранения полей
источник

AK

Andrey Konovalov in Modern::Perl
Но наверное если просто в массив пихать и сериализовать MP - тоже норм. Жаль только нельзя сказать, что вон то поле мне не надо в int64, для него байта хватит
источник

R

Roman in Modern::Perl
да, четкой типизации нет, особенно когда пропихивает uint8_t из XS, а он, сука, становится UV, то бишь uint64_t
и какая после этого разница, хватит байта или трех?
json чудесно пакуется при передаче по http[s], чем больше, чем лучше пакуется
разница может быть в месте на диске, тут pack в помощь
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Andrey Konovalov
Народ, а есть какой-то бинарный формат упаковки данных с заданием типа полей (int64, string, byte...) - но попроще Google'ового Protobuf'а?
Вообще не очень понимаю: например, для Crystal я могу описать упаковку в MessagePack чётко: это поле int16, вон то поле - string... Но там, видимо, внутри формата нет этих типов данных?
Мне бы лучше что-то в духе ASN.1-упаковки: «префикс типа данных и опциональной длины, сами данные»
Но не asn.1?
источник

ДЛ

Дмитрий Лапчик... in Modern::Perl
8 февраля 2021 года приложение было заблокировано в материковом Китае

Вот он успех и признание
источник

ع

عاصم بن حارث... in Modern::Perl
Ну, этот шлакЪ в виде клабХауса реально заслуживает блока. тупая хрень (имхо).
источник

AK

Andrey Konovalov in Modern::Perl
Vyacheslav Olkhovchenkov
Но не asn.1?
ASN.1 - это такой абстрактный конструкт для построения множества реализаций "в железе"
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Серелизация там вполне конкретная
источник

YK

Yegor K in Modern::Perl
Andrey Konovalov
Народ, а есть какой-то бинарный формат упаковки данных с заданием типа полей (int64, string, byte...) - но попроще Google'ового Protobuf'а?
Вообще не очень понимаю: например, для Crystal я могу описать упаковку в MessagePack чётко: это поле int16, вон то поле - string... Но там, видимо, внутри формата нет этих типов данных?
Мне бы лучше что-то в духе ASN.1-упаковки: «префикс типа данных и опциональной длины, сами данные»
pack/unpack, Convert::Binary::C
источник

AK

Andrey Konovalov in Modern::Perl
Vyacheslav Olkhovchenkov
Серелизация там вполне конкретная
источник

AK

Andrey Konovalov in Modern::Perl
Но вообще вполне неплохо выглядит Synopsis
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Konovalov
Народ, а есть какой-то бинарный формат упаковки данных с заданием типа полей (int64, string, byte...) - но попроще Google'ового Protobuf'а?
Вообще не очень понимаю: например, для Crystal я могу описать упаковку в MessagePack чётко: это поле int16, вон то поле - string... Но там, видимо, внутри формата нет этих типов данных?
Мне бы лучше что-то в духе ASN.1-упаковки: «префикс типа данных и опциональной длины, сами данные»
CBOR::XS по RFC 7049
источник

VG

Vadim Goncharov in Modern::Perl
Vyacheslav Olkhovchenkov
Но не asn.1?
это говнище должно умереть
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
это говнище должно умереть
Чем плох ASN.1, где он тебе на ногу-то наступил? Кодируй всё в XML лучше :)
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Konovalov
Чем плох ASN.1, где он тебе на ногу-то наступил? Кодируй всё в XML лучше :)
чрезмерной сложностью, ведущей к непрекращающимся дырам за десятилетия, и необходимостью знать имена полей на приёмнике
источник

VG

Vadim Goncharov in Modern::Perl
XML в этом плане лишь совсем чуть-чуть лучше
источник

VG

Vadim Goncharov in Modern::Perl
а CBOR, в отличие от JSON и MessagePack, поддерживает произвольные типы тегированием
источник

AK

Andrey Konovalov in Modern::Perl
Vadim Goncharov
а CBOR, в отличие от JSON и MessagePack, поддерживает произвольные типы тегированием
А как CBOR'ом запаковать INT8 в 1 байт, а не в 8?
источник

AK

Andrey Konovalov in Modern::Perl
Ну или сколько там INT. Смотрю CBOR::Free
источник