@proelixir

Страница 544 из 1045
Dmitry
25.04.2017
06:34:59
А рэльсах

Maxim
25.04.2017
06:35:04
ага

в рельсах вообще все вызовы из шаблонов

Dmitry
25.04.2017
06:36:12
Ну, если сделать to_list - то моно до шаблона

Google
Евгений
25.04.2017
06:36:13
там вызовы хоть от куда)

Maxim
25.04.2017
06:36:26
Max
25.04.2017
07:28:34
доказать

охуеть

у кого-то синдром вахтёра

и тесты ещё

Maxim
25.04.2017
07:35:48
ужасная идея для канала, лол

Dmitry
25.04.2017
07:37:25
Можно считать это спамом?

Maxim
25.04.2017
07:39:06
разумеется

вообще, конечно, стремно выглядит

как будто ты себе проститутку снимаешь

не в обиду чувакам, которые там есть

Dmitry
25.04.2017
07:39:38
Google
Dmitry
25.04.2017
07:40:26
К вашим услугам профессиональные девочки. Для публикации необходимо доказать портфолио и пройти тесты с админом канала

Max
25.04.2017
07:40:41
глубокие тесты

широкое покрытие

Maxim
25.04.2017
07:41:07
глубокие тесты
вскрикнул

Rumata
25.04.2017
07:49:49
Индивидуальный подход

Салам пацанам

Ilnur
25.04.2017
08:14:54
на неудачную попытку логина каким кодом отвечать, 401 ии 422?

вроде 422 подходит, т.к. идет пост запрос на ресурс sessions, можно считать, что просто была передана невалидная сущность

Mark
25.04.2017
08:19:03
401 тоже подходит

Dmitry
25.04.2017
08:20:14
422 не подходит

422 вообще нету в спецификации

Если рассматривать сессию как ресурс - подходит 404

Но его никто не использует

401 обычно

Ilnur
25.04.2017
08:24:52
м, 401 тогда поставлю

422 вообще нету в спецификации
вспомнилась песенка "жопа есть, а слова нет"

https://www.youtube.com/watch?v=4_DPaLm0ddU

422 вообще нету в спецификации
а чем отвечать на ошибки валидации?

Dmitry
25.04.2017
08:27:27
Bad request

422 это WebDAV на сколько я знаю

Google
Dmitry
25.04.2017
08:29:32
Я обычно делаю очень просто

Пишу with на все

А потом nil, [] - это 404

Changeset это 400

Если все норм 200

А 401 у меня естественно падает на плаге ещё до контроллера

А почему на логин можно отдавать 404 - ты как бы ищешь ресурс пользователя с такими логин и паролем и не находишь

Max
25.04.2017
08:31:45
Пишу with на все
о, а покажи как делаешь?

я с with особо не привык пока писать

так-то понимаю, для чего он, пару раз использовал

Marat
25.04.2017
08:33:09
422 это WebDAV на сколько я знаю
Ну появилось там, но использовать никто не мешает как бы

Dmitry
25.04.2017
08:34:51
def generate_login_otp(conn, _params) do with [user_mob] <- Plug.Conn.get_req_header(conn, "mobile"), %User{uid: uid} <- Repo.one(User.by_username(user_mob)), otp <- generate_totp(uid), {:ok, _} <- SMS.Plivo.login_totp_message(user_mob, otp) do IO.inspect otp render(conn, "success.json", success: "OTP sent.") else e -> Errors.UserAPI.generate_login_otp(conn, e) end end

Ilnur
25.04.2017
08:36:28
м, 400 мне кажется лучше на ошибки парсинга оставить

больше статус кодов богу кодов

Dmitry
25.04.2017
08:38:26
А какая разница?) Надо тогда сделать отдельные коды для валидации параметров, для валидации констрэйнтов, для валидации валидации

Maxim
25.04.2017
08:39:14
смотрел кто-нибудь доклад "Make ruby great again"?

там был момент

чувак про рспек шутил

в конце он произнес такую фразу

Google
Maxim
25.04.2017
08:41:28
always spec spec your spec specs



abc
25.04.2017
08:44:10
парни. а как вернее делать foreach на Elixir ? через Enum.map или в 2 функции расписывать ?

Dmitry
25.04.2017
08:44:52
Enum.each

А зачем foreach?

Это индикатор плохой архитектуры

Мне не разу ещё не понадобился foreach

Admin
ERROR: S client not available

abc
25.04.2017
08:45:39
По списку пробежать сообщений от Facebook

Maxim
25.04.2017
08:45:58
Мне не разу ещё не понадобился foreach
если 1 раз что-то надо сделать, то почему нет?

abc
25.04.2017
08:46:13
просто 2 фукнции писать как то...

Dmitry
25.04.2017
08:47:12
если 1 раз что-то надо сделать, то почему нет?
Если 1 раз что-то надо сделать - то надо как то и результат получить

А для этого есть map

Или filter

Или любая другая high order function

Maxim
25.04.2017
08:48:34
Dmitry
25.04.2017
08:49:45
Если не нужен результат, то значит потом ты ничего не будешь делать. В этом случае опять же подходит map

Maxim
25.04.2017
08:50:53
map вернет новый массив, зачем тебе возвращать новый, если ты с ним ничего не будешь делать?

Dmitry
25.04.2017
08:51:12
У меня один раз надо было обработать все сообщения и из последнего забрать его tomestamp. Я тогда написал рекурсивную функцию.

Google
Maxim
25.04.2017
08:51:40
Тебе в любом случае что нибудь вернётся
вернется старый массив, память не выделится

О - оптимизация

Dmitry
25.04.2017
08:54:14
Тут нету массивов. И старый не вернётся. Причём все то что запишется в список мапа все равно сгенерируется так что ты потеряешь только место, которое сразу почистится Но конечно если принципиально можно each

Maxim
25.04.2017
09:05:01
кстати, да, в эликсире все равно вернется

Alexander
25.04.2017
10:29:13
https://i.imgur.com/Iprl2il.png Вот что-то мне подсказывает, что этот говнокод можно выпрямить, но я не могу сообразить как

cond ?

Dmitry
25.04.2017
10:30:35
with

Alexander
25.04.2017
10:34:08
всё равно не могу сообразить. Эта штука возвращает :no_file, :removed, :checksum_ok или false. Как это оформить с with?

Dmitry
25.04.2017
10:34:51
Какой то плохой апи

Alexander
25.04.2017
10:34:55
замысел — иметь true-ish значение, по которому можно при надобности понять что именно в порядке, либо false

Dmitry
25.04.2017
10:34:57
Не логичный

Alexander
25.04.2017
10:36:02
а он умеет в гарде работать??!? ок. тогда уже легче.

Maxim
25.04.2017
10:36:11
не знаю, умеет ли

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

Dmitry
25.04.2017
10:36:22
Все делают по другому - имеешь {:error, reason} и true

Maxim
25.04.2017
10:36:26
file_exists?

Dmitry
25.04.2017
10:36:35
Вернее ок

А у тебя все наоборот

Maxim
25.04.2017
10:36:59
не по эликсирному написано как-то

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