
Dmitry
30.05.2016
11:02:42
@yaBloom конечно рассказывай!

Константин
30.05.2016
11:05:44
Я уже домой с работы поехал. Завтра утром все расскажу. И в процессе буду дописывать.

Nik
30.05.2016
15:30:27
ребят
а кто как деплоит?

Google

Nik
30.05.2016
15:31:08
я вот сейчас сел, дай думаю попробую собрать билд и на DO его начать крутить
и в итоге у меня возникает)
/home/app/erts-7.3/bin/erlexec: 1: /home/app/erts-7.3/bin/erlexec: Syntax error: word unexpected (expecting ")")
локально билд норм работает
че та не пойму где я накосячил)
нет :(
щас попробуем)
да билд собрал на убунте)
как-то мне было совсем не очевидно, что нужно собирать в том же энве, в котором крутить буш
теперь собрать, та собрал) ток нихера в nginx не получается пробросить) день мучений... вспоминаю как первые деплои рельсы проходили
забавная хрень, аппа скомпилилась, запустился процесс, но не доступна через порт
короч как всегда проблема была в том что я тупой. config :phoenix, :serve_endpoints, true

Константин
31.05.2016
01:54:06
А nginx просто как прокси на localhost:PORT настроил?
Самому хочется разобраться с деплоем))

Google

Константин
31.05.2016
01:54:44
И интересно тогда как будет происходить горячая замена кода
Туплю прям жесть.. как достать предпоследний элемент из массива?))
list[-2] выдает ошибку.. это не удивительно))
Мм.. нашел кажется
Enum.at/3

Can
31.05.2016
04:17:23
Edeliver
Он поверх exrm работает
Умеет хот своп делать
Кайфная вещь

Константин
31.05.2016
04:19:12
Это ты о чем?)

Can
31.05.2016
04:20:06
Самому хочется разобраться с деплоем))
И интересно тогда как будет происходить горячая замена кода

Константин
31.05.2016
04:24:42
Мм!!!
Отлично!! Гляну)) спс

Nik
31.05.2016
07:13:39
у меня проблема была именно с эликсиром
я конфиг не верно собрал и он на порт нифига не транслировал
даже не занимал порт)
соответственно nginx ничего не получал
может инструкцию зафигачить на русском.
для себя :D потому что по второму кругу теперь не так просто будет все повторить помоему

Google

Ваня
31.05.2016
07:55:00

Nik
31.05.2016
07:55:22
в выходной сяду еще одну аппу делпоить и соберу
потому что нужно по полочкам все расписать, а то щас могу лишних шагов нарисовать)
самое блин плохое, что написано что нельзя собирать на маке для убунты ток в одном мануале, и то не в самом начале. Для меня как для рубиста, это ну совершенно было не очевидно

Rafkat
31.05.2016
09:05:56
может сайт сделать
ру эликсир
исходники в гитхаб

Aldar
31.05.2016
09:07:00
На рельсах

Nik
31.05.2016
09:09:04
:D

Boris
31.05.2016
14:14:52
вообще тут то ведь все есть http://www.phoenixframework.org/docs/advanced-deployment

Константин
01.06.2016
03:41:05
Что-то я запутался совсем с областями видимости
base_links = []
Enum.each(Enum.take(pager_links, 2), fn(page) ->
base_links |> Enum.into(base_links(page))
IO.inspect base_links
end)
Постоянно выдает пустой массив, хотя base_links(page) выдает заполненный массив
Я просто хочу пройтись по массиву страниц, достать оттуда ссылки и записать в большой массив.
Подскажите как сделать))) что-то я не понимаю этого момента
Заработало через for
Но я тогда не понимаю смысла функции Enum.each/2

Can
01.06.2016
04:06:22
def each(enumerable, fun)
Invokes the given fun for each item in the enumerable.
Returns :ok.
Не предназначена для возвращения результата.

Константин
01.06.2016
04:07:29
Это то понятно, но как внутри использовать глобальные переменные?))

Google

Константин
01.06.2016
04:07:51
Там получается своя область видимости и даже в существующий массив не получается записать данные

Can
01.06.2016
04:08:02
какой-то неправильный подход

Константин
01.06.2016
04:08:17
Я понимаю, что надо мышление сменить)))
через for будет правильнее, так?)

Can
01.06.2016
04:08:44
если честно фор не пользовался ни разу))
есть enum.map - принимает массив и функцию, возращает массив, составленный из результатов выполнения функций

Константин
01.06.2016
04:09:11
Так я хочу пройтись по одному массиву, но изменять другой

Can
01.06.2016
04:09:11
есть enum.reduce - более гибкий вариант
в него передается enumerable, accumulator и лямбда от значения и аккумулятора
на выходе должна вернуть новое значение аккумулятора
вот ты свой другой массив через аккумулятор туда, например передаешь

Константин
01.06.2016
04:10:12
Точно
чет не подумал
hotel_links = for page <- pager_links do
hotel_links(page)
end |> List.flatten
Вот так у меня работает
Получается большой массив ссылок

Can
01.06.2016
04:12:02
ну тоже вариант
а я не пойму, у тебя массив и функция есть с именем hotel_links?

Константин
01.06.2016
04:12:31
ага

Can
01.06.2016
04:12:47
а люди так делают?

Google

Константин
01.06.2016
04:12:53
)))) хаха

Can
01.06.2016
04:13:10
прост в эликсире можно вызывать функции без скобок
и если написать

Константин
01.06.2016
04:13:17
это я издеваюсь над эликсиром..
смотрю что он умеет

Can
01.06.2016
04:13:32
hotel_links = for page <- pager_links do
hotel_links page
end |> List.flatten
то как бы ваще неясно становится что происходит)

Константин
01.06.2016
04:13:52
Я так понимаю, что он сперва ищет переменную, а если её нет - вызывает функцию
если явно поставлены скобки или переданы параметры - он вызывает функцию сразу
нука я попробую твой код
без скобок
без скобок не работает
гоню
инспект удалил же
Да, работает без скобок