
Dmitry
23.01.2017
08:37:53

Константин
23.01.2017
08:38:01
Сборка пусть выполняется, а исходники запускают mix задачи
Так то да..

Ivan
23.01.2017
08:38:27
хммм, интересная мысль

Google

Ivan
23.01.2017
08:38:27
Есть одна известная тема - эти таски не работают в production
Поэтом если твой таск вызывает код проекта - то скорее всего он должен быть в проде, но его там не будет
похоже на правду
надо проверить

Dmitry
23.01.2017
08:40:04
Вообще таски идеальны для скаффолдинга, скорее всего их под феникс и делали
Правда есть ещё миграции...

vizvamitra
23.01.2017
09:31:12
ребят, нужна помощь. Я пытаюсь запустить релиз, сделанный с помощью distillery, на raspberry (Raspbian Jessie), и получаю ошибку on_load_function_failed,'Elixir.Comeonin.Bcrypt'.
Релиз делаю на другой машине, но erts в него пакую скомпиленный на raspberry.
нагуглил про очистку _build, грохнул _build/prod, перекомпилил всё, пересобрал релиз, всё равно не работает

Dmitry
23.01.2017
09:39:15
Bcrypt вроде бы компилируется из С исходников
И скорее всего он конечно же не кросскомпилируется

vizvamitra
23.01.2017
09:40:40
карамба!

Denis
23.01.2017
15:00:35
[last news]
Defql: SQL Queries as Elixir Functions

Google

Viza
23.01.2017
15:05:38
неплохо но сыровато
Ecto чет мне вообще не нравится
какие-то changeset's, change меняет ченжсет но возвращает не ченжсет, охуеть вообще

Ivan
23.01.2017
15:56:50
немного рановато, но похвастаюсь
https://github.com/zirkonit/duplex
смотрите, пробуйте, фидбечьте, ставьте звездочки =)

Taras ?
23.01.2017
20:14:21
однозначно лучше, чем то что было с mvc фреймворками и жикверей
лично мне это все выглядит так — одни челавеки напридумали фигни разной - одна похуже другой от других челавеков
а тут чулавеги--разрабы сами кушают эту редиску горькую, но хвалят ибо нехочцца показать себя дураком
(да, знаю что не всегда так, но мне так выглядит?)

Dmytro
23.01.2017
21:33:46
шо за хуйня несется? :)

Can
24.01.2017
07:34:04
Чой то было
Почему я снова join

Rustam
24.01.2017
07:34:21
ты выпиллился

Can
24.01.2017
07:34:29
Э

Rustam
24.01.2017
07:34:35
хотя не видно сообщений об этом
я тож удивился, чой-то ты снова join

Константин
24.01.2017
07:38:22
Это мистика
У нас 5 админов, вроде все адекватные
сомневаюсь, что тебя выкинули

Taras ?
24.01.2017
13:22:41
всем привет!

Dmytro
24.01.2017
13:24:16
✋

Google

Taras ?
24.01.2017
13:24:43
имеется феникс и следующий код —
params2 = Map.put(%{}, "lang", params["lang"])
params2 = Map.put(params2, "path", params_path)
params2 = Map.put(params2, "title", params["title"])
IO.inspect(params2)
вопрос к знатокам —
в каких случаях в консоли будет
%{"lang" => nil, "path" => nil, "title" => nil}
%{"lang" => "en", "path" => "0", "title" => "777"}
вот такой двойной вывод?
и почему?

Dmytro
24.01.2017
13:27:10
может вывод из двух потоков?)
https://medium.com/@diamondgfx/debugging-phoenix-with-iex-pry-5417256e1d11#.5rk4wnimw
не знаю, хороший ли это способ, но как по мне так удобнее проводить отладку

Taras ?
24.01.2017
13:30:03
дебаг дебага дебага ? благодарю, сейчас попробую

Ivan
24.01.2017
13:31:48
@Taras_Torous обрати внимание на разницу
iex(7)> IO.inspect(params2)
%{"lang" => nil, "path" => nil, "title" => nil}
%{"lang" => nil, "path" => nil, "title" => nil}
iex(8)> params2
%{"lang" => nil, "path" => nil, "title" => nil}
консоль всегда эвалит выражение, которое ты в нее даешь
в случае IO.inspect ты _и_ эвалишь значение, которое возвращает .inspect (а он возвращает params2), и еще и его печатаешь
поэтому двойная выдача

Taras ?
24.01.2017
13:34:21

Taras ?
24.01.2017
13:35:03
вопрос сейчас не только в том, почему два раза,
а также - почему в первый раз значения валит nil

Dmytro
24.01.2017
13:35:40
может у вас по коду два IO.inspect ?

Ivan
24.01.2017
13:36:19
а как хэш params наполняется?

Aldar
24.01.2017
13:36:30
Может лучше так не писать, а написать что-то типа
`params2 =
Map.put(%{}, ...} |>
Map.put(...)
...`

Ivan
24.01.2017
13:36:52
почему в первый раз валит nil? потому что на это время хэш пустой

Aldar
24.01.2017
13:39:43
в эрланге нельзя переменные перебиндить

