@proelixir

Страница 855 из 966
?
12.01.2018
15:35:35
VIM
❤️❤️❤️

Dmitry
12.01.2018
15:36:11
А у нас система так построенна, что делаешь <app_cli> status и сразу можно оценить степень жопы.

Я наоборот с спамом лога активно борюсь.

Evgeny
12.01.2018
15:44:47
возможно когда-нибудь и я буду бороться

Google
Ilja
12.01.2018
16:11:37
Dmitry и Eugene а где-нибудь о таких подходах можно подробнее почитать? Посоветуете?

Алекс
12.01.2018
18:25:38
Ребят правда ли что 0-x=0!!!

Alex
12.01.2018
18:27:02


Alexey
12.01.2018
23:51:05
Ребят, правда ли, что P = NP!!!

Azat
13.01.2018
06:36:28
Вроде ещё не доказано

Alexey
13.01.2018
06:39:03
Да, конечно, это шутка

Evgeny
13.01.2018
06:57:11
Ребят, правда ли, что на любом невырожденном проективном комплексном алгебраическом многообразии любой класс Ходжа представляет собой рациональную линейную комбинацию классов алгебраических циклов?

И как это сделать на Эликсире?

Спасибо тебе, Б-г, что создал википедию!

Артем
13.01.2018
07:08:36
:ets.match(table_bid, {:"$1", :"$2"})

это оптимальный способ прочитать все из таблицы ets или есть что-то проще?

Alexander
13.01.2018
08:10:42
А я делал :ets.fold

Evgeny
13.01.2018
13:30:04
написал я свой кастомный форматтер логов: def format(level, message, timestamp, metadata) do ... end указал в конфиге, вроде работает, но, я пытаюсь пихнуть дополнительные метаданные Logger.info("message", domain: :web а они (метаданные) в форматтер не попадают.

Google
Evgeny
13.01.2018
13:31:19
То есть параметр metadata передаваемый в функцию format - всегда пустой список

ЧЯДНТ?

Даже без катомного форматтера. просто в конфиге написал format: "$time $metadata[$level] $levelpad$message\n" один хрен, метеданные переданные через Logger.info не отображаются

короче метаданные не фурычат, если лог сделан из "главного" процесса,

или из процесса супервизора, не пойму точно

Артем
13.01.2018
16:34:49
что-то под вечер башка совсем не варит)) может, кто подскажет правильный способ преобразовать лист вида [%{"c" => "c", "d" => "d"}, %{"e" => "e"}, %{"f" => "f"}] в мап %{"c" => "c", "d" => "d", "e" => "e","f" => "f"} ))

Никита
13.01.2018
17:52:49
Дла начала надо придушить того, кто этот лист сформировал)

думаю, это лучший вариант)

Никита
13.01.2018
17:54:50
[1, 2, 3, 4] |> Enum.chunk(2) |> Enum.map(fn [a, b] -> {a, b} end) |> Map.new

stack overflow

Dan
13.01.2018
17:58:44
Никита
13.01.2018
17:58:59
Да ну это не решит)

но на библиотеку Enum должно натолкнуть. Хотя бы на документацию)

Fey
13.01.2018
18:03:43
for map <- list, {key, value} <- map, into: %{}, do: {key, value}

или даже for map <- list, item <- map, into: %{}, do: item

Артем
13.01.2018
18:08:46
stack overflow
это я конечно же видел и оно конечно же не работает

[%{"c" => "c", "d" => "d"}, %{"e" => "e"}, %{"f" => "f"}] |> Enum.chunk(2) |> Enum.map(fn [a, b] -> {a, b} end) |> Map.new

Google
Артем
13.01.2018
18:10:07
%{%{"c" => "c", "d" => "d"} => %{"e" => "e"}}

Артем
13.01.2018
18:22:08
iex(4)> a = [%{"c" => "c", "d" => "d"}, %{"e" => "e"}] [%{"c" => "c", "d" => "d"}, %{"e" => "e"}] iex(5)> b = %{"a" => "a", "b" => "b"} %{"a" => "a", "b" => "b"} iex(6)> Enum.reduce(a, b, fn (map, acc) -> Map.merge(acc, map) end) %{"a" => "a", "b" => "b", "c" => "c", "d" => "d", "e" => "e"}

реально кстати редьюс катит всем респект

Evgeny
13.01.2018
18:32:26
А Process.put и Process.get сохраняет значения в некоем глобальном словаре или в локальном словаре текущего процесса?

