Size: a a a

2020 November 12

SM

Sergei Maximov in pro.elixir
Если это opaque-тип, то матчить его в %MapSet{} неправильно уже по смыслу.
источник

SM

Sergei Maximov in pro.elixir
MapSet по хорошему должен предоставлять guard, но увы
источник

Е

Евгений in pro.elixir
Sergei Maximov
MapSet по хорошему должен предоставлять guard, но увы
А что делать? Есть способ заставить заткнуться диалайзер именно в этом месте?
источник

N|

Naiλ Gibaev | The Re... in pro.elixir
Евгений
Поможите, люди добрые.
defmodule Foo do
 @spec foo(MapSet.t() | integer()) :: integer()
 def foo(value) do
   case value do
     %MapSet{} -> MapSet.size(value)
     n when is_integer(n) -> n + 1
   end
 end
end
поменяй case clauses местами и замени %MapSet{} на _. тогда у тебя первым по приоритету будет тайпматч на инт, а если он зафейлился — то это скорее всего MapSet
источник

SM

Sergei Maximov in pro.elixir
Если хочешь, чтобы это проверял dialyzer, то только через указание типа как %MapSet{}. Либо просто не проверяем opaque-тип:

defmodule Foo do
 @spec foo(MapSet.t() | integer()) :: integer()
 def foo(n) when is_integer(n), do: n
 def foo(set), do: MapSet.size(set)
end
источник

Е

Евгений in pro.elixir
Sergei Maximov
Если хочешь, чтобы это проверял dialyzer, то только через указание типа как %MapSet{}. Либо просто не проверяем opaque-тип:

defmodule Foo do
 @spec foo(MapSet.t() | integer()) :: integer()
 def foo(n) when is_integer(n), do: n
 def foo(set), do: MapSet.size(set)
end
Печально
источник

Е

Евгений in pro.elixir
Naiλ Gibaev | The Red King
поменяй case clauses местами и замени %MapSet{} на _. тогда у тебя первым по приоритету будет тайпматч на инт, а если он зафейлился — то это скорее всего MapSet
Это синтетический пример.
Тупо мапсет на последнюю позицию ставить только.
источник

N|

Naiλ Gibaev | The Re... in pro.elixir
Евгений
Это синтетический пример.
Тупо мапсет на последнюю позицию ставить только.
ну, это же opaque тип, поэтому инспектировать его такими клозами нельзя, поскольку тебе как бы не известна внутренняя структура этого мапсета)
источник

Е

Евгений in pro.elixir
Naiλ Gibaev | The Red King
ну, это же opaque тип, поэтому инспектировать его такими клозами нельзя, поскольку тебе как бы не известна внутренняя структура этого мапсета)
Это я понял, но других средств, увы нет, насколько я понял.
источник

X

XÆA-XII in pro.elixir
Źmićer Rubinštejn
И почему вы все не ходите на митапы по эликсиру
Не осилил
источник

RK

Roman Kolesnev in pro.elixir
Ihor Katkov
для чего именно LightStep?
У нас в компании для трейсинга в контексте кучи микросервисов используется. Для Go и Python есть готовые либы. А вот чтобы elixir продвинуть надо подружить его с  lightstep.
источник

RK

Roman Kolesnev in pro.elixir
Написал им в поддержку, посмотрю что ответят))
источник

RK

Roman Kolesnev in pro.elixir
Roman Kolesnev
Написал им в поддержку, посмотрю что ответят))
Ответили - используй либы для OpenTelemetry))
источник
2020 November 13

AB

Alexey Bolshakov in pro.elixir
а вы знали, что Феникс написали в Сбере? )))
источник

DG

Dmitry Grach in pro.elixir
Alexey Bolshakov
а вы знали, что Феникс написали в Сбере? )))
кстати отличная книжка про всякий devops в виде художественного произведения
источник

AB

Alexey Bolshakov in pro.elixir
Dmitry Grach
кстати отличная книжка про всякий devops в виде художественного произведения
пятничка. тринадцатое. я немножечко шалю, шуткую
источник

V

V in pro.elixir
Котаны, кто может подсказать по RabbitMQ?
Наблюдаю такую картину (всего эрланговских процессов штук 40-50). Есть подозрение что это неоправданно много.
От чего зависит количество эрланговских процессов рэббита?
источник

AB

Alex Bubnov in pro.elixir
V
Котаны, кто может подсказать по RabbitMQ?
Наблюдаю такую картину (всего эрланговских процессов штук 40-50). Есть подозрение что это неоправданно много.
От чего зависит количество эрланговских процессов рэббита?
Это треды
источник

V

V in pro.elixir
Alex Bubnov
Это треды
Ок. Я решил что это процессы из-за разных пидов, но мог и ошибиться.
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Это треды
Ну тредов на одной ноде вроде по дефолту столько же сколько и параллельных потоков способен обработать процессор, разве нет?
источник