
Taras ?
01.02.2017
13:20:27
iex(1)> EEx.eval_string "Hi, <%= @name %>", assigns: [name: "Test"]
"Hi, Test"
и
iex(2)> EEx.eval_string "Hi, <%= name %>", [name: "Test"]
"Hi, Test"
в чем вся соль @variable? в чем разница?

Rustam
01.02.2017
13:24:04
Я видел в книже по фениксу, что можно задать в роуте :name и при преходе по сслыке типа example/user/name он тебе вернет Hi, name!

Alexander
01.02.2017
13:25:54

Rustam
01.02.2017
13:26:11
Ща в личку пришлю

Google

Victor
01.02.2017
13:26:38
я кстати тоже про @ var не очень понял. Вроде это аттрибут модуля, а тут они в каждом запросе меняются

Taras ?
01.02.2017
13:43:19

Rustam
01.02.2017
13:43:42
Тогла я хз

Taras ?
01.02.2017
13:47:48
https://github.com/221V/iexfly/blob/master/lib/iexfly_router.ex#L129
типу вот таких две фигнюшки, и в первый шаблон — передавать функцию второго, да?
или это криво? как ровнее делают?
и еще вопрос — действительно ли
"Hi, #{test}"
работает чуточку быстрей чем
"Hi, " <> test
?
правда во втором варианте если клеить не строку а инт — то обвалится, а первый вариант - подставится спокойно

Daniil
01.02.2017
13:52:31
Я бренчмарки когда запусткал второй вариант был гораздо быстрей
но там на миллионах строк 1 сек

Taras ?
01.02.2017
13:54:26
понял) благодарю

Nomaniba
01.02.2017
20:22:03
такс, алхимики, жарптица рипнулась , что ли? ласт коммит летом..

Dmitry
01.02.2017
20:29:22

Google

Nomaniba
01.02.2017
20:31:03
я в форк посмотрел , там ласт коммит от лета, сорян
в тру репе ласт коммит 5 дней назад от валима

Can
01.02.2017
20:33:23
вот хейтеры ппц
я в ахуе)
жарптица нужна чтобы комьюнити образовалось
куче народу проще въебать костыль
чем писать с нуля что-то
радуйтесь
из за нее эликсиром все эти люди занимаются
и библиотеки пишут
и лучше ее развивать
и лелеять
чем хейтерить

Alexander
01.02.2017
21:22:14

Maximus
01.02.2017
21:55:19
Здравствуйте, нет разницы на Windows or Linux работать с elixir/Phoenix? На чем лучше?

Denis
01.02.2017
21:56:31
А на лине вообще работали?

Maximus
01.02.2017
21:58:57
Да, на лине (mint) руби/рельсы установлены.

Denis
01.02.2017
22:04:12
Хз как работа именно с фениксом на окнах
Но во всем остальном точно лютая боль

Dmitry
01.02.2017
22:05:12
Лучше на линукс
Делать все кроме крусиса

Google

Dmitry
01.02.2017
22:06:21
Эрланг не билдит на винде половину либ сишных без танцев с бубнами
Вроде установки Visual Studio Ultimate

Denis
01.02.2017
22:06:42
Сервера все на лине, если делается под вин все пути там \ их нужно конвертировать в / через стандартную либу это раз
Помимо остального нужен нормальный баш это два
Под Винду есть не все инструменты и как правило все заточено под линь, потом портят на окна но с проблемами

Taras ?
01.02.2017
22:07:53

Maximus
01.02.2017
22:19:00
Понял, спасибо. Поставлю на минт.

abc
01.02.2017
22:32:41
Странный вопрос. По мне дак разработка на винде не имеет смысла вообще, если у вас конечно не весь стэк от Майкрософт. В остальном Ubuntu / Mac OS решает

Alexander
01.02.2017
23:58:12
тут font-awesome решили все на эликсире делать
взяли феникс и охуели
https://www.pivotaltracker.com/blog/Elm-pivotal-tracker/
элм в проде в Pivotalе

Константин
02.02.2017
01:33:30
Обсудили эту тему уже, но вот это мнение мне показалось очень удачным

Константин
02.02.2017
01:33:30
На волне всеобщего увлечения devops'изацией, в куче компаний решили что админы не нужны, и управлением серверами могут заниматься сами разработчики. Могут, но неплохо бы думать научиться, чтобы небыло как с GitLab: один разработчик случайно удаляет продакшн базу данных, перепутав сервера. И тут выясняется, что бэкапы есть, но восстановить из них ничего нельзя. В общем поучительная история. https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCxIABGiryG7_z_6jHdVik/pub

Alexander
02.02.2017
01:38:54
Грань между админом и программистом стерлась. Здесь же обосрались тк девопсом не занимался отдельный человек.
С таким же успехом базу мог удалить и админ

Константин
02.02.2017
01:42:41
Вчера столкнулся с тем, что на собеседовании PHP арограммиста было много вопросов по знанию Mysql, Linux, работы процессов. По PHP как таковому было только 3 вопроса на регулярки и знание функции
Из около 30 вопросов

Alexander
02.02.2017
01:43:27
Программист современного мира должен уметь полный цикл жизни приложения

Rustam
02.02.2017
09:43:25
А кто нибудь пользовался https://wire.com/
Хочу попробовать уболтать начальство перейти на него вместо скайпа.

Taras ?
02.02.2017
09:44:28
https://zoom.us/ пользуемся

Google

