Size: a a a

2021 May 18

n

n1 in pro.elixir
Да, я именно про это
источник

A ß in pro.elixir
тут есть нюансик
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Бим внутри по сути - микросервисная архитектура as is. А в твой микросервис может прийти любой запрос с любым payload - на этапе компиляции это не проверишь.
источник

Е

Евгений in pro.elixir
Ну как это не знает? Ты отправляешь сообщение генсерверу не зная что делает этот генсервер и какие сообщения он может обработать?
источник

Е

Евгений in pro.elixir
Ну так язык - это надстройка над BEAM
источник

A ß in pro.elixir
мы не можем проверить тип сообщения при компиляции, но мы можем проверить что обрабатываются все возможные сообщения
источник

AF

Andrey Fadeev in pro.elixir
Так генсервер это уже более высокая абстракция. Просто код приложения, соглашения не имеющие отношения к самому языку
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Весь ОТП нафик уйдёт просто
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вместо этого получатся акторы как в пони
источник

Е

Евгений in pro.elixir
Мы можем проверить, что ты не отправил этому вот генсерверу туфту, потому что знаем на этапе компиляции что именно он должен получить.
источник

Е

Евгений in pro.elixir
Не получатся. В пони акторы практически ничего общего с процессами эрланга не имеют.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Вот, кстати - я могу дать рекомендации всем компаниям, где работал - объяснить сильные стороны, что нравилось и почему ушёл и в каких случаях я бы рекомендовал и в каких не рекомендовал бы там работать.
источник

A ß in pro.elixir
мда, и как?
источник

Е

Евгений in pro.elixir
Зная интерфейс этого генсервера.
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Почему бы не воспринимать - что процесс может получить любое сообщение и обязательно чтобы имел catch all клаузу? Проблема решена.
источник

A ß in pro.elixir
то есть ты предлагаешь параметризировать пиды типом принимаемых сообщений?
источник

LL

Lama Lover in pro.elixir
Это было бы круто
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты не сможешь сделать handle_call к примеру в разрыве от api генсервера. Send в Пиды придётся запретить - потому что не проверишь. В результате акторы превратятся я жаба-лайк ооп
источник

Е

Евгений in pro.elixir
Именно.
источник

LL

Lama Lover in pro.elixir
Но только статическая типизация убивает весь хотрелоад
источник