Taras ?
24.01.2017
13:44:31

Google

Taras ?
24.01.2017
13:45:08
понять бы - почему
выполняется ведь по-строчно, первый раз такую фигню встретил

Viza
24.01.2017
13:46:20

Taras ?
24.01.2017
13:52:49
ЫЫЫ) называется — только скажешь кому-то что феникс хороший — а он сразу такой "ошибаешься, парниша..." ?
сраные фреймворки(((

Can
24.01.2017
14:02:09
Вообще это плохо ребиндить переменные

Admin
ERROR: S client not available

Taras ?
24.01.2017
14:17:18
как вернуть с функции чейнджсета что-то еще, кроме самого чейнджсета?
почему функция Ecto.Changeset.do_cast принимает в себя то что функция чейнджсета возвращает?
ни добавить ни отнять — фигня феникс в моих кривых клешнях мл...(((

Can
24.01.2017
14:25:10
Ну я слышал, что нежелательно
Мне кстати интересно
как это устроено
при сборке в тру эрланг

Taras ?
24.01.2017
14:36:21
еще вопрос —
%{changeset | action: :insert}
Map.put(changeset, :action, :insert)
какая с этих строчек хуже/лучше и почему?
в чем разница между ними?

Alex
24.01.2017
15:11:03
https://soundcloud.com/beameaters/6episode
Новый выпуск подскаста с кучей шуток (есть даже пара смешных)

Alexey
24.01.2017
15:20:23
@Taras_Torous "|" проверит есть ли ключ в мапе и если нет не станет добавлять. Map.put добавит даже если такого ключа нет

Taras ?
24.01.2017
15:22:34
понял, благодарямс

Igor
24.01.2017
16:07:09
А в чем проблема использовать Map.take?

Google

Rafkat
24.01.2017
16:08:15

Igor
24.01.2017
16:08:42
params2 = Map.take(params, ["blabla", "foobar"])
имеется феникс и следующий код —
params2 = Map.put(%{}, "lang", params["lang"])
params2 = Map.put(params2, "path", params_path)
params2 = Map.put(params2, "title", params["title"])
IO.inspect(params2)
вопрос к знатокам —
в каких случаях в консоли будет
%{"lang" => nil, "path" => nil, "title" => nil}
%{"lang" => "en", "path" => "0", "title" => "777"}
вот такой двойной вывод?
Вверх
m = %{a: 1, b: 2, c: 3, d: 4, e: 5}
Map.split(m, [:b, :d])
# %{b: 2, d: 4}
Map.split(m, [])
# %{}


Taras ?
24.01.2017
16:31:27
я добавляю там а не извлекаю
path = params["path"]
IO.inspect(path)
changeset = case path do
nil -> changeset
"0" -> changeset
_ ->
path0 = String.split(path, "_")
IO.inspect(path0)
[path_id|tail] = path0
[path_lang|_] = tail
#Ecto.Changeset.change(changeset, valid?: :false)
change(changeset, Map.put(changeset.changes, :path, path_id))
|> change(Map.put(changeset.changes, :lang, path_lang))
end
вивод получается в консоль такой
nil
"0.2_en"
["0.2", "en"]
но в базу вставляется не то... ааа(( если в case в нужную ветку вошло — почему в базу не то значение залетает?
начинаю понимать Александра, начинаю задумываться о том чтобы выбросить феникс...

Евгений
24.01.2017
17:17:52
а что должно вставиться?

Taras ?
24.01.2017
17:37:32
change(changeset, Map.put(changeset.changes, :path, path_id))
|> change(Map.put(changeset.changes, :lang, path_lang))
вот— часть, которая чуть выше "достается"
path0 = String.split(path, "_")
IO.inspect(path0)
[path_id|tail] = path0
[path_lang|_] = tail

Viza
24.01.2017
18:55:32
change(changeset, Map.put(changeset.changes, :path, path_id))
а это что вообще такое?
change(changeset, path: path_id) так же надо, не?
что вообще этот код делает?
цель какая?

Aldar
24.01.2017
19:00:22
changeset он нужен только чтобы данные валидировать и ошибки получить

Taras ?
24.01.2017
19:27:57
хорошо) будем надеяться что в следующей версии эта вся хрень подправится разработчиками, включая глюки компиляции
а пока остается дальше разбираться с N2O
по сути получается что Сохацкий "изобрел свой elm" еще до появления такового?
или там такая фича была еще от нитрогена?
changeset он нужен только чтобы данные валидировать и ошибки получить
это все извращения какие-то непонятные...
я вроде не на всю голову последний дурак — но уже который раз над какой-то такой мелочной фигней в фениксе просыраю день за днем, ужас
почитал статью как на плагах лепить свой фреймворк — понял что только время зря теряю с фениксом...
начинаю понимать почему Сохацкий время от времени всех е**натами называет))
начали за здравие — а кончили за упокой —
уже одно то что фениксовые шаблоны рандомные ошибки бросают... ай, чего тут говорить((

Marat
24.01.2017
19:36:27

Taras ?
24.01.2017
19:37:15
? да вроде в одном проекте в одном месте работает — а копируешь в другой проект — не работает... фффууу феникс((