
Dmitry
10.09.2018
10:08:37
Хотя я не уверен
Судя по https://github.com/benoitc/hackney/blob/master/doc/hackney.md#request5

Максим
10.09.2018
10:14:52
не получается
HTTPoison.request(method, url, data, fHeaders, ssl: {:ssl_options, [{:cacertfile, "/path"}]})

Dmitry
10.09.2018
10:15:36
Крч мой совет - взять сразу hackney

Google

Dmitry
10.09.2018
10:15:42
И так нифига не понятно
А как httpoison вызывает hackney - тем более не понятно
Ждем xhttp

Максим
10.09.2018
10:17:39

Dmitry
10.09.2018
17:53:15
Аннонсировали SpawnFest
Может кто хочет поучаствовать
Можно сколотить банду

Eugene
10.09.2018
17:55:51
Можно сколотить банду
У тебя есть продукт-идея?
\\ пункт "Each team should come up with their own project idea"

Dmitry
10.09.2018
17:56:21
Я думаю надо исходить из того, кто будет участвовать

Eugene
10.09.2018
17:56:41

Dmitry
10.09.2018
17:57:06
Но я думал о real-time game websocket engine реализации
За два дня можно прототип накидать, в принципе

Eugene
10.09.2018
17:58:45

Google

Dmitry
10.09.2018
17:59:21
Может кто-то хочет поучаствовать с другой классной идеей, и я просто помогу ее реализовать

Eugene
10.09.2018
18:29:13
Я пока зарубаюсь на теме "ну может же ФП и аналог vcr генерить тесты, чтобы не мокать и чтобы не запариваться структурами данных, т.е. ветвление результатов и так в коде отражается", т.е. ищу "волшебный метод генерации чего-то—ExUnit-подбного" через-mix, например
Ну просто не может быть, чтобы и тут тесты как в классике нужно было писать... ну вот че, прямо нет сказки?
В общем, ищу аналоги zapata (https://github.com/Nedomas/zapata) на elixir и ruby, кто в теме - маякните, плз.
Может, я многого хочу - и пора переключаться обратно на BDD и Gherkin-нотацию (например, в Cucumber)

Azat
10.09.2018
19:40:35
Я писал на рубях и на элексире, у них весьма разные подходы к юнит-тестированию, т.к. языки фундаментально разные несмотря на внешнюю похожесть

Yuriy
10.09.2018
21:07:20
Кто что думает про кристал ?
https://crystal-lang.org

Buckler
10.09.2018
21:44:30
Привет, Faydra!
Пожалуйста, реши капчу:
Вычисли: 6+75=...
Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!

Alexander
10.09.2018
23:49:05

Yuriy
10.09.2018
23:49:18

Alexander
10.09.2018
23:50:27
Кристал - в такой ранней бете, что не подходит для продакшна. Разработка ведется очень узкой группой. Интерес на пике был большой, даже Перхем переписал свой Sidekiq на кристал в качестве концепта. Сейчас живых проектов на кристале не больше десятка, в проде не видел никогда.
мне Кристал нравится, но инвестировать в него время сейчас глупо. Максимум - потыкать хелло ворлды и все
нинужен ?
все языки нужны только когда есть область применения и комерческий интерес

Yuriy
10.09.2018
23:55:31

Alexander
10.09.2018
23:56:05
всегда есть некий период медового месяца, когда энтузиасты тянут язык даже если нет никакого комерческого интереса и успеха и если за это время он появляется, то язык востребован, а те кто в начале в него вложился своим временем - крутые спецы ?
потыкать Кристал можно хотя бы для общего развития

Buckler
11.09.2018
01:08:52
Привет, Brynn!
Пожалуйста, реши капчу:
Вычисли: 46+13=...
Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!

Eugene
11.09.2018
06:21:22
@noma4i У тебя всегда есть мнение :) Как у тебя с тестами дела?

Google

Azat
11.09.2018
06:52:21
В эликсире только тесты фениксовых моделей и контроллеров генерируются, всё остальное руками

Eugene
11.09.2018
06:57:38
"The best of Scheme and Lisp"
http://racket-lang.org/
Это экосистема DSL-ей

Dmitry
11.09.2018
06:59:47
Чистые функции любой дурак может протестировать, а что толку?


