Erlang — функциональный язык программирования со строгой динамической типизацией, предназначенный для создания распределённых вычислительных систем. Язык включает в себя средства порождения параллельных легковесных процессов и их взаимодействия через обмен асинхронными сообщениями в соответствии с моделью акторов.
Questions tagged [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…
compressor
- 91
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…
Eugen Dubrovin
- 195
1
vote
1 answer
Как закодировать строку в little-endian на Erlang'е
Необходимо закодировать строку в little-endian в приложении на Erlang'е
для последующего включения в бинарное сообщение. Есть ограничение на длину
этого поля - 20 байт. Строка - fdQCuk_QY35F91.
1> C = "fdQCuk_QY35F91".
"fdQCuk_QY35F91"
2> X =…
compressor
- 91
1
vote
0 answers
Преобразование чисел из мантиссы с экспонентой
Получаю данные в виде {Exponenta, Mantissa} - {123,9135000000}, пробую получить число:
12> D = 9135000000.
9135000000
13> D*math:pow(10, -5).
91350.00000000001
В чем ошибка?
compressor
- 91
1
vote
0 answers
Распределенный Erlang
Возникла необходимость сделать распределенное приложение на Erlang'е.
Добавил {global, ?MODULE} и при запуске приложения появилась ошибка
{error,{{shutdown,{failed_to_start_child,feed_a,
{undef,[{global,init,
…
compressor
- 91
1
vote
1 answer
Создание ets-таблицы с защищенными данными
В проекте ppool-1.0 из книги Фреда Хеберта "Изучай Erlang..." появилась
необходимость создать ets-таблицу с защищенными данными. Для этого в файл
ppool.erl был добавлен следующий код
table(Name, Tabl) ->
ppool_serv:table(Name, Tabl).
в…
compressor
- 91
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,
…
compressor
- 91
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 - где и кем используется ?
Где ниша этого языка ? В чём его преимущество кто знает ? Говорят он нужен для телекоммуникационных проектов, но это как, драйвера писать для сетевой карточки на этом языке ? Кто его использует, отзовитесь, расскажите !
Sergey_Trok
- 13
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
В чем причина?
compressor
- 91
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,…
compressor
- 91