Как стать автором
Обновить

misultin — легкий встраиваемый веб-сервер на Erlang

Время на прочтение1 мин
Количество просмотров4.1K
image Этим летом в полку легких веб-серверов на Эрланге прибыло. Roberto Ostinelli опубликовал свою разработку — misultin. Это библиотека для создания легких быстродействующих HTTP-серверов. В этом плане проект напоминает mochiweb, но акцент еще больше сделан на скорость. По тестам автора misultin обгоняет mochiweb примерно на 50-60% при одновременной работе с 100-200 клиентами.
Функциональность пока беднее, но присутствуют базовые вещи для создания сервисов: отправка простых ответов, файлов, поддержка RESTful, удобная отправка ответов по частям (стриминг). Автор планирует далее развивать проект добавлять новые возможности.

Коллеги, возмножно, кто имел дело с данной библиотекой? Какие отзывы?

>-|-|-(°>
Всего голосов 37: ↑31 и ↓6+25
Комментарии32

Встречайте, http://erlanger.ru/

Время на прочтение1 мин
Количество просмотров1.2K
Встречайте, erlanger.ru

Почти три года тому назад у Кирилла Заборского (Qrilka) и Олега Тайкало (mirrorer) появилась мысль, что неплохо было бы начать перевод документации по Эрлангу на русский язык. У меня тогда как раз намечались свободные вычислительные мощности и я легко поддался на уговоры разместить вики с переводами у себя на сервере.

Время шло. Перевод шел с разной скоростью, обрастал такими вещами, как например, переводами man-страниц, и я на свою беду решил снабдить сайт еще и новостями из мира Erlanga. Это было два с половиной года тому назад.

За два с половиной года набралось ни много ни мало 500 новостей (а если бы я не был ленивым, то их было бы в полтора раза больше :) ). Организовалось достаточно активное русскоязычное сообщество в Google Groups (в первую очередь благодаря «хозяину» группы Максиму Трешкину(zerthurd)) и в Jabber'е (тоже спасибо Максиму)

В общем, жизнь у русскоязычных Эрлангистов бьет ключом.

Я посчитал, что негоже нам всем ютиться на erlanger.dmitriid.com и решил еще в январе 2009-го перенести сайт на подобающий домен. Всего год спустя необходимость поборола лень и вот — встречайте, erlanger.ru
Всего голосов 71: ↑55 и ↓16+39
Комментарии27

Информация для адмиралов космических флотилий

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


Докладная записка


Мой Адмирал, ваш флот насчитывает сотни, а может и тысячи кораблей. Все они действуют, как единый организм, действуя в одном информационном поле. В качестве канала связи используется радиоэфир, либо лазерная связь в случае работы в условиях радиоподавления (либо радиомолчания). Вероятнее всего, в качестве базового программного обеспечения, на кораблях используется Erlang, а каждый корабль является Нодой вычислительного кластера вашей космической армады. Благодаря этому, боевые программы, выполняемые на флагманском корабле, могут управлять ресурсами любого корабля армады, как своими собственными, координируя боевое взаимодействие. В условиях ведения космической битвы в окрестностях нашей солнечной системы, такой подход показал высокую эффективность, как на испытаниях, так и в реальном бою. Однако, партия ставит перед нами новую задачу: не допускать проникновения противника в пределы нашей солнечной системы, обнаружение противника и борьбу с ним вести на дальних рубежах.

В условиях субсветовых скоростей и огромных расстояний нас подстерегает новый враг. На этот раз технический. Этого врага зовут «временной разрыв» (Time Warp). Что это такое и как с ним бороться (используя Erlang версии 18 и выше), изложено в данной докладной записке. Записка основана на технической документации — Time and Time Correction in Erlang.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии27

Мартовский Python Meetup: Python VS Erlang и возможности PostgreSQL

Время на прочтение1 мин
Количество просмотров12K
Всем привет!
После долгого перерыва блудный Python Meetup снова с нами. На долгожданной мартовской встрече сообщества любителей и профессионалов языка программирования Python обсуждались животрепещущие темы: противостояние Python и Erlang, а также дополнительные возможности PostgreSQL.
Видеозаписи выступлений под катом. Приятного просмотра!

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

Второй митап функциональных программистов в Москве (Erlang, Clojure и другие функциональные штуки)

Время на прочтение1 мин
Количество просмотров7.4K
image

Что будет: доклады, пицца, общение, отличный вечер четверга.