Eugene
11.09.2018
07:03:57
Чистые функции любой дурак может протестировать, а что толку?
Я имею ввиду, что сделать такой ход:
"VCR записал json n раз (давай на примере телеграм Bot API), посмотрел вариативность, сказал "слушай, вот основные наблюдаемые структуры, вот вариативность, вот так выглядел execution path, всё ок у тебя с точки зрения логики?".
Разработчик говорит: "Всё ок, ты правильно разметил - 2 базовые структуры, 8 вариативных прошло за это время. Сохранить стейт."
Я имею ввиду, что сделать такой ход:
"VCR записал json n раз (давай на примере телеграм Bot API), посмотрел вариативность, сказал "слушай, вот основные наблюдаемые структуры, вот вариативность, вот так выглядел execution path, всё ок у тебя с точки зрения логики?".
Разработчик говорит: "Всё ок, ты правильно разметил - 2 базовые структуры, 8 вариативных прошло за это время. Сохранить стейт."
Как-бы всё, меня не волнует семантика кода (этим занимается lint и pre-execution linter) - меня волнует event-based happy path
\\ я только про event-ориентированную архитектуру тут, в store и state всё будет по-другому


Marsel
11.09.2018
07:08:46
может быть подскажет кто, есть вопрос по gen_stage. Есть у меня producer A, куча producer-consumer B, и один consumer C.
B запрашивает у А события по одному, а С должен собирать у B события пачками.
Но по факту, сейчас С получает события только по одному, независимо от того какой max и min demand указывается в subscribe_to.
На stackoverflow мне ответили что надо использовать буферизацию https://hexdocs.pm/gen_stage/0.14.0/GenStage.html#module-buffering-events
Но я что-то не догоняю, вижу только примеры когда продюсер при нехватке событий для удовлетворения спроса говорит себе типа "добавь еще событий" и ждет следующих потребителей.
А мне получается нужно в producer-consumer буферизовать события, чтобы передать к consumer пачкой

Ivan
11.09.2018
07:12:00
а потом пихнуть дальше, gen_stage это такой же gen_server


Marsel
11.09.2018
07:13:45
в producer-consumer можно повесить колбэк на handle_demand?
"handle_demand/2 - must be implemented by :producer stages"

Marsel
11.09.2018
07:14:24
"handle_events/3 - must be implemented by :producer_consumer and :consumer stages"

Dmitry
11.09.2018
12:23:54
Где в доке эликсира можно найти, что
[?a] == 'a'
?

Alexey
11.09.2018
12:24:14

Dmitry
11.09.2018
12:24:47
Я знаю нде это можно найти

Admin
ERROR: S client not available

Dmitry
11.09.2018
12:24:53
Но не в доке

Alexey
11.09.2018
12:25:21
а они, кстати, не равны )... сорян. скобки не заметил

Alex
11.09.2018
12:26:20
[?h, ?e, ?l, ?l, ?o, ?\s, ?w, ?o, ?r, ?l, ?d ]

Google

Alexey
11.09.2018
12:26:46

Anatoliy Kovalchuk
11.09.2018
12:27:49
https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html
тут же было написано про это

Dmitry
11.09.2018
12:29:01
Да, написано

Dmitry
11.09.2018
17:47:56
Проследил откуда тормоза берутся у нас в системе, вышел на то, что почти половину времени съедает выдача сокета из пулла хакни. И длится она дольше, чем весь запрос и получение ответа (около 100кб) из внешней системы и вся обработка до и после.
Эмоции WTF......

Alexander
11.09.2018
18:44:54

Dmitry
11.09.2018
18:45:52
@spscream v1.13.0

Alexander
11.09.2018
18:46:40
хм, весело...

Anatoliy Kovalchuk
11.09.2018
19:07:08
пул закончился?

Dmitry
11.09.2018
19:10:32
пул закончился?
Переконфигурировав пул на 5 тысяч (когда активных 2 тысячи процессов), ничего не изменилось.
Хотя он из 5 тысяч только почему-то 1250 стартовал.
В общем, это привело только к большим тормозам и пока пул стоит на 500 соединениях.
Версия с тем, что закончился пулл быстро отпала.

Buckler
11.09.2018
21:22:00
Привет, Clemmy!
Пожалуйста, реши капчу:
Вычисли: 80+79=...
Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!
Привет, Bunni!
Пожалуйста, реши капчу:
Вычисли: 39+87=...
Осталось попыток: 3
Если не решишь - забаню навеки...
Удачи!

Alexander
12.09.2018
21:19:33
С праздником, ребят!

Serge
13.09.2018
04:55:01
Dmitry у меня похожая проблема, пока не победил. А чем вы смотрите тормоза? Откуда эта картинка?

Dmitry
13.09.2018
06:47:51
@summersanta Я смотрю через eflame: https://github.com/proger/eflame

Google

Dmitry
13.09.2018
06:49:33
Он встроен в проект и можно одной коммандой включить/выключить для нужного рабочего процессов
А ещё у нас метрики есть и мы пишем короткое состояние в словарь процесса и можно переодически считывать эту информацию, чтобы получить ещё более детальную информацию, которую не увидеть в метриках и графах.