
Marat
24.01.2017
19:39:31
https://hexdocs.pm/ecto/Ecto.Changeset.html#put_change/3
Не вот этот метод нужен?

Taras ?
24.01.2017
19:40:38
может) благодарю, завтра посмотрю

Alexey
24.01.2017
19:41:26
@Taras_Torous это не извращения, а принципы построения приложений на фениксе. Менять что-либо в changeset'е не относящееся к changeset'у это не правильно и ломает логику. Другие разрабы придя в твой код ничего не поймут, если ты не соблюдаешь соглашения

Google

Taras ?
24.01.2017
19:42:56

abc
24.01.2017
19:54:54


vizvamitra
24.01.2017
20:31:49
такой вопрос: у меня phoenix стоит за nginx, а nginx принимает соединения по https. Я хочу, чтобы в email-ах от coherence подставлялась ссылка вида https://my_domain.com, но никак не могу этого добиться. Конфиг сейчас выглядит так:
config :my_app, MyApp.Endpoint,
http: [port: {:system, "PORT"}],
url: [host: "my_domain.com", port: 443],
# ...
но ссылка приходит вида my_domain.com:443/confirmations/sujhghp...
Я так понимаю, что если добавлю опцию https: [port: ...] в конфиг то это сработает, но https у меня расшифровывает nginx и вроде как нету смысла


Can
24.01.2017
20:40:37
n2o кал тот еще)) имхо проще просто ковбой юзать или trot если роуты нужны а дальше уже самому все.
хорошо) будем надеяться что в следующей версии эта вся хрень подправится разработчиками, включая глюки компиляции
а пока остается дальше разбираться с N2O
по сути получается что Сохацкий "изобрел свой elm" еще до появления такового?
или там такая фича была еще от нитрогена?
такой вопрос: у меня phoenix стоит за nginx, а nginx принимает соединения по https. Я хочу, чтобы в email-ах от coherence подставлялась ссылка вида https://my_domain.com, но никак не могу этого добиться. Конфиг сейчас выглядит так:
config :my_app, MyApp.Endpoint,
http: [port: {:system, "PORT"}],
url: [host: "my_domain.com", port: 443],
# ...
но ссылка приходит вида my_domain.com:443/confirmations/sujhghp...
Я так понимаю, что если добавлю опцию https: [port: ...] в конфиг то это сработает, но https у меня расшифровывает nginx и вроде как нету смысла
тебе нужно редактировать шаблон емейла внутри coherence где-то. Ведь по факту шаблон всегда есть, просто в нем наверное написано брать из настроек хост и порт. А тебе надо еще https туда дописать


vizvamitra
24.01.2017
20:44:36
Вот за что я не люблю излишнюю магию. Сделали бы отдельную настройку для url-ов mailer-а и было бы проще..

Can
24.01.2017
20:45:04
никакой магии
ссылки в почте во всех языках в шаблоне указываются
ну во всех либах всмысле
там уж сам редактируй как хочешь

Google

vizvamitra
24.01.2017
20:53:00
в рельсах домен указывается в конфиге, а force_ssl: true говорит подставлять в ссылки схему https. Мне кажется, что такие вещи не должны жить в шаблонах, их место в конфигах
или просто использование прокси перед erlang-приложением - не erlang way?
.

Alexander
25.01.2017
01:08:50
из новостей моего мелкого проектика, эволюция api: phoenix -> maru -> plug
все выкинули, просто plug - несказанно хорош
в ближайший месяц разродимся продакшном, расскажу что и как. Но коротко - питч был на основе эликсир аппа и клиенты от счастья кирпич высрали.
я потрахался в свое время с этим пакетом


Rustam
25.01.2017
06:11:41
Делаю упражнения из книги Little Ellixir and OTP
так есть код
def loop do
receive do
{sender_pid, location} ->
send(sender_pid, {:ok, temperature_of(location)})
_ ->
send(sender_pid, "Unknown message")
end
loop
end
При попытке компиляции iex -S mix выдает ошибку ** (CompileError) lib/worker.ex:8: undefined function sender_pid/0
Я не понял где мне определять эту функцию

Александр
25.01.2017
06:21:08
в первом случае ты ожидаешь увидеть pid первым параметром посылаемого сообщения, соответственно шлёшь ответ на него
во втором случае ты говоришь что на любой запрос надо слать "Unknown message", но не говоришь откуда этот sender_pid взять
в общем pid ты должен слать извне,
в первом случае ты его матчишь на sender_pid
во втором никуда не матчишь, вот он и орёт

Rustam
25.01.2017
06:26:51
Спасибо за разъяснение.
Мне кажется, в книге ошибка, потому что в первом варианте этого метода было так
def loop do
receive do
{sender_pid, location} ->
send(sender_pid, {:ok, temperature_of(location)})
_ ->
IO.puts "don't know how to process this message"
end
loop
end

Александр
25.01.2017
06:30:02
ну в последнем варианте sender_pid и не используется, он просто выводит строку
sender_pid - это не конструкция языка