Список заявленных докладчиков и тем под катом.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии12

Erlang в Wargaming

Время на прочтение9 мин
Количество просмотров37K
Язык Erlang известен не очень широко, хотя это довольно интересная технология, очень сильная в своей нише. Последние несколько лет Erlang все чаще применяется в веб-разработке.

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

В компании Wargaming Erlang применяется более 3 лет. Есть около десятка разработчиков и несколько проектов, работающих под большими нагрузками. И в этой статье мы поделимся своим опытом и видением Erlang.


Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии155

RamblerElixir #1

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


8 декабря в 19:00 на Мансарде Rambler&Co состоится meetup Elixir разработчиков. Elixir — функциональный язык программирования c динамической типизацией для разработки распределённых, отказоустойчивых приложений, построенный на базе виртуальной машины Erlang (без GIL), имеет очень приятный синтаксис и низкий порог вхождения.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии4

Что такое Flussonic Watcher

Время на прочтение5 мин
Количество просмотров9.1K
Если у вас в голове бурлят идеи о том, как бы сделать историю, в которой будет много пользователей, много IP камер и куча профита с этого, то не проходите мимо — мы расскажем о том, как мы помогаем запускать сервисы массового видеонаблюдения на нашем Flussonic Watcher.

Flussonic Watcher это:


готовый програмный комплекс операторского класса, обеспечивающий многопользовательский доступ к видео и архивам с тысяч IP-камер через браузеры и мобильные устройства.

В состав Flussonic Watcher входит:

  1. видеостриминговое ядро — сервер Flussonic;
  2. веб-портал, предоставляющий доступ администраторам и пользователям к камерам и архивам видео без использования плагинов;
  3. мобильные приложения;
  4. агент на камеру для доступа к ней из-за NAT без проброса портов, мирайя и смс;
  5. система интеграции с внешними биллингами, серверами авторизации;
  6. набор готовых бизнес-процессов и тех-регламентов на подготовку и продажу камер для клиентского видеонаблюдения.

Зачем нужен Watcher?

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

Как Discord обрабатывает более 1 000 000 push-запросов в минуту с помощью Elixir GenStage

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

Discord

Discord испытал небывалый рост. Чтобы справиться с ним, нашему отделу разработки досталась приятная проблема — искать способ масштабирования сервисов бэкенда.

В этом деле мы добились большого успеха с помощью одной технологии, которая называется Elixir GenStage.

Идеальный шторм: Overwatch и Pokémon GO


Этим летом наша система мобильных push-уведомлений стала скрипеть от нагрузки. Чат /r/Overwatch перевалил за 25 000 одновременных пользователей, а чат-группы Pokémon GO возникали повсеместно, так что внезапные всплески потока уведомлений стали серьёзной проблемой.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии28

Erlang User Conference 2009 in Stockholm, Sweden

Время на прочтение1 мин
Количество просмотров913
12 ноября 2009 года состоялась 15 Международная Конференция разработчиков Erlang.
Место проведения — «Астория», Nybrogatan 15, 114 39 Стокгольм (Швеция).
Вашему вниманию хотелось бы представить фото и презентации.

Erlang User Conference 2009 in Stockholm

All Photos
All Talks

Далее под хабракат-ом представлены список выступлений и ссылки на презентации.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии11

Erlang/OTP R13B03

Время на прочтение1 мин
Количество просмотров900
Вышел долгожданный релиз Erlang/OTP R13B03

Главное в релизе:
Native Implemented Functions (NIFS) (см. новость, пример использования)
— основная ветка исходников Эрланга будет дублироваться на GitHub'е

А так же:
— Изменился формат документации (исчезли фреймы, содержимое теперь должно нормально индексироваться поисковиками)



via erlang.dmitriid.com

Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Опыт создания инструмента мутационного тестирования для Erlang

Время на прочтение4 мин
Количество просмотров3.3K
Несколько недель назад, я услышал о мутационном тестировании для Clojure, это способ проверки качества тестов, при котором в исходный код вносятся небольшие изменения и тесты либо замечают это, либо нет. К примеру, если в программе использовалось условие «a > 1», а замена на «a < 1» никак не меняет результатов тестирования значит тесты могли бы быть лучше.

Я подумал, что такой инструмент будет несложно написать для Erlang, потому что язык предоставляет богатый спектр функций обработки внутренних представлений, генерируемых компилятором. Но всё оказалось не так просто. Под катом я описал проблемы и решение, к которому я в итоге пришёл.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Использование rebar3 для управления проектами на Erlang

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


