Size: a a a

2020 May 26

S

Solopa in pro.elixir
Спасибо) запихнул все из атрибутов модуля в функции - проблема ушла
источник

AB

Alex Bubnov in pro.elixir
Solopa
Ребята, кто имел дело с релизами в доккере? никак не могу понять как мне прокинуть в приложение ENV переменные.
Сейчас у меня есть они на момент сборки релиза(mix release) в контейнере, и в файле releases.exs:

config :my_app, :config,
 option_a: System.fetch_env!("OPTION_A"),


потом я в файле достаю этот конфиг:

 @option_a Application.get_env(:my_app, :config)[:option_a]

и он(@option_a) оказывается пустой когда приложение уже запущено
а можно поинтересоваться, откуда вообще вот этот подход с get_env в атрибут, где ты это нашел?
источник

AB

Alex Bubnov in pro.elixir
просто эта зараза откуда-то ползет, и этот источник нужно уже ликвидировать
источник

P

Pavel in pro.elixir
Alex Bubnov
а можно поинтересоваться, откуда вообще вот этот подход с get_env в атрибут, где ты это нашел?
Ну может ему надо получить "статичный" конфиг службы, который не будет меняться (но ты хочешь поменять его к примеру в тестах)
источник

AB

Alex Bubnov in pro.elixir
Pavel
Ну может ему надо получить "статичный" конфиг службы, который не будет меняться (но ты хочешь поменять его к примеру в тестах)
В вопросе отчётливо написано про env и release.exs. И паттерн этот всё равно нужно искоренять, потому что нужно, от него только ошибки и непонимание.
источник

AB

Alex Bubnov in pro.elixir
Вообще, атрибуты в нормальном коде приложения, не внутри макросов, встречаться не должны. Они бесполезные и вредные
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
В вопросе отчётливо написано про env и release.exs. И паттерн этот всё равно нужно искоренять, потому что нужно, от него только ошибки и непонимание.
Я когда только начинал программировать на эликсире часто так делал и нигде это не подсматривал. Это какое-то естественное желание иметь глобальную переменную чтобы не вызывать функцию каждый раз
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Я когда только начинал программировать на эликсире часто так делал и нигде это не подсматривал. Это какое-то естественное желание иметь глобальную переменную чтобы не вызывать функцию каждый раз
Гм. А ты до этого на эрланге не писал?
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Гм. А ты до этого на эрланге не писал?
Что?
источник

AB

Alex Bubnov in pro.elixir
Ну, до того как начать на эликсире.
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Ну, до того как начать на эликсире.
Не-а
источник

LL

Lama Lover in pro.elixir
Я даже не знаю из какого языка я пришёл в elixir...
Работал я только на пайтон (так порешал рыночек), а дома были и racket и c + m4 и yasm
источник

AB

Alex Bubnov in pro.elixir
Понятно. Когда приходишь из эрланга атрибуты вызывают достаточно подозрений, чтобы разобраться, как они вообще работают.
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Понятно. Когда приходишь из эрланга атрибуты вызывают достаточно подозрений, чтобы разобраться, как они вообще работают.
Ну, те кто приходят из интерпретируемых языков, неправильно пользуются аттрибутами. Те кто из компилируемых - правильно
источник

LL

Lama Lover in pro.elixir
Потому что когда всё что у тебя есть - это рантайм, то не нужно думать что там когда создаётся
источник

AK

Alexander Kladov in pro.elixir
Alex Bubnov
Вообще, атрибуты в нормальном коде приложения, не внутри макросов, встречаться не должны. Они бесполезные и вредные
почему? я думал это что-то вроде приватной константы для модуля
источник

AB

Alex Bubnov in pro.elixir
Короче, я даже не знаю. В официальный туториал, чтоли, предложить
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
Короче, я даже не знаю. В официальный туториал, чтоли, предложить
Да, я думаю надо в elixir forum тред поднять
источник

LL

Lama Lover in pro.elixir
Alexander Kladov
почему? я думал это что-то вроде приватной константы для модуля
Которую можно задать только во время компиляции - а это важный момент
источник

AK

Alexander Kladov in pro.elixir
Lama Lover
Которую можно задать только во время компиляции - а это важный момент
да, я именно про этот вариант. почему в таком исполнении он не должен встречаться?
источник