@proelixir

Страница 33 из 1045
alter
26.07.2016
08:12:55
А не могли бы поделиться как вы обрабатываете create, update в контроллере?

В ручную через Ecto.Changeset.put_assoc, или phoenix может сам обрабатывать поля many_to_many в схеме?

Dmitry ?
26.07.2016
08:20:21
Вручную через put_assoc/preload

alter
26.07.2016
08:20:28
https://elixirforum.com/t/ecto-many-to-many-questions/1017 в этой статье все сводится к функции changeset_assoc в модуле схемы, с которую уже можно использовать в контроллере. Это единственно возможный разумный вариант для текущей реализации phoenix? Интересно даже просто мнение. Спасибо.

Google
alter
26.07.2016
08:24:00
Вручную через put_assoc/preload
Очень жаль, что еще так. В Django/Tastypie это уже есть лет 5. Но не все сразу значит.

Dmitry
26.07.2016
08:32:24
Доброе утро! Что слышно о vk Api? Кто нибудь взялся уже? Интересная тема, можно хорошо попрактиковаться, может быть отдельный чат создать?

Michael
26.07.2016
08:34:07
У кого-нибудь есть книга Programming Phoenix в электронном формате?

alter
26.07.2016
08:34:59
https://www.safaribooksonline.com/library/view/programming-phoenix/9781680501926/ Регистрируетесь и читаете

Vladimir
26.07.2016
08:35:05
Кстати, ещё интереснее было бы сделать враппер API Телеграма!

Не Bot API, а того, что использует MTProto.

Vadim
26.07.2016
08:37:38
Который для приложений?

Vladimir
26.07.2016
08:37:55
Ну типа того, да.

Dmitry
26.07.2016
08:38:18
Ребят, предлагаю начать с чего то одного

Vadim
26.07.2016
08:39:03
Ну вк апи я более-менее знаю, мтпрото для меня вообще темный лес

Vladimir
26.07.2016
08:40:21
Пожалуй.

Google
Vladimir
26.07.2016
08:42:13
То, что у меня уже есть, вполне позволяет работать с лонгполл-сервером, приводя полученные данные к более-менее удобному формату.

Вечером в отдельный пакет вынесу, наверное!

Dmitry
26.07.2016
08:49:39
В ВК дофига структур данных и в принципе функций дофига Те много работы механической

Vladimir
26.07.2016
08:52:42
Да, именно.

Ещё не уверен как лучше аргументы обрабатывать. Ну, по идее можно обычный named list принимать, но хотелось бы их автокомплитить или типа того.

Иметь возможность их автокомплитить*

Ну, я говорю о тех методах, где их много, причём много опциональных.

Dmitry
26.07.2016
09:02:23
По идее надо продублировать структуры данных из доков к апи

Vladimir
26.07.2016
09:03:33
В некоторых местах она там неактуальная, лол.

Dmitry
26.07.2016
09:03:36
И будет кучи такого вида %VkAPI.Audio{}, %VkAPI.User и тд

Dmitry
26.07.2016
09:04:59
Ничего не попишешь. Я вечером попробую набросать всю это дуру и сделать основной генсервак с подключением через токен

Dmitry
26.07.2016
09:06:42
Ну я пока предполагаю да

Возможно что в процессе на меня снизойдёт ошибочность такой врхитектуры

Vladimir
26.07.2016
09:07:38
Тогда уж один пользователь - один супервайзор, который супервайзит генсервер и лонгполлящий процесс.

Ну или типа того.

Dmitry
26.07.2016
09:09:44
Я думаю что это должно быть на совести разработчика, использующего библиотеку. А что за лонгполящий процесс?

Сокет подключённый?

Vladimir
26.07.2016
09:10:41
Когда-нибудь получал у вконтакта сервер для получения событий (в том числе и сообщений)?

Google
Vladimir
26.07.2016
09:11:30
Вот он.

Вконтакт будет держать соединение указанное количество секунд, пока не произойдёт какое-нибудь событие.

Ну, сейчас это у меня немного иначе работает!

Dmitry
26.07.2016
09:18:18
Если я правильно понимаю то это уже не апи, а что то типа бот

Отдельная тема я бы сказал

