@proelixir

Страница 698 из 1045
Max
28.08.2017
13:56:09
для разных полей свою функцию писать?

Roman
28.08.2017
14:15:18
Не уверен что сработает, но может передать поле аргументом?

Типа такого:

def foo(rec, fld) do case fld do nil -> nil m -> Map.get(rec, m) end end

Google
Roman
28.08.2017
14:19:23
Ну или не Map, а что там у тебя

Александр
28.08.2017
14:22:50
Max
28.08.2017
14:23:13
это получше выглядит

но всё равно не то чтобы супер

Александр
28.08.2017
14:24:44
опять же, может можно на уровень выше nil отмести?

Alexsey
28.08.2017
14:47:50
Товарищи, есть способ заставить заработать :ets.fun2ms с переменными, которые туда залетают в рантайме?, а то впадлу свой генератор matchspec'ов писать

блин, криво выразился

в общем, обойти это

** (exit) exited in: :ets.fun2ms(:function, :called, :with, :real, :fun, :should, :be, :transformed, :with, :parse_transform, :or, :called, :with, :a, :fun, :generated, :in, :the, :shell) ** (EXIT) :badarg (stdlib) ets.erl:580: :ets.fun2ms/1

Vladimir
28.08.2017
15:43:39
если ets select медленный, то как делать оптимальный поиск по диапозону unixtime? Например, как найти все посещения от и до
можно создать ets типа ordered_set, делать поиск нижней границы диапазона unixtime, а затем через ets:next/2 забрать все последующие значения, пока не будет достигнута верхняя граница unixtime.

LMDB так же работает, например

maier
28.08.2017
15:50:31
можно создать ets типа ordered_set, делать поиск нижней границы диапазона unixtime, а затем через ets:next/2 забрать все последующие значения, пока не будет достигнута верхняя граница unixtime.
да, придется делать отдельный ordered set с primary key по unixtime, и там уже идшники хранить того, что нужно. по другому медленно будет искать (тут еще спрашивал https://elixirforum.com/t/ets-select-is-slow-how-to-find-visits-in-unixtime-range-quickly/8145/4 )

Vladimir
28.08.2017
15:52:57
ну собсно этот тот же nosql :)

Google
maier
28.08.2017
15:57:32
после того как выкинул ets select, видимо стал упираться в оверхед ковбоя



меньше 500-600 мкс ответ от сервера не может отдаться

пойду го учить короче ?

Vladimir
28.08.2017
16:11:02
ковбой не нужен

просто сокеты юзать.

и хттп rest не нужен)

Alexey
28.08.2017
16:11:53
maier
28.08.2017
16:34:58
наверное с этого и надо было делать, но оставлю уже как решение на веб фреймворке

все таки радует, что веб фреймворк может с такими нагрузками работать

https://overload.yandex.net/37877

оптимизация phoenix для хайлода

https://gist.github.com/maierru/d4cb7d0124d2eece80bd07b7a51ad31b

вдруг кому пригодиться

кто в чемпе участвует)

Rumata
28.08.2017
19:38:03
нехуй делать

Alex
28.08.2017
19:40:17
я не знаю мож читали уже https://habrahabr.ru/post/324818/

maier
28.08.2017
19:41:10
нехуй делать
да, лучше у заказчика и за его бабло тестить - тут спора нет)

Alexey
28.08.2017
19:41:14
боян. я как написал, сразу сюда постил

maier
28.08.2017
19:41:44
Google
Alexey
28.08.2017
19:42:00
я про статью

Alex
28.08.2017
19:42:16
)))

Nikolay
28.08.2017
19:42:29
@maierru load_from_system_env

В чем соль false?

maier
28.08.2017
19:42:46
он не подтягивает опции для cowboy

если в тру

столько ебался с этой опцией чтобы понять в чем проблема

Alex
28.08.2017
19:43:42
он не подтягивает опции для cowboy
интересно что это за опции

Nikolay
28.08.2017
19:43:50
Надо погуглить походу, ибо я все равно не понял:))

maier
28.08.2017
19:45:48
https://hexdocs.pm/plug/Plug.Adapters.Cowboy.html

вот тут понятно написано про load_from_system_env https://hexdocs.pm/phoenix/endpoint.html

или посмотрите в своих Endpoint в самом низу))

maier
28.08.2017
19:53:11
def init(_key, config) do if config[:load_from_system_env] do port = System.get_env("PORT") || raise "expected the PORT environment variable to be set" {:ok, Keyword.put(config, :http, [:inet6, port: port])} else {:ok, config} end end

