Pull to refresh
4
0
Alex Bubnov @nwalker

Пользователь

Send message

А вы с какими флагами BEAM запускали? '+K true', как водится, не поставили?


+K true, enable kernel poll

Один из самых важных флагов запуска, который должен быть выставлен в любом production и писькомерном окружении — включает использование epoll/kqueue. Без него всякие изменения не имеют смысла.


Возможно, для адекватности сравнения стоит поставить +stbt db. Я точно не помню, как себя ведет планировщик Go, но если он закрепляет треды планировщика на ядрах, то этот флаг нужен, чтобы включить аналогичное поведение в BEAM. Это второй кандидат на звание must have флага.

Успехов написать весь монструозный и неадекватныйвеликолепный и непревзойденный стек протоколов, используемый WebRTC. Кстати, стандарт требует кодировать видео отдельно для каждого пира, можно для комплекта еще и кодек на ноде заимплементить.

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

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


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

Весь мой опыт подсказывает, что включенный своп на продакшн сервере — просто невыносимо отвратительная идея, классический такой антипаттерн.


Система, в которой гуляет oom-killer, все равно остается значительно более доступной, предсказуемой и отзывчивой, чем система ушедшая в своп.

Может, но что именно сгенерит компилятор я так сходу не скажу.

Для справедливости замечу, что это совсем не новый синтаксис.
Синтаксис \\ для default arguments появился в 0.12.3(февраль 2014), а сами аргументы по умолчанию были уже в первом публичном релизе 0.5.0(май 2012).

Я как человек со стороны, так до сих пор и не понял, чем в общем случае ГД отличается от обычного продакта.

Это терминоложеская проблема, но формулировка и вправду не очень. Правильной формулировкой, на мой взгляд, является "WebRTC — SIP-телефон без SIP в браузере".

Позволю себе напомнить, что крылья сделал Дедал, а Икар прославился нарушением техники безопасности.

А чем вам, скажем, Clojurescript не угодил? Вот уж что точно не JS.
Еще вроде Scala и Kotlin компилируются в JS.

На мой взгляд, здравомыслящемум человеку это и так понятно, и конкретные тулзы тут вообще ни при чем.


Вообще, я этот пост читал сразу после написания и мне хотелось разбить себе лицо руками — это просто эталон хипстерства. "Давайте мы сначала сделаем фронтенд на ненужном нам new and shiny реакте, потом удивимся, что так трудно, перепишем на new and shiny фениксе и напишем пост, какой замечательный феникс и как трудно с реактом".

внутренний инструмент для корпоративных анонсов.

React для фронтенда

Дальше пост можно не читать, все и так понятно.

Это вообще беда elixir-комьюнити. Я смотрю за статьями на хабре, смотрю в elixir subreddit, и это какой-то ад — толковых постов почти нет, везде какой-то треш и полное непонимание того, как надо писать на Erlang.

Заглянул. Ничего там особенного, обычный noproc вылетит, вполне предсказуемо.

Либо предсказуемый эксепшн про несуществующий процесс, либо мне вернут nil прекрасные разработчики stdlib. Либо там наворотили что-то совсем невероятное, и тогда я сдаюсь.


Вообще, это выглядит вполне обычной проблемой — обычный gen_server поведет себя точно так же.

Про агенты — ну давайте все же будем снисходительны. Это далеко не худший способ написать простое хранилище стейта с синхронизированным доступом и несложной логикой.

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

Всегда давайте имена своим агентам!

Отлично, просто отлично. С учетом отсутствия в эрланге нормального встроенного регистратора это очень интересное предложение.


Вообще, знаете, я вот смотрю на переводные посты про Elixir, смотрю в /r/elixir, и это все какой-то ад. Полезных постов незначительно больше нуля.

завтра выйдет версия Phoenix, работающая поверх другого веб-сервера

Вероятность этого события стремится к нулю.


  • cowboy это фактически единственный живой веб-сервер для erlang.
  • Plug так интересно задизайнен, что у них нет ни своей реализации websockets, ни даже API для protocol upgrade. plug-websocket использует cowboy напрямую, как работает Phoenix.Transports.WebSocket я навскидку не могу разобраться.
  • адаптер для более-менее живого elli висит в PR уже 2.5 года и тоже никому не интересен.

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity