Наверное многим, кто начинал изучать Erlang и Open Telecom Platform (OTP), было непросто запомнить все возможные настройки супервизора или ген-сервера, а также порядок входящих аргументов и формат возвращаемых значений. Основная сложность заключается в том, что описание любого процесса, будь то инициализация супервизора или синхронный вызов ген-сервера, находится в разных частях одной страницы документации. В самом начале освоения OTP такая навигация приводит к потере контекста и замедлению обучения. Не найдя шпаргалки по OTP на просторах интернета, пришлось создать свою. Надеюсь, она поможет вам в изучении (все картинки на английском языке).



Супервизор


Инициализация



Ген-сервер


Инициализация



Синхронная операция



Асинхронная операция



Info-сообщение



Завершение работы



Диаграммы в svg формате, а также в html для редактирования с помощью draw.io находятся в репозитории https://github.com/Telichkin/otp_cheatsheet. Буду рад комментариям и пул-реквестам с идеями по улучшению шпаргалки.

Комментарии (5)


  1. seriyPS
    08.01.2018 18:58

    Спасибо, полезно. Единственное что — terminate лучше бы подробнее расписать. Возможно даже 2 диаграммы понадобится: одна когда включен trap_exit и одна когда нет.


    1. Telichkin Автор
      08.01.2018 21:52

      Спасибо за замечание, поработаю над этим в ближайшее время.


  1. GarudaJI
    09.01.2018 14:06

    Имхо оригинальная документация понятнее + Erlang плагин в Intellij Idea имеет подробные спеки для всех коллбеков при создании из шаблона.


  1. begemot_sun
    09.01.2018 16:10

    Картинки можно было бы сделать кликабельными. А то текст мелочный не видно.
    Спасибо за труды.


    1. Telichkin Автор
      09.01.2018 16:29

      Сделано!