Questions tagged [erlang]

Erlang — функциональный язык программирования со строгой динамической типизацией, предназначенный для создания распределённых вычислительных систем. Язык включает в себя средства порождения параллельных легковесных процессов и их взаимодействия через обмен асинхронными сообщениями в соответствии с моделью акторов.

46 questions
3
votes
0 answers

Erlang: простенький pubsub для сообщений между процессами — приемлем ли мой подход?

Захотелось получить в Erlang'е pubsub — процессы могут «подписываться» у некоторого «хаба» и дальше получать копии сообщений, которые получает этот хаб. Я знаю про gen_event, но это мне не подходит — там события обрабатываются в одном процессе event…
drdaeman
  • 9,253
  • 1
  • 20
  • 37
2
votes
1 answer

Проверка состояния tcp соединения

Для проверки соединения используются heartbeat сообщения, получаемые через heartbeat_interval. Если через заданный интервал новое heartbeat сообщение не пришло - соединение потеряно. Для такой проверки написан код, в котором мы получив heartbeat…
1
vote
0 answers

Cowboy - как отправить 2 файла используя cowboy_static handler

Я хочу отправить html файл, который включает в себя таблицу стилей. Текущий код отправлет только html, как я могу модиицировать код для отправки обоих html и сss файлов находящихся в разных дирикториях? start(_StartType, _StartArgs) -> Dispatch…
Hemul
  • 11
1
vote
1 answer

Как перебрать Erlang ETS таблицу

Доброго времени суток. Разбираюсь с ETS таблицами в Erlang Хочу проверить таблицу перебором, и проверить каждую запись (время по юниксу). Не хочу использовать матчинг (ets:select(food, ets:fun2ms(fun(N = #food{calories=C}) when C < 600 -> N…
1
vote
1 answer

Как закодировать строку в little-endian на Erlang'е

Необходимо закодировать строку в little-endian в приложении на Erlang'е для последующего включения в бинарное сообщение. Есть ограничение на длину этого поля - 20 байт. Строка - fdQCuk_QY35F91. 1> C = "fdQCuk_QY35F91". "fdQCuk_QY35F91" 2> X =…
1
vote
0 answers

Преобразование чисел из мантиссы с экспонентой

Получаю данные в виде {Exponenta, Mantissa} - {123,9135000000}, пробую получить число: 12> D = 9135000000. 9135000000 13> D*math:pow(10, -5). 91350.00000000001 В чем ошибка?
1
vote
0 answers

Распределенный Erlang

Возникла необходимость сделать распределенное приложение на Erlang'е. Добавил {global, ?MODULE} и при запуске приложения появилась ошибка {error,{{shutdown,{failed_to_start_child,feed_a, {undef,[{global,init, …
1
vote
1 answer

Создание ets-таблицы с защищенными данными

В проекте ppool-1.0 из книги Фреда Хеберта "Изучай Erlang..." появилась необходимость создать ets-таблицу с защищенными данными. Для этого в файл ppool.erl был добавлен следующий код table(Name, Tabl) -> ppool_serv:table(Name, Tabl). в…
1
vote
0 answers

Утечки памяти в приложении на erlang'е

При работе приложения на erlang'е происходит утечка памяти, сняты следующие метрики: recon_alloc:memory(usage). 0.8600619886718996 18> recon_alloc:memory(used). 215342352 19> recon:bin_leak(5). [{<0.24.0>,-56, …
1
vote
2 answers

Почему при объединении двух списков из бинарных чисел, в итоговом списке числа преобразуются в десятичный формат?

Конвертирую десятичное число в двоичный формат: A = integer_to_list(5, 2). И добавляю к полученному списку список из нулей: A ++ [0, 0, 0, 0, 0]. Получаю [49, 48, 49, 0, 0, 0, 0, 0]. Нужно при объединении получить [1, 0, 1, 0, 0, 0, 0, 0].
Kerhoff
  • 13
1
vote
1 answer

Erlang - где и кем используется ?

Где ниша этого языка ? В чём его преимущество кто знает ? Говорят он нужен для телекоммуникационных проектов, но это как, драйвера писать для сетевой карточки на этом языке ? Кто его использует, отзовитесь, расскажите !
1
vote
1 answer

Erlang - что же это за зверь?

Если Лисп — это язык, где всё — список, а Руби — где всё — объект, то Erlang — это такой язык, в котором всё — процесс. Интересно кто-нибудь программирует на нем? Поделитесь пожалуйста. Расскажите о проектах.
111
  • 282
0
votes
1 answer

Что означает этот параметр?

Есть строка {"/:order_id/payments/[:payment_id]", order_payments_handler, []} От клиента идет обращение по данному url и выполняется какое то действие. Интересует что такое [:payment_id], почему в квадратных скобках и что сюда должно быть передано?
NoName
  • 575
0
votes
1 answer

Ошибка компилирования на Erlang'е в Debian

Компилирую проект на Erlang'е в Debian выводится сообщение # erl -make {"init terminating in do_boot",{undef,[{make,all_or_nothing,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}} Определяемый пользователем сигнал 2 В чем причина?
0
votes
1 answer

Фильтр для списка из бинарных данных

Следующий код -module(dec). -compile([export_all]). packet(<<_Num:32/unsigned-little-integer, Bin/binary>>) -> lists:reverse(lists:foldl(fun parse/2, [<<>>], [<> || <> <= Bin])). parse(<<0:1, C:7>>, [Cur|Acc]) -> [<<0:1,…
1
2