Rustam
25.01.2017
06:31:06
Да, это было в листинге, а потом через три страницы при разъяснении появилось
_ ->
send(sender_pid, "Unknown message")
И не объяснено почему это так

Александр
25.01.2017
06:31:15
можно в первом маппинге написать
{s_pid, location} -> send(s_pid, ...
и будет работать
ты сам выбираешь как значение которое приходит в recevie деструктурировать
http://elixir-lang.org/getting-started/pattern-matching.html
вот тут про паттерн матчинг, только мало почему-то
мне понравилась книга http://learnyousomeerlang.com/syntax-in-functions#pattern-matching
она небольшая с картинками и всё хорошо и качественно описано
рекомендую про паттерн матчинг и receive там почитать

Google

Александр
25.01.2017
06:35:49
кстати, в crash course минимальный пример использования receive:
http://elixir-lang.org/crash-course.html#sending-and-receiving-messages
без лишних биндингов

Rustam
25.01.2017
06:51:19
Спасибо большое за ресурсы. Паттерн мэтчинг реально взрявает мозг

Can
25.01.2017
08:34:41
Ну все верно, ошибка да, у тебя во втором clause нету матчинга на server_pid, поэтому а потом он же отсылается.
Делаю упражнения из книги Little Ellixir and OTP
так есть код
def loop do
receive do
{sender_pid, location} ->
send(sender_pid, {:ok, temperature_of(location)})
_ ->
send(sender_pid, "Unknown message")
end
loop
end
При попытке компиляции iex -S mix выдает ошибку ** (CompileError) lib/worker.ex:8: undefined function sender_pid/0
Я не понял где мне определять эту функцию
т.е. у тебя матчинг на _ а потом сервер пид используется
вот и ошибка)

Илья
25.01.2017
08:38:49
Ребят, подскажите интересный момент.
phoenix пишет примерно следующее - [info] Sent 200 in 207µs
откуда он берет данное значение и что оно значит если по факту TTFB ~15мс

Can
25.01.2017
08:43:43
это скорее всего время затраченное на колбэк
ну на выполнение функции от момента получения данных до момента отправки
у тебя по факту с задержками сети

Илья
25.01.2017
08:45:15
это с локального компа - по идее задержки стремятся к 0

Andrey
25.01.2017
08:47:16
µs — это микросекунды
видимо, это время, за которое он успел обработать запрос и сформировать ответ

ⰿⰰⰾⱏ
25.01.2017
09:04:02

Илья
25.01.2017
09:05:20
Хром и курл
Один результат

Александр
25.01.2017
09:07:02
локально или через интернет?
я локально гонял феникс, он соразмерно с цифрами что отчитывается скорость показал

Google

Евгений
25.01.2017
09:08:09

Denis
25.01.2017
09:08:50
В 2017 редакции пример выше работает исправно

Илья
25.01.2017
09:08:57
локально. в том то и суть. натолкнулся на статью с логом - смотрю, что скорости просто сказка.
запускаю локально - по логам очень круто а при запросах совсем другое показывает.
без цели холивара, но рельса в таких же условях выдает на 4-6мс быстрее

Denis
25.01.2017
09:09:20
И если посыпались такие вопросы

Admin
ERROR: S client not available

Denis
25.01.2017
09:09:26
То это книга плохой вариант
В programing elixir 1.3 автор делает упор на мощную основу , и пытается заставить думать в ФП стиле
OTP book выше уровнем

Александр
25.01.2017
09:11:26
у меня получалось в сравнении с рельсами в 10 раз больше производительности у эликсира, а в продакшне в 60 раз
простое JSON апи

Илья
25.01.2017
09:23:34

Alexander
25.01.2017
11:26:10
Что случилось?
Откуда свежего мяса принесло?

Евгений
25.01.2017
11:26:58
наверное опять какой-то js fatigue случился

Alexander
25.01.2017
11:27:07
Ну у нас тут не лучше
Хотя всегда приятно что народ заходит
Мне тут наклейки эликсировые от платформатек пришли. Но такое плохое качество, стыдно на ноут клеить

Евгений
25.01.2017
11:28:31
повод перейти на гошечку

Alexander
25.01.2017
11:29:13
Гошечка хорош но для текущих задач api между клиентом и эластиком, эликсир крайне хорош
Да и я тут по расту пытаюсь упарываться

Google

Alexander
25.01.2017
11:29:47
Очень тяжко, но пытаюсь
Есть ощущение что раст не выживет

Can
25.01.2017
11:31:01
Блин хочу наклейки

Alexander
25.01.2017
11:31:29
Мне одну на эликсир кэмпе дали, очень хорошего качества
Надо таких же сделать
Цена около 5 баксов за сотню

Rumata
25.01.2017
11:32:14
Тру чехол

Alexander
25.01.2017
11:37:55
опчму?
Мертвое комьюнити. Прямо мертвен некуда. Скудные доки.
Эликсир прямо живее всех живых на этом фоне

Rumata
25.01.2017
11:38:32
блядь вот знаешь что мне непонятно
там ведь у них клабник есть он только доками занимается
ну и контора стоит все таки за языком