@proelixir

Страница 723 из 1045
Alexander
16.09.2017
12:24:23
Dmitry
16.09.2017
12:24:30
https://habrahabr.ru/post/309382/

Alexander
16.09.2017
12:24:53
я читал статью от Валима, как он это делает )

из первых рук так сказать

Google
Alexander
16.09.2017
12:25:22
раньше там был пиздец, по сути весь язык был надстройкой с прослойкой для эрланга

сейчас в чистую сразу в эрланг

Dmitry
16.09.2017
12:25:40
Ну, это не так уж и плохо

Если каченственно транспайлится

Alexander
16.09.2017
12:26:19
плохо, что кажую версию эрланга пришлось бы отдельно адоптить

illiatshurotshka❄️
16.09.2017
12:26:20
а есть функция обратная Kernel.inspect?

Alexander
16.09.2017
12:27:45
а есть функция обратная Kernel.inspect?
т.е ты документ в структуру хочешь превратить?

illiatshurotshka❄️
16.09.2017
12:27:53
ага

но без эвалюации

Alexander
16.09.2017
12:28:07
как бы зная модуль, можно ему скормить результат inspect

Dmitry
16.09.2017
12:28:12
Есть

Code.eval_string

illiatshurotshka❄️
16.09.2017
12:29:29
это эвалюация

Google
Dmitry
16.09.2017
12:29:38
iex(3)> Kernel.inspect(%{foo: :bar}) |> Code.eval_string {%{foo: :bar}, []}

Что тебе не нравится - не могу понять)

illiatshurotshka❄️
16.09.2017
12:29:54
хотелось бы чтобы было безопасно

ну смотри

если эта функция увидит выражение которое можно выполнить то оно выполнится

Dmitry
16.09.2017
12:31:45
Тогда string_to_quoted

illiatshurotshka❄️
16.09.2017
12:36:35
это уже не изоморфизм

на твой пример %{foo: :bar} выдается {:%{}, [line: 1], [foo: :bar]}

Dmitry
16.09.2017
12:37:06
Ну правильно

Всё зависит от того что тебе

надо

А то у тебя сферический вопрос в вакууме

illiatshurotshka❄️
16.09.2017
12:41:11
надо чтобы value |> Kernel.inspect |> ??? было равно value, но без выполнения кода

Dmitry
16.09.2017
12:41:54
Как такое может быть, если в string есть код?

Если в value есть код - то он выполнится на этапе inspect

А если нету - то и после возврата не будет

Вот придумай мне кейс, где не сработает Code.eval_string

illiatshurotshka❄️
16.09.2017
12:44:22
он то везде сработает, но если вместо Kernel.inspect, например, будет ввод пользователя то это плохая идея

Dmitry
16.09.2017
12:45:10
Вот я и говорю, что твой вопрос - сферический в вакууме

illiatshurotshka❄️
16.09.2017
12:45:31
что это значит?

Google
Dmitry
16.09.2017
12:45:54
Это значит, что ты ещё задачу не придумал, а решение уже ищешь

А задачи нету такой

illiatshurotshka❄️
16.09.2017
12:46:17
есть

Dmitry
16.09.2017
12:46:23
Какой пользовательский ввод? Ты хочешь заставить пользователя вводить структуры эликсира?

illiatshurotshka❄️
16.09.2017
12:46:31
ага

Dmitry
16.09.2017
12:47:00
Ну так возьми жсон и пойзон

Как делают все нормальные люди

illiatshurotshka❄️
16.09.2017
12:47:30
но в json ведь невозможно выразить все структуры elixir

Nikolay
16.09.2017
13:14:51
@noma4i раз уж ты колдуешь с настройками, мб сразу сделать отдельные стейджы? классические test\prod\dev

ну и в мастер толкать некомельфо ?

Alexey
16.09.2017
14:09:38
https://elixirforum.com/uploads/default/original/2X/5/58786d8c955aaa5df2ebdb5a2c2790da5216b705.PNG

https://8thlight.com/blog/kofi-gumbs/2017/05/02/core-erlang.html

у меня тут недавно было сомнительное достижение. если скомпилировать миксом все elixir приложение, то его можно запустить через erl, если подсунуть в path все эликсировые апп зависимости. что, в общем-то, логично, ведь выполняется то уже байткод... но было интересно именно на практике это суметь

как то так было erl -pa . /usr/local/lib/elixir/lib/elixir/ebin /usr/local/lib/elixir/lib/logger

делал модуль эликсир Hello и фанка hello() в нем.вызов функции модуля из ерланга получается вот так: 'Elixir.Hello':hello().

