Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «eryilmaz»
RabbitMQ 2012-03-10 01:19:07
Когда веб-приложение перестает быть просто коллекцией скриптов, генерирующих HTML, встает вопрос о ...
+ развернуть текст сохранённая копия
Когда веб-приложение перестает быть просто коллекцией скриптов, генерирующих HTML, встает вопрос о взаимодействии различных компонентов системы. Есть два основных подхода: обращение напрямую посредством протоколов вроде Thrift или Protocol Buffers; либо посредством брокера сообщений, посредника, берущего на себя вопросы их маршрутизации и доставки одному или нескольким получателям, даже в случае сбоев оборудования и недоступности сетевого соединения. [...]
Тэги: amqp, erlang, rabbitmq, брокер, обмен, сообщение
Определение места badmatch при вызове одинаковых функций 2011-11-12 08:24:49
Итак, допустим, что у вас есть вот такой код:
sometimes_not_ok(42) ->
not_ok;
...
+ развернуть текст сохранённая копия
Итак, допустим, что у вас есть вот такой код:
sometimes_not_ok(42) ->
not_ok;
sometimes_not_ok(_) ->
ok.
test() ->
ok = sometimes_not_ok(13),
ok = sometimes_not_ok(42).
Функция sometimes_not_ok/1 возможно говорит с бд, или ещё чего-нибудь такого и может выбрасывать исключения/возвращать значения, которые никак не характеризуют аргументы, переданные ей.
У нас есть 2 пути, как сделать так, чтобы мы знали, в каком месте случился фейл. Первый из них заключается в том, чтобы обернуть всё в case'ы:
case sometimes_not_ok(13) of
ok ->
case sometimes_not_ok(42) of
ok ->
continue_here;
not_ok ->
not_ok_processing
end;
not_ok ->
not_ok_processing
end.
Однако согласитесь, код при этом станет выглядеть ужасно. А если вам нужно будет поменять две строчки местами? А если у вас сотня таких вызовов? Да и это какое-то дефендное программирование выходит, у эрланга несколько другая концепция.
Второй же наш вариант,...
[content]
Тэги: erlang
Ruby / Rack адаптер для Cowboy — HTTP-сервера на Erlang 2011-11-04 19:39:40
Готова предварительная версия адаптера, позволяющего запустить Ruby on Rails или любое другое Rack ...
+ развернуть текст сохранённая копия
Готова предварительная версия адаптера, позволяющего запустить Ruby on Rails или любое другое Rack приложение за веб-сервером на Erlang: github.com/erlyvideo/rack
Адаптер представляет из себя application на Erlang, запускающее несколько воркеров (4 по умолчанию), умеющие пробрасывать запросы из сервера Cowboy к рельсам и возвращать ответы.
Эта схема может понадобиться для того, что бы воспользоваться таким бенефитами веб-сервера erlang, как WebSockets, Comet и просто ради удобной интеграции долгоживущей логики на erlang и рельсового фронтенда.
Установка согласно README в приложении.
Модуль в бета-версии, так что вопросы или сообщения об ошибках приветствуются.
Тэги: erlang, rack, rail, ruby
Erlang/OTP / [Из песочницы] Пишем модуль для Ejabberd 2011-10-14 15:16:10
Если вам нужна нестандартная функциональность от XMPP сервера ejabberd, вы не знаете, как это ...
+ развернуть текст сохранённая копия
Если вам нужна нестандартная функциональность от XMPP сервера ejabberd, вы не знаете, как это настроить штатными средствами и не нашли подходящего для этого модуля, то можно написать этот модуль самим.
Так я решил, когда начальство объявило войну пустой болтовней в jabber-е, для чего необходимо было запретить некоторым пользователям чатица с другими, но разрешить с третьими. И хотя у меня всё ещё есть смутное подозрение, что это можно настроить с помощью списков доступа, я решил написать модуль, которым мне будет удобно пользоваться. Этот модуль и послужит примером для рассказа.
Читать дальше →
Тэги: ejabberd, erlang, mnesia, модуль
Erlang/OTP / [Перевод] Использование контролёров для того, чтобы удержать ErlyBank на плаву 2011-09-28 22:05:13
Это четвертая статья в серии «Введение в ОТП». Если вы только что присоединились к нам, рекомендую ...
+ развернуть текст сохранённая копия
Это четвертая статья в серии «Введение в ОТП». Если вы только что присоединились к нам, рекомендую начать с первой части, в которой говорится о gen_server и закладывается фундамент нашей банковской системы. Если же вы способный ученик, можете взглянуть на готовые к настоящему моменту модули: eb_server.erl, eb_event_manager.erl, eb_withdrawal_handler.erl и eb_atm.erl.
Сценарий: Момент, который нам нравится в банках и банкоматах, заключается в том, что они всегда на том же месте. Используя банкомат, мы можем снять или положить деньги когда захотим, 24 часа в сутки. Или пойти в любое отделение банка, когда оно открыто, зная, что будем иметь полный доступ к нашим финансам. Чтобы гарантировать это, необходимо быть уверенным в том, что наша система автоматизации ErlyBank всегда остается рабочей: процессы должны быть запущены постоянно. ErlyBank поручил нам реализовать эту цель. Стопроцентный uptime! (Или настолько близкий, насколько мы сможем обеспечить)
Результат: Используя контролёр ( supervisor) OTP, мы создадим процесс, чья обязанность — следить за запущенными процессами и удостовериться, что они активны.
Читать дальше →
Тэги: child, erlang, introduction, otp, restart, specificate, strategy, supervise, supervisor, tree
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Главная / Главные темы / Тэг «eryilmaz»
|
Взлеты Топ 5
Падения Топ 5
|