Fey
13.01.2018
19:19:50
в локальном

Alexey
13.01.2018
19:20:56
это, как бы, плохая практика

Alex
13.01.2018
19:31:02
это, как бы, плохая практика
Но приемлемая, если припрет. Данные для метрик, метаданные логов и не только, прочие подобные штуки нормально хранить в process dictionary

Alexey
13.01.2018
19:31:40
каюсь. применяю иногда )

Макс Лапшин вон в словарь процесса кладет имя процесса и прочие теги. тогда при дебаге по стейту сразу видно в словаре - чем является процесс

Alex
13.01.2018
19:35:36
Ну я это и назвал прочими метаданными

Buckler
13.01.2018
23:43:21
Hello, gsomix! Please, calculate: 30+74=... If you don't answer - you'll get banned from the channel... Good luck!

Evgeny
14.01.2018
18:03:51
а почему даже в полном покое beam.smp кушает 4-5% процессора? Что оно там делает?

запущен феникс, экто, логгеры. мои процессы есть, но они все в ожидании сообщений

Alister
14.01.2018
18:05:39
он майнит биткойны

Evgeny
14.01.2018
18:06:44
все, нашел, кто майнит биткоины

это был эрланговский observer ?

который я сам же и запустил

Admin


Alister
14.01.2018
18:07:46
сам себе молодец

Google
Evgeny
14.01.2018
18:08:02
ССЗМ

Артем
14.01.2018
18:16:06
посоны, а какой клиент для телеграмма повеселее? их что-то совсем много, мне понравился https://github.com/Fnux/telegram-mt-elixir - но может есть какие-то проверенные решения? задача пока уметь писать в личку и группу нотификейшны, но позже и реагировать на сообщения надо уметь

$ergi0
14.01.2018
20:43:21
Ужас, пять минут думал, где подвох в вопросе ;)))

Dim
15.01.2018
09:17:35
Подскажите, есть ли возможность как нибудь дебажить дистилери релиз упакованный в докер контейнер?

Артем
15.01.2018
09:18:56
слышал тут считают самым крутым дебагом io.inspect и тесты

Vladimir
15.01.2018
09:20:01
Logger ещё

Andrey
15.01.2018
09:20:32
вообще дебажить релиз выглядит сомнительной идеей. видимо раз встает такая задача то нужно делать логирование (+ метрики) которое позволит ответить на нужные вопросы

но если прям нужно дебажить, то можно remote shell сделать, и всякими obeserver-ами, чем угодно пытаться смотреть состояние системы

если нужно прямо по шагам исполнять, то можно попробовать плясать от code-reload где в новом коде есть pry, если конечно апка умеет релоадить код нормально (но это путь в ад к.м.к)

Sergey
15.01.2018
09:25:20
Можно ещё Макса Лапшина послушать: https://www.youtube.com/watch?v=Of-xg6OKpLg

Alex
15.01.2018
09:28:43
Подскажите, есть ли возможность как нибудь дебажить дистилери релиз упакованный в докер контейнер?
именно дебажить дебаггером я бы не рекомендовал. лучше обмазать логами в достаточной степени, чтобы понять, что происходит, и воспроизвести в тестах.

Dim
15.01.2018
09:31:08
ок, спасибо. А чем плох вариант с дебагером?

Alex
15.01.2018
09:31:13
на интроспекцию и отладку довольно сложно полагаться в условиях, когда что-то происходит быстро, решительно.

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

если для запуска без докера можно провесить пачку туннелей и прицепиться к ноде, то как пролезть в докер, который не -net=host я так навскидку не представляю

Dmitry
15.01.2018
09:36:47
Есть ещё трейсинг

Dmitry
15.01.2018
09:37:05
https://github.com/fishcakez/dbg

https://github.com/liveforeverx/exrun

Google
Dmitry
15.01.2018
09:38:13
https://github.com/ferd/recon/

Vladimir
15.01.2018
09:40:28
если для запуска без докера можно провесить пачку туннелей и прицепиться к ноде, то как пролезть в докер, который не -net=host я так навскидку не представляю
это tradeoff для докера) у меня весь софт пакуется в деб-пакеты и раскатывается анзиблом в lxc :) да, это не так модно, и сложнее, но зато проблем достучаться к эрлангу нет.

Andrey
15.01.2018
09:42:45
а можно всё запускать с network=host

Страница 855 из 966