Как стать автором
Поиск
Написать публикацию
Обновить
0.2

Erlang/OTP *

Функциональный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Erlang. Параметры TCP/IP сокета

Время на прочтение3 мин
Количество просмотров14K
Небольшая шпаргалка по параметрам TCP/IP сокетов в Erlang по-русски. Все взято от сюда:

1) erlang.org/doc/man/gen_tcp.html
2) www.erlang.org/doc/man/inet.html#setopts-2
3) learnyousomeerlang.com/buckets-of-sockets#tcp-and-udp-brotocols
Подглядеть...

Вышел Erlang/OTP 17.0

Время на прочтение2 мин
Количество просмотров8.9K
9 апреля вышел мажорный релиз платформы Erlang/OTP 17.0.

Erlang — функциональный язык программирования со строгой динамической типизацией, предназначенный для создания распределённых вычислительных систем.

Читать дальше →

2048 на Erlang

Время на прочтение15 мин
Количество просмотров22K
imageНаверное на неделю игры 2048 на хабре уже не успеваю, но статья не столько о игре сколько о websocket сервере на Erlang. Небольшая предыстория. Когда начал играть в 2048, то просто не мог прекратить. В ущерб работе и семье. Поэтому принял решение, что играть за меня должен бот. Но загвоздка в том, что игра клиентская, из-за чего не ведется глобальный рейтинг и не так удобно играть без браузера. Поэтому я и решил сделать серверную часть, где был бы рейтинг. И где мог бы играть мой бот без браузера.
Читать дальше →

YAWNDB — time series база данных

Время на прочтение7 мин
Количество просмотров12K


В рамках многих наших услуг нам нужно регулярно предоставлять клиентам различную статистическую информацию. Клиентам, арендующим выделенные серверы, требуется информация о потреблении трафика. Пользователям облачных серверов нужна статистика использования аппаратных и сетевых ресурсов, а пользователям облачного хранилища — статистика скачивания файлов.

Наиболее простым и наглядным способом представления статистических данных является построение графиков. Существует много специализированных программных решений, предназначенных для анализа статистических данных с последующей визуализацией.Мы стали искать подходящий инструмент; основным требованием при этом была высокая производительность. В результате этих поисков… Впрочем, обо всем по порядку. Начнем с небольшого теоретического вступления.
Читать дальше →

Facebook покупает WhatsApp за $16 млрд

Время на прочтение2 мин
Количество просмотров54K


Корпорация Facebook известила Комиссию по ценным бумагам о покупке мобильного сервиса передачи сообщений WhatsApp за $16 млрд.

Сделка предусматривает выплату $4 млрд деньгами, $12 млрд акциями и дополнительно $3 млрд опционов на протяжении четырёх лет для удержания немногочисленных сотрудников WhatsApp, среди которых 32 программиста и 0 специалистов по PR и маркетингу. Выделенный пакет — это примерно 7,9% всех акций Facebook и 35% имеющихся денег.
Читать дальше →

Erlang для самых маленьких. Глава 3: Базовый синтаксис функций

Время на прочтение6 мин
Количество просмотров23K
imageДоброй ночи, Хабр! Мы продолжаем изучение Erlang для самых маленьких.

В прошлой главе мы рассмотрели как объявлять функции и как объединять их в модули. В этой главе мы рассмотрим синтаксис функций более подробно.


Хм, это интересно...

Хекслет: Erlang, логика, операционные системы, Java 2

Время на прочтение3 мин
Количество просмотров18K
Привет, Хабр!

Прошло уже больше полугода с момента старта проекта Хекслет. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. По традиции сегодня мы расскажем про новые курсы.

Статистика


  • Завершено четыре курса (всего – больше 100 уроков)
  • Сейчас в процессе – еще три курса, + запланирован старт двух курсов
  • 19 000 студентов зарегистрировано
  • Они сдали более 450 000 тестов
  • Просмотров лекций – больше 277 000 (не считая подкастов в iTunes и раздачи через битторрент)
  • 444 000 посетителей и 1.6M просмотров страниц


Новые курсы


Erlang / OTP


Читать дальше →

Тестирование Amazon SQS

Время на прочтение8 мин
Количество просмотров6.5K
В сети уже есть несколько обзоров производительности этого решения от Amazon, в этой статье я не преследовал цели проверки уже полученных результатов, меня интересовали некоторые особенности, не рассматриваемые в других источниках, а именно:
  1. в документации сказано, что Amazon старается сохранять порядок сообщений, на сколько хорошо он сохраняется?
  2. как быстро происходит получение сообщения при использовании Long Polling?
  3. насколько ускоряет процесс пакетная обработка?


Читать дальше →

Highly Available кластер RabbitMQ