Rebar3 — это инструмент для языка программирования Erlang, который позволяет легко и удобно управлять проектами, написанными на Erlang (иногда и на Elixir).


Люди уже давно знакомые с Erlang знают старый rebar и, возможно даже, до сих пор его используют. Многим (особенно тем, кто пришел из других языков с гораздо более развитой экосистемой) rebar не нравится и время от времени его там и тут называют "позорной подделкой", которую можно было бы заменить скриптом на Perl. К счастью много работать с rebar мне не приходилось (в отличие от автора выше приведенных слов), но с базовыми вещами rebar справлялся довольно-таки неплохо. Но "неплохо" — это не "хорошо". Несогласных с таким положением дел (с "неплохо") оказалось немало и потому решили они дать арматуре вторую жизнь в виде проекта rebar3, который нынче активно развивается. Над проектом среди прочих работает небезызваестный сир Фред Хеберт, который подарил миру книгу "Изучай Erlang во имя добра!".

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии7

Ускоряем работу Erlang системы без замедления разработки

Время на прочтение2 мин
Количество просмотров2.2K
Недавно появилась возможность использовать С для написания модулей Erlang систем (это по-моему удобнее любого из предложенных здесь методов). Возможно вы не знали о возможности использовать Haskell в связке с Erlang. Haskell очевидно не панацея и действительно критические участки кода вероятно всё равно придётся переписывать на С, но Haskell предлагает строгую типизацию и сокращение обьёма кода по сравнению с С. Я думаю что проще переписывать код с Erlang на Haskell чем на С, потому что оба языка функциоанльные. Haskell быстрее Erlang благодаря статической типизации и умной системе выведения типов. Предлагаю вашему вниманию вольный перевод статьи о Haskell/Erlang-FFI.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии7

Анонс RamblerElixir #2

Время на прочтение1 мин
Количество просмотров4.4K
image

Если вы очарованы языком Elixir, то приходите 16 марта в 19:00 на Мансарду Rambler&Co. Мы поговорим про Elixir, Phoenix Framework, Erlang OTP и докажем превосходство наших buzzwords над любыми другими.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии2

Советы начинающему скалисту

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

Часть 1. Функциональная


Эта статья (если быть до конца честным — набор заметок) посвящена ошибкам, которые совершают новички, ступая на путь Scala: не только джуниоры, но и умудренные опытом программисты с сединами в бороде. Многие из них до этого всегда работали лишь с императивными языками такими как C, C++ или Java, поэтому идиомы Scala оказываются для них непонятными и, более того, неочевидными. Поэтому я взял на себя смелость предостеречь новообращённых и рассказать им об их типичных ошибках — как совсем невинных, так и тех, что в мире Scala караются смертью.

Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии20

Практика функционального программирования №5

Время на прочтение2 мин
Количество просмотров3.8K
Анонсы новых выпусков журналов или обновлений сайтов — это не то, о чём обычно пишут. Мы не видели объявлений новых номеров Компьютерры (когда она ещё была) или Vogue на страницах Хабра. Тем интереснее наблюдать, как небольшой, весьма специализированный журнал для программистов «Практика функционального программирования» регулярно привлекает живой отклик у читателей даже таких в некотором роде особенных сообществ как Linux.Org.Ru или Хабрахабр.

Недавний выпуск последнего, пятого номера журнала ПФП уже вызвал множество интересных споров. А всё потому, что в конкурсе, объявленном журналом в конце прошлого года, вместо запланированной безоговорочной победы языков Haskell и OCaml, победили Python и C#.

Неожиданно обнаружилось, что один из дизайнеров C#, Eric Meijer признался, что Visual Basic — это функциональный язык (http://mr-aleph.livejournal.com/255073.html)

А еще обнаружилось, что...
Всего голосов 46: ↑42 и ↓4+38
Комментарии16

Как устроены протоколы в Elixir

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

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


Elixir – это функциональный язык программирования общего назначения, который работает на виртуальной машине BeamVM. От Erlang отличается синтаксисом, более похожим на Ruby, и расширенными возможностями метапрограммирования.


В Elixir также существует замечательный механизм для полиморфизма под названием Protocols, но в Erlang нет синтаксической конструкции для динамической диспетчеризации, которая необходима для их реализации.


Тогда как же они устроены внутри? Какой overhead дает код с использованием протоколов? Попробуем разобраться.


Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии12