Size: a a a

2020 September 12

LW

Lev Walkin in ErlangRus
ASN.1 PER можно посмотреть, вообще супер. Самый компактный из всех.
источник

V

Vasilii Demidenok in ErlangRus
в Кларне тоже его используют https://github.com/klarna/erlavro
источник

AK

Aleksey Kluchnikov in ErlangRus
Vladimir
Еще Avro можно посмотреть. Тоже бинарный. Гугл его для BigQuery использует. Тарантул его использует. И вообще его хвалят. https://avro.apache.org/docs/current/
Тарантул msgpack же
источник

AK

Aleksey Kluchnikov in ErlangRus
Или речь про валидатор?
источник

V

Vladimir in ErlangRus
Aleksey Kluchnikov
Или речь про валидатор?
речь скорее о рекомендуемом формате работы с пользовательскими структурами. https://www.tarantool.io/ru/doc/2.2/book/app_server/creating_app/#avro-schemas
источник

ŹR

Źmićer Rubinštejn in ErlangRus
{rebar, {pkg, rebar_fork}} - вот такой вид депса есть в доке ребара. Что это значит и как это вообще используетрся?
источник

PK

Petr Kozorezov in ErlangRus
Maksim Lapshin
кстати, а насколько вообще матчится protobuf (к которому я привязался как к чему-то современному и стандартному) и система типов эрланга? Может быть на базовом уровне они похожи и взаимозаменяемы?
Ну система типов эрланга шире чем все подобные системы. В них нет таплов, структуры представляются либо рекордами, либо мапами, но не одновременно, понятное дело, нет спец типов вроде пидов, в мапах не везде можно в качестве ключей использовать сложные типы. Короче, куча ограничений.
Да и протобуф - это просто первое (кроме asn) подобное популярное решение. И у трифта например, имхо, язык читабельнее. Про авро ничего сказать не могу, не использовал.
источник

RP

Roman Pushkov in ErlangRus
Źmićer Rubinštejn
{rebar, {pkg, rebar_fork}} - вот такой вид депса есть в доке ребара. Что это значит и как это вообще используетрся?
по-моему суть в том, что ты притягиваешь зависимость с названием rebar_fork, но локально она будет называться rebar
источник

ML

Maksim Lapshin in ErlangRus
Petr Kozorezov
Ну система типов эрланга шире чем все подобные системы. В них нет таплов, структуры представляются либо рекордами, либо мапами, но не одновременно, понятное дело, нет спец типов вроде пидов, в мапах не везде можно в качестве ключей использовать сложные типы. Короче, куча ограничений.
Да и протобуф - это просто первое (кроме asn) подобное популярное решение. И у трифта например, имхо, язык читабельнее. Про авро ничего сказать не могу, не использовал.
Так мне все то не нужно. Только то подмножество, которое в жсон мапится
источник

SP

Sergey Prokhorov in ErlangRus
Vladimir
Еще Avro можно посмотреть. Тоже бинарный. Гугл его для BigQuery использует. Тарантул его использует. И вообще его хвалят. https://avro.apache.org/docs/current/
Avro как валидатор вряд ли получится использовать. Для валидации у нас jsonschema: https://github.com/for-GET/jesse
источник

SP

Sergey Prokhorov in ErlangRus
Но только для всяких http апишек. Между модулями особо ничего не используется. Ну диалайзер конечно.
Кстати, диалайзер год назад только добавили в CI. За это время количество warnings упало с over 10k до ~300
источник

ML

Maksim Lapshin in ErlangRus
Sergey Prokhorov
Но только для всяких http апишек. Между модулями особо ничего не используется. Ну диалайзер конечно.
Кстати, диалайзер год назад только добавили в CI. За это время количество warnings упало с over 10k до ~300
Сколько сил ушло на это и сколько багов отловлено?
источник

PG

Pig Greenest in ErlangRus
Сколько ушло после отключения overspecs и underspecs?)
источник

SP

Sergey Prokhorov in ErlangRus
ну для начала - там over1.5M LOC. В CI было запрещено добавлять новые ошибки. И один человек год почти только и занимался конкретно этим (пилил скрипты, CI, чинил целенаправленно ошибки)
источник

SP

Sergey Prokhorov in ErlangRus
сколько ошибок именно в коде.. да не много вроде. как тот чел говорил "кодовая база старая, много тестов, так что по умолчанию считаем что либо в коде ошибок нет или что это мёртвый код. Чиним спеки.
источник

SP

Sergey Prokhorov in ErlangRus
ну в когда пишешь новый код - помогает. В CI бывает выскакивают ошибки при разработке. Но прям конкретно не могу вспомнить что-то
источник

PG

Pig Greenest in ErlangRus
Всякие CI это круто, завёл CI, увидел потанцевальную багу
источник

SP

Sergey Prokhorov in ErlangRus
Vladimir
Попробовал. Вроде норм)
(Кстати, с такими настройками ребара для амбреллы
{erlfmt, [
 write,
 {files, "{apps,lib}/**/*.{hrl,erl}"}
]}.

)
тоже попробовал. Вроде ничего. Есть пара мест странных. Ну и пока не понятно как это в процесс разработки включить. В какой момент запускать.Потому что форматирование которое оно делает с emacs не совпадает. Т.е. если его запускать из pre-commit, то код в процессе написания будет разъехавшимся. Если при сохранении буфера то возможно ок...
источник

PG

Pig Greenest in ErlangRus
Sergey Prokhorov
тоже попробовал. Вроде ничего. Есть пара мест странных. Ну и пока не понятно как это в процесс разработки включить. В какой момент запускать.Потому что форматирование которое оно делает с emacs не совпадает. Т.е. если его запускать из pre-commit, то код в процессе написания будет разъехавшимся. Если при сохранении буфера то возможно ок...
А там ручек нету?
источник

SP

Sergey Prokhorov in ErlangRus
блин... скобка закрывающая выровнена не по другой скобке в по #
источник