Size: a a a

2020 January 27

AP

Andrey Pavlov in pro.elixir
Ну в том что если им так не нравится этот тип супервизора, то стоило пропушить изменения в otp, а не изобретать велосипед. Но я старый и вообще лудит, может я не понимаю этих молодых и модных
источник

AB

Alexey Bolshakov in pro.elixir
да. мы тут как-то обсуждали эту тему, про динамические супервизоры. но я так и не понял
источник
2020 January 28

АЮ

Андрей Юнми in pro.elixir
Lama Lover
Так вот кодогенерация клиента
def gen_client(address) do
 quote do
   defmodule Client do
     def call(login, password) do
       do_call(unquote(address), login, password)
     end
   end
 end
 |> Code.compile_quoted()
end
А эти скомпилированные модули можно потом будет почистить? Они же в памяти где-то валяются.
источник

IK

Ihor Katkov in pro.elixir
Андрей Юнми
А эти скомпилированные модули можно потом будет почистить? Они же в памяти где-то валяются.
Очень хороший поинт. Я бы перепроверил
источник

🇧S

🇧🇾 Eugene Sobolev in pro.elixir
Вот и я пришёл к эликсиру
источник

LL

Lama Lover in pro.elixir
Андрей Юнми
А эти скомпилированные модули можно потом будет почистить? Они же в памяти где-то валяются.
Я точно знаю, что можно будет скомпилировать пустой модуль, который заменит старый. Сейчас почитаю доки, может найду как просто удалить модуль
источник

ŹR

Źmićer Rubinštejn in pro.elixir
:code.delete; :code.purge
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вероятность что я бы оторвал руки за такой код стремится к 1
источник

VS

Vladimir Sekisov in pro.elixir
почему?
Если я компилирую скрипт
конфигурации, написанный
на DSL, и подгружаю его
вместо дефолтного, то
delete и purge,как иначе?
Не eval же использовать.
источник

AB

Alexey Bolshakov in pro.elixir
🇧🇾 Eugene Sobolev
Вот и я пришёл к эликсиру
велком! )
источник

🇧S

🇧🇾 Eugene Sobolev in pro.elixir
Alexey Bolshakov
велком! )
😊👋
источник

LL

Lama Lover in pro.elixir
Vladimir Sekisov
почему?
Если я компилирую скрипт
конфигурации, написанный
на DSL, и подгружаю его
вместо дефолтного, то
delete и purge,как иначе?
Не eval же использовать.
Вот два решения:
1. Можно сливать конфиги
2. Можно сделать unrequire_files (вроде так)
источник

VS

Vladimir Sekisov in pro.elixir
Lama Lover
Вот два решения:
1. Можно сливать конфиги
2. Можно сделать unrequire_files (вроде так)
если конфиг у меня -
правила ABAC, то я могу
их только интепретировать,
что eval и долго или компилировать в модуль.
И почему я не могу пользоваться тем, чем пользуется апгрейд релиза?
источник

LL

Lama Lover in pro.elixir
Vladimir Sekisov
если конфиг у меня -
правила ABAC, то я могу
их только интепретировать,
что eval и долго или компилировать в модуль.
И почему я не могу пользоваться тем, чем пользуется апгрейд релиза?
если конфиг у меня -
правила ABAC, то я могу
их только интепретировать,
что eval и долго или компилировать в модуль.
Это я понял

А вот зачем удалять старые конфиги - не понял
источник

VS

Vladimir Sekisov in pro.elixir
стандартный способ замены
модуля code:delete, code:purge, load module
источник

LL

Lama Lover in pro.elixir
Vladimir Sekisov
стандартный способ замены
модуля code:delete, code:purge, load module
Или можно сразу
iex(1)> quote do
...(1)>   defmodule X do
...(1)>     def f, do: 1
...(1)>   end
...(1)> end |> Code.compile_quoted
---
iex(2)> X.f
1
iex(3)> quote do
...(3)>   defmodule X do
...(3)>     def f, do: 2
...(3)>   end
...(3)> end |> Code.compile_quoted
warning: redefining module X (current version defined in memory)
 nofile
---
iex(4)> X.f
2
источник

LL

Lama Lover in pro.elixir
Vladimir Sekisov
стандартный способ замены
модуля code:delete, code:purge, load module
Видимо так в erlang делается. Я точно знаю что в elixir можно сразу перекомпиливать модуль, без предварительного удаления
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Есть одно решение, которое называется persistant_term
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Все остальные решения - это гонка тур-де-франс на костылях
источник

VS

Viacheslav Shevchenko in pro.elixir
в ерланге тоже можно перекомпилить и подгрузить без удаления старого
источник