Size: a a a

2020 March 15

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Но сабмодуль вроде как не очень считается...
Изложи проблему формально
источник

AK

Aleksey Kluchnikov in ErlangRus
Źmićer Rubinštejn
Чучуть надоело (
Вот поэтому считаю что протобуф и иже с ним зло
источник

AK

Aleksey Kluchnikov in ErlangRus
обновили прото из за нужд одного микросервиса, оно во все сервисы присоеденилось и перетестировать надо  абсолютно все
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Maksim Lapshin
Это непонятно: обновил прото - пересебери пакеты на автомате
Hex кстати использует везде прото, я чуток охренел когда узнал
источник

AK

Aleksey Kluchnikov in ErlangRus
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Я почему-то думал что он термы хранит...
источник

AK

Aleksey Kluchnikov in ErlangRus
конечно в интернете можно найти материалы в обоснование любой точки зрения. Но тем не менее про типизацию объектов в протоколах
источник

ML

Maksim Lapshin in ErlangRus
Aleksey Kluchnikov
Вот поэтому считаю что протобуф и иже с ним зло
Ага, лучше то же самое но без спек и возможности хоть как то узнать что есть изменение апи
источник

AK

Aleksey Kluchnikov in ErlangRus
Доку просто писать и changes
источник

СИ

Сергей Иванов in ErlangRus
Maksim Lapshin
Ага, лучше то же самое но без спек и возможности хоть как то узнать что есть изменение апи
меня другое удивляло - по идее наличие схемы должно давать повышение комактности и быстродействия. но упс... а так-то да без схемы тяжело. доки не помогут
источник

ML

Maksim Lapshin in ErlangRus
Aleksey Kluchnikov
Доку просто писать и changes
Если ты хочешь подискутировать о том, что отсутствие валидирующего механизма лучше, чем его наличие и что «протестировать все» - проблема, то это мне выглядит странно.


Я могу разделять скепсис и недовольства конкретной штукой под названием протобуф, но в целом валидатор и жесткая схема интерфейса - вещь полезная и понятная.


Корба с ее idl возникла не на пустом месте.
источник

ML

Maksim Lapshin in ErlangRus
Сергей Иванов
меня другое удивляло - по идее наличие схемы должно давать повышение комактности и быстродействия. но упс... а так-то да без схемы тяжело. доки не помогут
Наличие схемы должно избавлять от ситуации, когда один кусок системы обновился, а в другом об этом никто не знает и у них немного подглючивает
источник

СИ

Сергей Иванов in ErlangRus
Maksim Lapshin
Наличие схемы должно избавлять от ситуации, когда один кусок системы обновился, а в другом об этом никто не знает и у них немного подглючивает
это само собой. но ведь имея схемы у нас сильно развязаны руки по упаковке и оптимизациям, но нет...
источник

ML

Maksim Lapshin in ErlangRus
Сергей Иванов
это само собой. но ведь имея схемы у нас сильно развязаны руки по упаковке и оптимизациям, но нет...
В древности, когда проектировали первые бинарные протоколы, была идея обойтись без десериализации: прочитали из сети 20 байт и вот тебе в памяти готовая структура на C.

Так было до первой смены byte order, когда стало ясно, что сериализация будет всегда.

Как можно играть с упаковкой - я не очень понимаю. Оптимизация - почему бы и нет.

У той же корбы было два паттерна: можешь скомпилировать читалку и добывать данные сразу, можешь пользоваться строчным описанием и читать как жсон
источник

ML

Maksim Lapshin in ErlangRus
А что, у протобуфа проблемы со скоростью по сравнению с жсоном?
источник

СИ

Сергей Иванов in ErlangRus
Maksim Lapshin
А что, у протобуфа проблемы со скоростью по сравнению с жсоном?
про другие реализации не скажу, но код который он для сс генерирует - не может быть немедленее чего либо , насчет упаковки я может и погорячился. упаковка норм
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Где-то читал статью, что в js мире на обычных данных msgpack такой же по производительности как и протобаф зато без ябатни со схемами
источник

СИ

Сергей Иванов in ErlangRus
Źmićer Rubinštejn
Где-то читал статью, что в js мире на обычных данных msgpack такой же по производительности как и протобаф зато без ябатни со схемами
я статью не читал, но использовал msgpack и хотя он был только для одного вида объекта и в рамках одного модуля - даже это доставляло гиморой при модификации структуры. без схемы - тяжело. это как с данными без sql
источник

IK

Igor Karymov in ErlangRus
Maksim Lapshin
В древности, когда проектировали первые бинарные протоколы, была идея обойтись без десериализации: прочитали из сети 20 байт и вот тебе в памяти готовая структура на C.

Так было до первой смены byte order, когда стало ясно, что сериализация будет всегда.

Как можно играть с упаковкой - я не очень понимаю. Оптимизация - почему бы и нет.

У той же корбы было два паттерна: можешь скомпилировать читалку и добывать данные сразу, можешь пользоваться строчным описанием и читать как жсон
Макс ты не поверишь https://capnproto.org/
источник

ML

Maksim Lapshin in ErlangRus
Igor Karymov
Макс ты не поверишь https://capnproto.org/
А потом из эрланга это как?
источник