если он в тру, то все http опции переписывают в [:inet6, port: port], а порт берется из окружения

по умолчанию он в тру)

عاصم بن حارث
28.08.2017
19:56:37
?

Alex
28.08.2017
20:19:07
вот это да

Александр
29.08.2017
07:45:59
я не знаю мож читали уже https://habrahabr.ru/post/324818/
не такая уж и большая разница там в производительности, учитывая что автору сказали что разное количество данных передаётся (не в пользу эликсира) и он тесты не пересчитал а если учесть что на эликсире быстрее и эффективнее программировать (что там не учитывали, а записали в минус (!)), то победа очень условна P.S. ещё хочу добавить что про fasthttp из моих знакомых голангистов знают половина, а так как на эликсире напишут, напишут 100% эликсирщиков

Alexey
29.08.2017
07:51:37
блин. я дольше гопатчи настраивал )

хотя сейчас вон друганов своих учу ерлангу-эликсиру. они целый день ставят свежий ерланг/эликсир. так что вроде бы как установка поровну

Google
Александр
29.08.2017
07:52:37
ну и много различий в отладке, перезапуске и.т.п. тоже не в пользу голанга

Alexey
29.08.2017
07:53:27
мне с отладкой даже и столкнуться не пришлось имеется в виду в го. на ерланге сиди в концоли, да отлаживай

Maxim
29.08.2017
07:55:13
в го давно дебаггер завезли

Александр
29.08.2017
07:55:14
мне с отладкой даже и столкнуться не пришлось имеется в виду в го. на ерланге сиди в концоли, да отлаживай
ну здорово если у тебя нет логических ошибок, но у большинства программистов не так и чем сложнее задачи тем таких ошибок больше

Maxim
29.08.2017
07:55:33
нормально работает

можно даже из гоглэнга включать его

Александр
29.08.2017
07:56:05
в го давно дебаггер завезли
в эрланге/эликсире можно прямо на продакшне посмотреть как те или иные функции отвечают, без прерывания работы

Maxim
29.08.2017
07:56:09
да

Admin
ERROR: S client not available

Alexey
29.08.2017
07:56:11
если начать работать профессионально, то потребность в отладке все равно возникнет. просто на го до этого не дошло.

Maxim
29.08.2017
07:56:11
это я знаю

эрланг отлично профилируется

но у го и помладше будет

мб, лет через 15 в нем будет в 10 раз больше всего

Alexey
29.08.2017
07:58:25
пролетали тут новости о новой версии го. видел там monotonic time добавили )

Alex
29.08.2017
08:24:41
сильное место elixir/erlang это легковесные процессы, очень простое и удобное взаимодействие между ними, ну и конечно супервижен три и все это из коробки

ну и язык из коробки рассчитан на написание систем в стиле let it crash

что на мой взгляд упрощает код

Alexey
29.08.2017
08:27:42
SuperVision 3! :)

Alex
29.08.2017
08:29:00
:)

Google
Dmytro
29.08.2017
08:31:51
https://djinni.co/jobs/11133-elixir-developers/

понеслась

Alexander
29.08.2017
08:43:34
https://djinni.co/jobs/11133-elixir-developers/
проскакивают вакансии, но жить в Таллинне - дно

Marat
29.08.2017
08:44:43
проскакивают вакансии, но жить в Таллинне - дно
Ну мне кажется это лучше чем в России или Украине

Alexander
29.08.2017
08:45:50
а тут вопрос. Дело в том, что ты никогда никогда не получишь гражданства Эстонии, зп явно ниже чем если бы работать на ремоуте на Америку.

из плюсов - только что не Россия

но тогда прямо в получасе на пароме тебя ждет в разы лучше страна - Финляндия

язык почти такой же, но есть вариант получить гражданство и куда интереснее

Andrey
29.08.2017
08:47:18
да дофига вариантов

и UK и Германия и Нидерланды

Alexander
29.08.2017
08:48:42
@pospeev ты же там уже одним полужопием в Нидерландах? )

Andrey
29.08.2017
08:49:37
ну я и говорю что есть варианты

Sergey
29.08.2017
08:58:36
и UK и Германия и Нидерланды
Эликсир? В Нидерландах?

Andrey
29.08.2017
08:58:47
¯\_(ツ)_/¯

Sergey
29.08.2017
08:59:04
Ни одной вакансии не видел

Andrey
29.08.2017
08:59:33
меня сами нашли

в линкедине

Alex
29.08.2017
08:59:52
да где-нить в Лобне и то больше народу живет

Andrey
29.08.2017
09:00:04
чем где?

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