Время на прочтение6 мин
Количество просмотров76K
Знакомимся с RabbitMQ

Переводы на хабре:
RabbitMQ tutorial 1 — Hello World
RabbitMQ tutorial 2 — Очередь задач
RabbitMQ tutorial 3 — Публикация/Подписка

Сразу дополню некоторые недочеты. И кратко повторю основные термины.

Принцип работы архитектуры использующей rabbitMq

image

Читать дальше →

Мифы и легенды vs ErLang

Время на прочтение3 мин
Количество просмотров11K
В последнее время часто сталкиваюсь с мифами о языке программирования Erlang и, сначала, это было забавно, но когда на основе этих мифов у нас стали делать управленческие выводы, стало резко не до смеха.

Итак, что сразу вспоминают, когда речь заходит про Erlang? Обычно вспоминают что это «параллельный язык программирования» и, во-вторых «у него медленная математика», а уж «числами с плавающей запятой лучше и не пользоваться ибо совсем трактор».
Читать дальше →

Erlang для самых маленьких. Глава 2: Модули и функции

Время на прочтение6 мин
Количество просмотров31K
imageДоброго вечера, дорогие Хабровчане. Мы продолжаем изучение Erlang для самых маленьких.

В прошлой главе мы рассмотрели базовые типы данных, списки и кортежи. А так же научились пользоваться сопоставлением с образцом и генератором списков.

В этой главе мы поднимемся на следующую ступень и рассмотрим модули и функции.


Хочу узнать больше

Erlang для самых маленьких. Глава 1: Типы данных, переменные, списки и кортежи

Время на прочтение8 мин
Количество просмотров67K

Добрый день, дорогие хабражители.

Это первая статья из цикла. Многим она может показаться до ужаса банальной т.к. здесь рассматриваются самые основы. Но для новичков она будет полезной, поэтому без нее обойтись нельзя. Так же здесь обращается внимание на пару интересных и неочевидных моментов.


Если интересно - давайте начнем...

Erlang plugin для IntelliJ IDEA версии 0.5

Время на прочтение1 мин
Количество просмотров6.8K
Привет, хабр!

Сегодня появилась новая версия Erlang плагина для IntelliJ IDEA.

Что нового?


C выхода прошлого релиза прошло уже 7 месяцев, а значит вас ждёт много нового:
  • Новые и улучшенные рефакторинги: introduce function, extract/inline variable и другие
  • Новые инспекции: unresolved include/include_lib, unresolved function и другие
  • Навигация по коду: включенные файлы, результаты тестов, callbacks
  • Улучшения совместимости с IntelliJ-based средами разработки
  • Расширена поддержка цветовых схем и форматирования, в том числе поддержка comma-first style
  • Поддержка EUnit: запуск тестов из редактора, перезапуск упавших тестов
  • Улучшено автодополнение для аттрибутов, функций и модулей
  • Улучшена сборка проекта: debug_info, parse_transforms, behaviours, сборка с помощью Rebar
  • Дебаггер (experimental)
  • И многое другое


Читать дальше →

Ближайшие события

CowboyD: демонизируем Cowboy, встраиваемый веб-сервер для Erlang

Время на прочтение2 мин
Количество просмотров5.4K

О чем это я?


С чего начинается практически каждое web-приложение на Erlang? Не знаю, у кого как, а у меня, как правило, со строчек кода, ответственных за запуск Ковбоя и обслуживание запросов. С функции обновления правил роутинга. Причем всегда это одно и то же — только роуты отличаются, порт и количество акцепторов, может быть. И это можно сделать проще. Догадались уже, к чему я клоню? Нет, это не очередной фреймворк. Это превращение встраиваемого ковбоя в отдельно запускаемое приложение. То есть мы пишем наше приложение, хендлеры Ковбоя, но сам Ковбой не трогаем. Вообще. Ни зависимостей не указываем, ни при старте приложения не запускаем. Любопытно? Добро пожаловать под кат.
Читать дальше →

Elixir

Время на прочтение8 мин
Количество просмотров18K
Здравствуйте, сегодня я Вам расскажу о современном языке программирования под BeamVM (или ErlangVM).
Первая часть является неполным введением в основы, а вторая часть статьи показывает на простых примерах главные особенности языка, новые для erlang-разработчика.

Два года назад вышла 0.1 версия elixir, которая и была представлена хабрасообществу раньше.

Цитата:

«Erlang является уникальной по своим возможностям платформой, и не смотря на это, язык до сих пор является экзотикой. Причин существует несколько. Например, тугая арифметика, непривычность синтаксиса, функциональность. Это не недостатки. Это просто вещи, с которыми большинство программистов не могут или не хотят работать.»