о! это потому что: atom Module.concat(["ModuleName"]) ModuleName iex(1)> "ModuleName" |> String.to_atom() :ModuleName "Elixir.ModuleName" |> String.to_atom() ModuleName

Dmitry
16.09.2017
18:51:40
Дело известное, на всякий случай занеймспейсил

Anton
17.09.2017
10:37:28
Всем привет! Такой вопрос: Собираю проект Distillery - получаю архив для залития и распаковки с эрлангом внутри. Разрядность эрланга такая же как в месте сборки х64. Сервер надо запустить на х32. Как можно собрать проект на (Ubuntu x64) так чтобы он работал на х32 сервере?

Dmitry
17.09.2017
10:38:40
Надо билд сервер, который совпадает во всем с продом

Собирай проект на прод серваке

Google
Alex
17.09.2017
10:40:09
или докере?

Anton
17.09.2017
10:40:17
их много, и часть из них не имеет полного доступа в интернет, лишь некоторые проброшенные порты, и системы порезаны по утилитам

Dmitry
17.09.2017
10:40:30
Докер по разрядности совпадает с тачкой

Насколько я понимаю

Даже в вагранте нельзя разрядность поменять

Alex
17.09.2017
10:41:08
virtual box

Dmitry
17.09.2017
10:42:24
В вагранте пишут можно

Значит можно :)

Alex
17.09.2017
10:42:42
можно такую x32 ось поставить на Virtual Box и там все девелопить и собирать и c нее заливать на прод

Anton
17.09.2017
10:42:58
на сей момент мучаю докера на i386/ubuntu c целью создания релиза в нем, нет сборщика который собирает в проекте только исполняемые файлы без эрланга?

Dmitry
17.09.2017
10:42:59
А ещё можно выкинуть x32 сервер в 2017 году

Alex
17.09.2017
10:45:37
папку c проектом примонтировать к рабочему компу по ssh и можно с ней работать как с обычным проектом через любой IDE

а на Virtual Box через консоль запустить проект чтобы там live reload-илось все

Anton
17.09.2017
11:38:14
Есть еще одна беда. После изменения версии эликсира перестал собираться проект, отваливается с ошибкой: https://pastebin.com/kLt1BKWk не может откомпилировать rabbit_common

в интернете пока по данному поводу ничего не нашел

Kioshimafx
17.09.2017
11:49:08
А что за версия?

Выше 1.4.5 пока лучше не апать

Alex
17.09.2017
12:00:16
Есть еще одна беда. После изменения версии эликсира перестал собираться проект, отваливается с ошибкой: https://pastebin.com/kLt1BKWk не может откомпилировать rabbit_common
новая версия Elixir тянет новый Erlang, который, в свою очередь, собирается под GNU Make 4. Тебе надо обновить make до GNU Make 4.

набери make —version что показывает?

Erlang.mk requires GNU Make to be installed. While it will currently work with GNU Make 3.81, support for this version is deprecated and will be removed in 2017. We recommend GNU Make 4.1 or later.

Google
Anton
17.09.2017
12:03:11
вурсия была 1.5.1, заменил на 1.4.5 и поменял erlang-base на esl-erlang - всё собралось, спасибо)

Alex
17.09.2017
12:03:46
http://blog.csdn.net/jom_ch/article/details/76268717

Anton
17.09.2017
12:05:12
GNU Make 4.1

дело оказалось в esl-erlang

Alex
17.09.2017
12:10:48
ну или так)

Taras ?
17.09.2017
14:38:57
Removed msg from Егор Снеков. Reason: new user + link to @‌username

смотрю в другом чате бота уже сделали, такого как я размышлял

Rumata
17.09.2017
15:01:37
Пока в виларибе ещё пишут на элексире, в вилабадже уже все хуйнули на питоне

Поцаны идея для стартапа

Dmitry
17.09.2017
15:23:18
Тот бот не банит

Это значит что через пол года у тебя в группе будет 50% людей только

Не лучший по-моему сценарий работы

Так бы мы просто скопировали на эликсире:)

Alex
17.09.2017
15:33:05
тем более спамить могут начать выждав несколько дней

Anton
17.09.2017
15:37:36
или докере?
про сборку х32 версии, получилось наладить сборку внутри docker контейнера с i386/ubuntu в качестве базового образа. В докере собираем, а потом tar на целевой сервер

Buckler
18.09.2017
03:07:40
Hello, Buckler! Please, tell us: 31+53=... If you will not answer - you will be banned from the channel... Good luck!

Hello, Buckler! Please, tell us: 29+29=... If you will not answer - you will be banned from the channel... Good luck!

Alexander
18.09.2017
03:07:53
эээ

84

Страница 723 из 1045