Size: a a a

2021 June 24

VG

Vadim Goncharov in Modern::Perl
ну вот, а json-like (например cbor) новый раскукоживатель для такого простого случая писать не придется
источник

W

Warstone in Modern::Perl
Как знаете ))) Я не знаю ваших объемов. Если это решение, то пожалста.
источник

W

Warstone in Modern::Perl
А ну и как не выпендриться: Вообще то что мы тут проговорили - должно было прийти в голову автоматом. А то там как PreFork увидел так и... Так и сел старик...
источник

М

Млюшевый Пишка... in Modern::Perl
источник

М

Млюшевый Пишка... in Modern::Perl
оно бы и пришло. тока позже )
источник

М

Млюшевый Пишка... in Modern::Perl
тут три шарда
источник

a

allter in Modern::Perl
Ну да, но эти кодеки какой-то компонент ПО будет вызывать - и он-то должен поддерживать эту опциональность.

К слову, для этого придуман принцип Postel's law: https://en.wikipedia.org/wiki/Robustness_principle
источник

YK

Yegor K in Modern::Perl
а что не так с Net::Server::PreFork для сервиса работающего в синхронном режиме?
источник

VG

Vadim Goncharov in Modern::Perl
вот пример класса с "хаком" относительно стандарта, когда сериализованы не аргументы для new последовательно, а прям перловый хэш блессится (можно это засунуть в общий предок или даже *UNIVERSAL::TO_CBOR)
источник

VG

Vadim Goncharov in Modern::Perl
так вот как раз JSON и аналоги наиболее удовлетворяют закону Постела: представим, что добавлено новое поле в хэш, получатель, который его не обрабатывает, просто проигнорирует, ничего дополнительного писать не придется, чтобы сообщение просто получить
источник

a

allter in Modern::Perl
Да, но именно сам формат этого не обеспечивает. Им надо пользоваться соблюдением этого принципа.
источник

VG

Vadim Goncharov in Modern::Perl
какой формат, protobuf? да, он не обеспечивает - придется писать что-то
источник

a

allter in Modern::Perl
Нет, JSON и т.д. В protobuf тоже есть опциональные поля - т.е. он похож в этом отношении на JSON.
источник

VG

Vadim Goncharov in Modern::Perl
вот у меня читатель просто выводит это в Dumper так, чтоб были просто bless, и ни о чем не заботится https://github.com/nuclight/teleperl/blob/master/cborsee.pl
источник

VG

Vadim Goncharov in Modern::Perl
ну как же это вдруг не обеспечивает? прекрасно обеспечивает.
источник

a

allter in Modern::Perl
Ты имеешь в виду "синтаксис"? Да, но не семантику. Твоё приложение должно обрабатывать опциональность. Если для прямых миграций это довольно тривиально, то для возможности откатов - это может вызвать сложности.
источник

VG

Vadim Goncharov in Modern::Perl
так protobuf этому требованию тем более не удовлетворяет, у него нет версионности, максимум опциональность, которую придется абьюзить
источник

VG

Vadim Goncharov in Modern::Perl
вот судя по доке, это реализация https://cbor2.readthedocs.io/en/latest/customizing.html#using-the-cbor-tags-for-custom-types позволит создавать объекты из тегов (я не знаток питона, можно ли вынести это в общий предок а-ля bless $class, не знаю)
источник

a

allter in Modern::Perl
Точно также, как и JSON.
источник

W

Warstone in Modern::Perl
В синхронном - можно. Не вопрос. Правда надо будет забыть о скорости.
источник