Vladimir
26.07.2016
09:18:43
О, это исключительно для тестирования.

Я хотел изначально в отдельный пакет вынести, но не решился.

Dmitry
26.07.2016
09:20:19
В перспективе можно вообще все расширить. Добавить пул ботов, и в обход ограничений спамить хнрней, приглашать в группы и д

Т

Vladimir
26.07.2016
09:21:51
Проблема в том, что я вообще нигде не видел нормального пакета для работы с API вконтакта.

Dmitry
26.07.2016
09:22:44
Все верно. И лонгполы там походу тоже не нужны...

Vladimir
26.07.2016
09:22:58
Vadim
26.07.2016
09:23:10
Лонгполл это все таки часть апи

Dmitry
26.07.2016
09:23:27
Ну хз тогда

Я думал по запросу все

Vladimir
26.07.2016
09:24:10
Можно получить историю сообщений и по запросу, конечно.

Но вконтакт количество запросов в секунду лимитирует.

Запросы к лонгполл-серверу не лимитируются.

Dmitry
26.07.2016
09:27:56
Тогда зажигачим всё)

Google
Alex
26.07.2016
12:18:26
О, вы тут ожили

Vladimir
26.07.2016
12:26:29
https://hexdocs.pm/expug

Jade (уже нет) красивый.

alter
26.07.2016
12:32:40
А кто знает причину переименования?

Vladimir
26.07.2016
12:32:48
https://github.com/pugjs/pug/issues/2184

alter
26.07.2016
12:41:53
Какой-то npm совсем тряпкой стал, блочат имена opensource-пакетов по первому свистку. Тот же https://ru.wikipedia.org/wiki/Java_Agent_Development_Framework живет себе и переименовываться не собирается, и что-то на него они (jade) не жалуются ?

Dmitry
26.07.2016
12:46:28
Так уже vk Api этот на гитхабе есть, чтобы форкать, или ещё нет? Я пропустил наверное...

Vladimir
26.07.2016
12:54:27
https://hexdocs.pm/elixir_ipfs_api/IpfsApi.html Вот тут каждая функция принимает СОЕДИНЕНИЕ (структура с параметрами).

Можно так же сделать, но выглядит не очень удобно.

Vadim
26.07.2016
13:49:17
Ну если сделать его опциональным параметом, то нормально вроде

Vladimir
26.07.2016
13:50:21
Это в целом неудобно.

http://stackoverflow.com/a/23622547 С named list так сделать не выйдет, да?

Впрочем...

@type opts :: [token: String.t]

Alex
26.07.2016
14:22:46
https://github.com/bitwalker/distillery

Dmitry
26.07.2016
21:04:05
В elixir можно pattern matching с или? Ну типа x = {a: число} и ты пытаешься матчить {a: 1 или 2 или 3}

Vadim
26.07.2016
21:07:12
Только с помощью when видимо

Dmitry
26.07.2016
21:07:54
Походу нужно cond do

Удобнее всего

Google
Dmitry
26.07.2016
21:23:28
А какой самый чёткий http клиент? httpoison?

Vadim
26.07.2016
21:25:37
Ага

Как можно хранить функции в мапах и получать их оттуда?

Самый топорный вариант с map[key] не работает, т.к. функция сразу пытается выполниться, а мне её нужно хранить

Хотя можно хранить там функции, возвращающие нужные мне функции, но может есть лучшее решение

Dmitry
26.07.2016
21:57:52
лямбы же

если хранить

не выполняются просто так

map = %{sum: &(&1+&2)}

Vadim
26.07.2016
21:59:38
Ой, правда

Dmitry
26.07.2016
21:59:40
> map.sum &:erlang.+/2

Vadim
26.07.2016
21:59:41
Ошибка в другом

Сорь, туплю на ночь глядя

Dmitry
26.07.2016
21:59:52
> map.sum.(1,2)

3

Авторизацию я запилил по аналогии с апи на руби. Как прикрутить браузер - я хз

Vladimir
27.07.2016
06:06:27
Ты про VK?

Зачем браузер???

Dmitry
27.07.2016
06:11:37
Ну чтобы приалгу авторизировать нужен браузер

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