عاصم بن حارث
02.02.2017
09:45:28
@rust1ck Если аргументируешь начальству необходимость перехода... В ином случае начальсто отфутболит :)

Rustam
02.02.2017
09:46:10
да заебал этот скайп. он глючный
я подумаю над грамотными аргументами

عاصم بن حارث
02.02.2017
09:47:28
@rust1ck Хммм... Ну, так спасибо новым владельцам скайпа... Так "убить" программу могут только ребята из мелкософта.

Dmitry
02.02.2017
09:50:27
Лучше давайте обсудим как такое сделать на эликсире

Rafkat
02.02.2017
09:51:03
Zoom.us еще юзают люди

Admin
ERROR: S client not available

Rafkat
02.02.2017
09:51:40
exvideo какой-нибудь

Nikita
02.02.2017
09:53:11

Marat
02.02.2017
09:54:50

Константин
02.02.2017
12:48:51
А Hangouts не подходит?

Yaroslav
02.02.2017
13:47:31
def call(conn, opts \\ %{}) do
if etag_fields = get_req_header(conn, "if-none-match") do
case Cache.get("json_etag") do
{:found, etag} ->
if etag in etag_fields do
conn
|> send_resp(304, "")
|> halt
else
conn
end
{:not_found} ->
conn
end
else
conn
end
end
Что-то не могу сообразить как отрефакторить, чтобы избавиться от болтающихся внизу conn

Taras ?
02.02.2017
14:00:49
вопрос насчет части
def call(conn, opts \\ %{}) do
if etag_fields = get_req_header(conn, "if-none-match") do
— откуда берется etag_fields ?
и что такое get_req_header ? функция с какого модуля?
я конешн краб, но имхо код неочевидный — ничего подсказать не могу
разве что заменить первый if на case — так читабельней (как мне кажется)

Yaroslav
02.02.2017
14:11:44
Это из plug.conn
Тупо проверка на наличие etag в http запросе

Taras ?
02.02.2017
14:17:52
def call(conn, opts \\ %{}) do
etag_fields = get_req_header(conn, "if-none-match")
cond do
etag_fields == true ->
case Cache.get("json_etag") do
{:found, etag} ->
if etag in etag_fields do
conn
|> send_resp(304, "")
|> halt
else
conn
end
{:not_found} ->
conn
end
true ->
conn
end
end
возможно я написал бы это как-то так
кстати если написать так —-
def call(conn, opts \\ %{}) do
etag_fields = get_req_header(conn, "if-none-match")
if (etag_fields == true) and ({:found, etag} = Cache.get("json_etag")) and (etag in etag_fields) do
conn
|> send_resp(304, "")
|> halt
else
conn
end
end
оно работать будет?


Alexey
02.02.2017
14:21:30
def call(conn, opts \\ %{}) do
etag_fields = get_req_header(conn, "if-none-match")
_process_etag(Cache.get("json_etag"), conn, etag_fields)
end
defp _process_etag({:found, etag}, conn, etag_fields) do
if Enum.member?(etag_fields, json_etag) do
conn |> send_resp(304, "") |> halt
else
conn
end
end
defp _process_etag(_, conn, etag_fields) do
conn
end
что-то типа того
можно еще сократить

Google

Taras ?
02.02.2017
14:27:37
def call(conn, opts \\ %{}) do
etag_fields = get_req_header(conn, "if-none-match")
_process_etag(Cache.get("json_etag"), conn, etag_fields)
end
defp _process_etag({:found, etag}, conn, etag_fields) do
if Enum.member?(etag_fields, json_etag) do
conn |> send_resp(304, "") |> halt
else
conn
end
end
defp _process_etag(_, conn, etag_fields) do
conn
end
2ю и 3ю функцию местами поменять надо, ибо до 3й никогда не дойдет (если не ошибаюсь)

Alexey
02.02.2017
14:29:28
да, верно

Yaroslav
02.02.2017
14:43:18
Паттерн матчинг в функциях, ну конечно, как я про него забыл
Спасибо всем

Taras ?
02.02.2017
15:50:25
вопрос к гуру erlang-elixir —
вот так использовать erlydtl в elixir —
норм? или есть тут у меня какой подводный камень (или камни)?
http://f6.s.qip.ru/15iw6PWHQ.png
прописал вместо этого
:erlydtl.compile_file('lib/templates/dtl_1st.dtl', :dtl_1st, [])
вот это
:erlydtl.compile_file('lib/templates/dtl_1st.dtl', :dtl_1st, [{:out_dir, '../deps/erlydtl/ebin'}])
но все-равно beam не создается...
что-то я пишу не так, хоть и работает)))

Sergey
02.02.2017
16:40:47

Александр
02.02.2017
16:51:06
ну или можно написанием парсеров позаниматься, там тоже польская нотация используется повсеместно

عاصم بن حارث
02.02.2017
16:55:31
Sergey кЛАЖура, какй-то недоЛИСП ворочающийся под JVM. почитав SICP он станет адептом, вероятнее всего scheme (этакий диалект), но ни как не порочной кложи.

Rumata
02.02.2017
17:08:10
Вот прям щас
Лол
Говорят каждый инженер должен прочитать
Ну я пока не сильно удивлён
Я перед тем как Ее читать сел
Проебашил весь матан почти на кан академи
Деривативы там просто лафа

عاصم بن حارث
02.02.2017
17:13:40
@valdayka Знатная книжица. В свое время, я все примеры еще проштудировал...

Rumata
02.02.2017
17:13:48
Да я тоже решаю