воскресенье, 31 мая 2015 г.

Знакомство с языком erlang

logo erlang

Предыстория: 

Недавно у меня возникло желание написать свой сервер мгновенных сообщений. Со своим блек-джеком и со всем остальным, как положено. Дальше решил узнать на чем нынче пишут высоконагруженные сервера. Поскольку в нашем велосообществе Братство Велосипедистов Уфы, мы для общения используем WhatsApp, начал копать какой бекэнд у них на серваках стоит.
Немного погуглив по словам stack behind WhatsApp натолкнулся на отличное описание бекэенда: ссылка

BACKEND

  1. OS: freeBSD
  2. Server : yaws
  3. Server application : custom ejabberd
  4. Language : erlang
  5. Technology : custom XMPP
  6. PHP somewhere in middle for non-stream server-user transactions.(at least website uses WordPress :) )
  7. Database : mnesia
  8. Encryption: RC4
Смотрим: ось - фряха, сервер - yaws (никогда о таком не слышал), сервера приложений - custom ejabberd(видимо что-то наподобие tomcat), технология - кастомный xmpp (знаю, что используется в jabber), php немного, бд - mnesia(позже зауглю), шифрование - RC4 (кажется проходили в универе). Всё новое и непонятное оставлю на будущее, а пока разберусь с языком erlang

Полезные ссылки чтобы понять с чем есть этот язык и его история: link_1link_2link_3

Теперь надо понять, как его готовить. План стандартный, как со всеми языками.

  1. Определить среду разработки (ide)
  2. Познакомиться с синтаксисом
  3. Получить знания по основам языка
  4. Изучить фреймворки и их применение
  5. Написать свой высоконагруженный сервер

  1. Определить среду разработки (ide)
Большинство статей и сам официальный сайт erlang предлагал для разработки использовать eclipse (с ним я уже знаком по разработке android, java ee). Так что проблем возникнуть не должно. У меня установлена версия eclipse luna (Version: Luna Service Release 2 (4.4.2)). На ней и решил готовить erlang. Приступил к установке модуля erlide, всё как по официальному мануалу.

Instructions

  • Install Erlang R15B or later, if it isn't already present on your system. On Windows systems, use a path with no spaces in it.
  • Install Eclipse 3.7 or later, if you didn't already.
  • If your network uses a proxy to connect to the internet, fill in the appropriate data inWindow → Preferences → General → Network connections .
  • Install Erlide by going to Help → Install new software... . In the dialog, enter http://download.erlide.org/update as URL. Follow the dialogs with the obvious choices and in the end you will be asked to restart.
Установил erlang (erl6.4 x64. У меня Windows 8, 64 bit) - http://www.erlang.org/download.html
Добавил в системную переменную path путь к установленному интерпретатору (d:\Install\erl6.4\)

Eclipse уже установлен, прокси не использую, поставил Erlide
Запустил ide, создал новый проект test, настроил run config. И уже радостный приготовился увидеть консольку. Но не тут-то было, компилироваться проект отказывался. Выдавая страшную мессагу: Expected the service to be RUNNING, but the service has FAILED.
Помучился минут 20 и решил установить старую версию Eclipse Kepler SR2. Также выполнил прошлые шаги, установил erlide. И о чудо, всё откомпилилось и консолька появилась!Догадался по тому, как на официальном сайте было написано: прекращается поддержка версии Eclipse 3.7.

Сейчас поставил на закачку видеокурс Юрия Жлоба по Erlang, Докачается, приступлю к изучению.

Написал статью, чтобы не забыть и в будущем не попасть впросак. Ну а если моя статья проиндексируется поисковиками и кому-то поможет сэкономить время и нервы - буду рад)




Комментариев нет:

Отправить комментарий