Size: a a a

2021 March 29

A ß in pro.elixir
Lama Lover
Зачем erlang-ноду? Это дикое извращение
пст, ergo
источник

ML

Maksim Lapshin in pro.elixir
Lama Lover
Зачем erlang-ноду? Это дикое извращение
Это байтодрочерство, позволяющее пощупать что-то новое, интересное и жутко оскорбиться на вопрос «почему ты крадешь время у работодателя, делая какую-то ненужную фигню».


У эрланга модель данных и исполнения отражается в тех данных, которые ходят по интерконнекту. Те нода на сишечке получит пид или референс. Что с ними там на том конце делать?

Да ничего, они чужды для всех других платформ.

Кому-то не хватает банально возраста и опыта чтобы вспомнить, что в корбе вся эта херня с remote objects уже была и от корбы с ужасом отказались в пользу http+json в котором это все отсутсвует.
источник

ML

Maksim Lapshin in pro.elixir
Использование bert/c-node между эрлангом и другими языками не дает никаких плюсов перед json, зато дает массу проблем, которые искуственные и очень заумные. Можно долго водить за нос доверчивого начальника, который не знает, как распознать архитектурного космонавта
источник

ML

Maksim Lapshin in pro.elixir
Вот выбор между asn1/protobuf/thrift и json - он действительно есть. Он понятный, сложный, не имеет простого ответа, но там реально есть выбор.


Между json vs c-node никакого выбора на практике нет. Ну разве что есть задача спихнуть сложность, геморрой и жор cpu на коллег и изображать из себя дартаньяна
источник

g

gnoblin in pro.elixir
архитектурный космонавт - хороший термин
источник

g

gnoblin in pro.elixir
ок, не буду использовать c-node
источник

g

gnoblin in pro.elixir
@maxlapshin

"Вот выбор между asn1/protobuf/thrift и json - он действительно есть. Он понятный, сложный, не имеет простого ответа, но там реально есть выбор."

а тут можешь кратко рассказать?
источник

LL

Lama Lover in pro.elixir
gnoblin
@maxlapshin

"Вот выбор между asn1/protobuf/thrift и json - он действительно есть. Он понятный, сложный, не имеет простого ответа, но там реально есть выбор."

а тут можешь кратко рассказать?
Если нужен бинарный энкодинг — protobuf. Бинарный энкодинг в джавой — thrift. Бинарный энкодинг с сетевыми системами — asn1
Иначе — json
источник

ML

Maksim Lapshin in pro.elixir
gnoblin
@maxlapshin

"Вот выбор между asn1/protobuf/thrift и json - он действительно есть. Он понятный, сложный, не имеет простого ответа, но там реально есть выбор."

а тут можешь кратко рассказать?
Asn1 нереально удобен при обмене между эрлангами. На порядок удобнее протобуфа и даже поддерживается под C

Есть даже опция с генерацией жсона.

Протобаф - современный стандарт. Он чудовищен в плане реализаций, так что мы увидим еще несколько итераций «давайте выкинем и сделаем нормально», но спорить с ним бессмысленно.


Оба они дают тебе гарантию и контракт на границе. В жсон/xml можно быстро подпихнуть что-нибудь еще и закрыть проблему за 5 минут. Статические схемы - это бюрократия на день (согласовать изменение схемы и тп).

Так что если проект должен принести деньги и сдохнуть за полгода, жсон без вариантов.


Если этому коду жить не один год или там сотни девелоперов, то без жесткой бюрократии и строгого схематоза будет больно.
источник

g

gnoblin in pro.elixir
понял. graphql тут не помогает в целом в отрыве от этого конкретного вопроса, возможно? в плане схематоза
источник

ML

Maksim Lapshin in pro.elixir
gnoblin
понял. graphql тут не помогает в целом в отрыве от этого конкретного вопроса, возможно? в плане схематоза
Я с ним не имел опыта, но из того, что я читал, он тоже про жесткие контракты.
источник

g

gnoblin in pro.elixir
спасибо
источник

g

gnoblin in pro.elixir
Lama Lover
Если нужен бинарный энкодинг — protobuf. Бинарный энкодинг в джавой — thrift. Бинарный энкодинг с сетевыми системами — asn1
Иначе — json
благодарю
источник

A

Aleksey @cheatex in pro.elixir
Lama Lover
Если нужен бинарный энкодинг — protobuf. Бинарный энкодинг в джавой — thrift. Бинарный энкодинг с сетевыми системами — asn1
Иначе — json
А что не так с протобафом под джавой? Н уто есть всякого много, но почему прям по дефорлу thrift если бинари с джавой?
источник

LL

Lama Lover in pro.elixir
gnoblin
понял. graphql тут не помогает в целом в отрыве от этого конкретного вопроса, возможно? в плане схематоза
Это формат запросов, а не энкодинга данных
Он вообще про HTTP скорее, и про описание вложенных запросов
источник

ML

Maksim Lapshin in pro.elixir
Хотя конечно я лично знаю людей, которые бы первым делом сделали массив строк и туда бы пихнули строковое разложение жсона чтобы «нормально удобно гонять данные»
источник

g

gnoblin in pro.elixir
Maksim Lapshin
Хотя конечно я лично знаю людей, которые бы первым делом сделали массив строк и туда бы пихнули строковое разложение жсона чтобы «нормально удобно гонять данные»
))
источник

LL

Lama Lover in pro.elixir
Aleksey @cheatex
А что не так с протобафом под джавой? Н уто есть всякого много, но почему прям по дефорлу thrift если бинари с джавой?
Потому что в мире джавы все традиционно используют thrift почему-то
Видимо из-за любви к апаче
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я думаю что протобаф не сложнее json, накладные расходы только на старте
источник

P

Pavel in pro.elixir
Źmićer Rubinštejn
Я думаю что протобаф не сложнее json, накладные расходы только на старте
Если у тебя 10 сервисов, которые используют твой сервис, то сложнее, как Максим и сказал, пока все раздуплят, изменят, рожь вот это все
источник