Size: a a a

2020 September 12

ML

Maksim Lapshin in ErlangRus
Ну здесь вкус устриц лучше обсуждать с теми, кто их ел.

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

ML

Maksim Lapshin in ErlangRus
А можно ли из protobuf файла сгенерировать что-то для чтения и валидации жсона?
источник

AK

Aleksey Kluchnikov in ErlangRus
С праздником коллеги!!!
источник

LW

Lev Walkin in ErlangRus
Maksim Lapshin
А можно ли из protobuf файла сгенерировать что-то для чтения и валидации жсона?
да
источник

ML

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

Че ты думаешь, protobuf стоит для этого втаскивать?
источник

PK

Petr Kozorezov in ErlangRus
А не проще json schema использовать? Для него уже все тулзы готовые, бери и пользуйся. Правда язык сам чуть менее выразительный.
источник

LW

Lev Walkin in ErlangRus
Maksim Lapshin
У меня возникло жгучее делание какими-то жесткими схемами описать коммуникацию с яваскриптом и внутри подсистем. Те чтобы как-то остановить тот блуд с хаотичными мапами, которые передаются между модулями.

Че ты думаешь, protobuf стоит для этого втаскивать?
проверь интероп перед использованием, я подозреваю что оно не для всех языковых пар будет работать. Но вроде должно. Кроме того, зачем json тогда, если у тебя все в proto выражено? Proto wire format может быть поэффективнее наверняка.
источник

ML

Maksim Lapshin in ErlangRus
Petr Kozorezov
А не проще json schema использовать? Для него уже все тулзы готовые, бери и пользуйся. Правда язык сам чуть менее выразительный.
А внутри эрланга как? Я хочу на границе некоторых модулей такие же проверки втыкать
источник

PK

Petr Kozorezov in ErlangRus
Maksim Lapshin
А внутри эрланга как? Я хочу на границе некоторых модулей такие же проверки втыкать
Ну к использованию внутри эрланга есть как минимум 2 вопроса: потребление ресурсов (в первую очередь cpu) и невозможность в общем случае описать эрланг терм (нет поддержки таплов и специфических эрланг типов вроде пидов и рефов). Если это устраивает, то можно и внутри эрланга.
источник

PK

Petr Kozorezov in ErlangRus
Лично я использовал это только для rest апишечек в связке со сваггером, выходит очень даже неплохо.
источник

ML

Maksim Lapshin in ErlangRus
Petr Kozorezov
Ну к использованию внутри эрланга есть как минимум 2 вопроса: потребление ресурсов (в первую очередь cpu) и невозможность в общем случае описать эрланг терм (нет поддержки таплов и специфических эрланг типов вроде пидов и рефов). Если это устраивает, то можно и внутри эрланга.
не, у меня другая мысль: вот пришла map из одного модуля в другой и её надо провалидировать.

Map, потому что это удобнее чем структурами обмениваться и хедерами (наверное?). Да и рекорды тоже надо валидировать
источник

ИИ

Иванов Иванов... in ErlangRus
Vladimir Sekisov
странно, у меня оба теперь
в полный рост, очень хорошо
дополняют основной Erlang.
а как elixir дополняет erlang? что касается rust - то это я так, для красного словца. но я думаю, что появится язык как rust, но не rust
источник

V

Vladimir in ErlangRus
Я с мапами через деструктуризацию стараюсь работать чтобы диалайзер валидировал. Предварительно объявляю их как типы. Таким образом получаются строгие по типу мапы
источник

ИИ

Иванов Иванов... in ErlangRus
Vladimir
Я с мапами через деструктуризацию стараюсь работать чтобы диалайзер валидировал. Предварительно объявляю их как типы. Таким образом получаются строгие по типу мапы
через деструктуризацию это как?
источник

PG

Pig Greenest in ErlangRus
Vladimir
Я с мапами через деструктуризацию стараюсь работать чтобы диалайзер валидировал. Предварительно объявляю их как типы. Таким образом получаются строгие по типу мапы
Welcome to the (Elixir) club, buddy
источник

V

Vladimir in ErlangRus
Иванов Иванов
через деструктуризацию это как?
-type t() :: #{val => float()},
...
#{val := Val} = Map,
Val
...
источник

ИИ

Иванов Иванов... in ErlangRus
Vladimir
-type t() :: #{val => float()},
...
#{val := Val} = Map,
Val
...
я не знал этот термин, спасибо
источник

ИИ

Иванов Иванов... in ErlangRus
разрушающее присваивание = деструктуризация
источник

V

Vladimir in ErlangRus
oh, yeah)
источник

ИИ

Иванов Иванов... in ErlangRus
Vladimir
oh, yeah)
деструктуризация агрессивно звучит
источник