Как заставить Erlang релиз работать как сервис под Windows. Оставим за кадром вопрос зачем это делать. Просто иногда это нужно. Так что сосредоточимся на КАК. Что-бы было еще сложнее поставим себе задачу делать это с помощью wixtoolset.
Дмитрий @absurdil
Архитектор, разработчик. Иногда лектор
Cоздание цепочки поведений
5 min
2.7KВсем привет! В первой заметке я довольно поверхностно упомянул о создании цепочки поведений. В этой я хочу дать пример простой цепочки с пояснениями.
Со своей стороны я буду рад получить критику и замечания по поводу кода.
Со своей стороны я буду рад получить критику и замечания по поводу кода.
+8
Поведения — behaviours Erlang-е
3 min
4KДобрый день.
Пара слов о себе сначала. Я пишу на Erlang-е около 10 лет и приветствую появившиеся в последнее время схемы и диаграммы. Но я помню какой переворот в моем коде вызвало применение поведений, и думаю что это интересная тема для сложных продуктов.
Зачем нужны поведения? Поведение — суть определение интерфейса. Установка контракта между вызывающей стороной и имплементацией. Ну и все что из этого вытекает в случаях обычного определения интерфейса класса. Только в этом случае мы определяем интерфейс модуля.
Модуль может выполнять больше, чем одно поведение, но надо аккуратно смотреть, чтобы поведения не пересекались.
Если поведения декларируют функцию, совпадающую по имени и количеству параметров, то при компиляции появляется логичное предупреждение conflicting behaviours.
Синтаксическая сторона очень проста. Я положу код для примера и потом продолжу описание.
Пара слов о себе сначала. Я пишу на Erlang-е около 10 лет и приветствую появившиеся в последнее время схемы и диаграммы. Но я помню какой переворот в моем коде вызвало применение поведений, и думаю что это интересная тема для сложных продуктов.
Зачем нужны поведения? Поведение — суть определение интерфейса. Установка контракта между вызывающей стороной и имплементацией. Ну и все что из этого вытекает в случаях обычного определения интерфейса класса. Только в этом случае мы определяем интерфейс модуля.
Модуль может выполнять больше, чем одно поведение, но надо аккуратно смотреть, чтобы поведения не пересекались.
Если поведения декларируют функцию, совпадающую по имени и количеству параметров, то при компиляции появляется логичное предупреждение conflicting behaviours.
Синтаксическая сторона очень проста. Я положу код для примера и потом продолжу описание.
+11
Information
- Rating
- Does not participate
- Location
- Stuttgart, Baden-Württemberg, Германия
- Registered
- Activity