На данный момент, elixir стал самым популярным языком программирования (естественно, помимо erlang-а), построенным поверх BeamVM. Вплоть до того, что автор erlang Joe Armstrong посвятил статью, а Dave Thomas написал книгу. За два года очень многое изменилось, язык сильно стабилизировался и обрёл более или менее конечный вариант для версии 1.0. За это время, из elixir исчезла объектная модель, остался Ruby-подобный синтаксис, но добавился метапрограмминг и полиморфизм, которые органично, в отличие от объектно-ориентированной парадигмы вписываются в Beam VM.

Новое в Elixir-е:
Читать дальше →

Почему Erlang?

Время на прочтение6 мин
Количество просмотров20K
Оригинал статьи: smyck.net/2012/04/22/why-erlang

Шансы, что вы читаете эту статью на устройстве с многоядерным процесcором, растут каждый день, вот почему все постоянно говорят про параллелизм (concurrency). Параллелизм для наших web приложений и API бэкендов, это когда вывод htop выглядит примерно как на картинке:

Concurrente htop

Я недавно был на великолепной Ruby конференции и три или четыре доклада были про параллелизм. Сообщество Ruby достаточно открыто и обсуждалось достаточно много возможностей: использовать потоки, использовать различные среды выполнения Ruby, чтобы обойти GIL, использовать больше процессоров, использовать модель акторов через библиотеки как Celluloid или даже использовать Akka через JRuby.

В то время как модель акторов, кажется, хорошо подходит для создания сетевых параллельных приложений, которые часто страдает от проблем, если среда выполнения, на которой реализовано приложение не имеет нативной поддержки. Существуют реализации для Ruby, Python и Java, но все они должны подстраиваться, чтобы достичь нормальной работы и не обязательно результат даёт наилучшую производительность. Это одна из многих причин, почему Erlang был бы намного лучшим выбором, но сначала, давайте немного уделим время модели акторов, чтобы понять, почему это так хорошо работает.

Читать дальше →

Web-сервер на базе Cowboy

Время на прочтение10 мин
Количество просмотров35K
Привет!
В этом туториале я планирую показать тем, кто еще не знаком с веб-сервером Cowboy, как им пользоваться. Для людей, которые имеют опыт работы с ним, данный туториал врядли будет интересен, а вот для тех, кто знает о Ковбое лишь по наслышке — welcome!

Что мы будем делать:
  1. Простейшая установка и запуск сервера
  2. Краткий обзор роутинга, обслуживание статики
  3. Шаблонизация с помощью ErlyDTL (Django Template Language для Erlang)

Читать дальше →

Githubizer: автодеплой с Гитхаба на сервер

Время на прочтение2 мин
Количество просмотров16K
Интересно, скольким из вас приходилось хотя бы иногда, но повторять рутиные действия для настройки автодеплоя с гитхаба на сервер: создать ssh-ключ, добавить его для репозтория проекта на Гитхабе, создать скрипт, который будет слушать какой-то адрес, добавить вебхук в интерфейсе гитхаба, который будет дергать этот скрипт… Уфф… А что, если я скажу вам, что автоматизировал все эти действия по-максимуму? Да, теперь вам нужно выполнить всего пару команд и автодеплой запущен и работает! И все это благодаря Гитхабайзеру.
Читать дальше →

Вышел Erlang/OTP R16B

Время на прочтение1 мин
Количество просмотров6.3K
Случайно открыв в конце рабочего дня erlang.org, обнаружил приятную новость: сегодня состоялся релиз новой версии Erlang/OTP — R16B.
Читать дальше →

Erlang plugin для IntelliJ IDEA версии 0.4

Время на прочтение1 мин
Количество просмотров4.3K
Сегодня вышел Erlang плагин для IntelliJ IDEA версии 0.4 — он совершенно бесплатно превращает IDEA в полнофункциональную IDE для Erlang.

Нововведения

  • Интеграция с Rebar в том числе запуск Eunit тестов через Rebar
  • Поддержка Erlang типов: навигация, автодополнение, переименование и т.д.
  • Внешняя (Shift + F1) and local (Ctrl + Q) документация для OTP функций и модулей
  • Подсказка параметров фукнции (Ctrl + P)
  • Go to symbol (Ctrl + Alt + Shift + N)
  • Улучшено автодополнение для BIFs (включает BIFs для OTP модулей, например lists:member/2)
  • Поддержка темной схемы Darcula и улушение синтаксической подсветки
  • И многое другое, смотрите полный список изменений

Со времен выхода версии 0.1 (с июля 2012 года) изменений еще больше. Если кто-нибудь попробовал самую первую сборку и остался недоволен, то сейчас самое время попробовать заново.
Читать дальше →

Вклад авторов