Как стать автором
Обновить
76
0
Данил Загоскин @stolen

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

Отправить сообщение

Кластерный сервис на Эрланге: от идеи до deb-пакета

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

Задача


Нужно написать настоящий сервис на эрланге, который будет работать в кластере. Кроме того, нужно максимально упростить жизнь тем, кто будет обслуживать сервис.
Требования:
  • У сервиса будет RESTful интерфейс (это модно и современно)
  • основные настройки сервиса должны быть вынесены в маленький файл с понятным синтаксисом
  • сервис должен писать опциональный access-лог
  • сервис должен запускаться через upstart

Для простоты сервис будет представлять собой счетчик, который каждому клиенту выдает увеличивающееся с каждым запросом на 1 целое число (уникальное до перезапуска счетчика).

Технологии


Выберем все самое модное и современное:

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

Интернет в РФ будет несовместим с мировыми стандартами

Время на прочтение1 мин
Количество просмотров899
Управление «К» предложило госдуме новый законопроект.

Согласно последним исследованиям, за последние 4 года каждое киберпреступление было совершено с использованием инкапсуляции. По результатам трудных дебатов Алексей Мошков принял решение, что на территории РФ необходимо законодательно запретить инкапсуляцию.
Читать дальше →

Использование parse_transform

Время на прочтение7 мин
Количество просмотров4.8K
Disclaimer: Описываемый инструмент имеет спорную репутацию. Я не призываю использовать его где ни попадя, только знакомлю с используемыми понятиями, дабы уменьшить некоторым трепет перед технологией.

Написанные исходники, а также текстовую копию статьи можно найти на гитхабе.

Что такое parse_transform


parse_transform — механизм изменения AST перед компиляцией. Предназначен для изменения значения конструкций (семантики), не выходя за синтаксис Эрланга.

К сожалению, в Сети мало информации про это, что делает порог вхождения весьма высоким для не-гуру эрланга.

Что мы будем делать


В рамках данной статьи я немного рассказажу про AST эрланга, приведу пример простых трансформаций, а так же покажу процесс написания parse_transform для создания stateless gen_server-а (задача имеет не особо много смысла, но в качестве примера использования сгодится), а в конце дам ссылку на набор начинающего транформатора.

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

KIWI Image System: атака клонов

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

⇒Введение


Когда у вас есть очень много одинаковых машин (кластер веб-серверов, куча терминалов оплаты, зал с публичными компьютерами), возникает вопрос о поддержании всех машин синхронизированными по версиям установленного ПО.
Традиционным решением является настройка репозиториев и регулярное обновление всех машин средствами пакетного менеджера. Не менее традиционным — сборка в одном месте и почти ручное раскладывание по всем машинам новой версии пакета.

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


А потом пришли фрукты и спасли мир

Shorewall: файрволл для всех

Время на прочтение5 мин
Количество просмотров39K
Внезапно оказалось, что Shoreline firewall совсем не освещен на Хабре, несмотря на то, что является крайне удобным инструментом (и весомым аргументом против pf в холиварах) для настройки файрволла под линуксом.

Просьба не холиварить на темы «Линукс — говно, у нас в OpenBSD круче», «А у меня Kerio WinRoute, а вы все неудачники» и подобные.
Статья для тех, кто выбрал Linux из каких-то соображений и не хочет тратить уйму времени на изучение iptables (а там есть, где запутаться).

Посему, под катом простыня
Читать дальше →

POHMELFS: NFS по-новому

Время на прочтение3 мин
Количество просмотров6.7K
Те, кто следил за обновлениями ядра, могли заметить, что в релиз 2.6.30 была добавлена поддержка POHMELFS.
Что же это такое — Похмельная файлуха?
Изучение окрестностей странички проекта позволило предположить, что разработку ФС ведет московский программист Евгений Поляков (и только он!), у которого на том же сайте есть немало других интересных проектов, таких, например, как порт CARP под Linux. В общем, сложилось впечатление, что программист на редкость грамотный и упорный.
Вернемся к PohmelFS. статья в Википедии подтверждает причастность похмелья к названию, которое для приличия расшифровывается как Parallel Optimized Host Message Exchange Layered File System. Документация на страничке проекта говорит о том, что в перспективе PohmelFS — распределенная ФС с избыточностью, контролем доступа и прочими прелестями, разрабатываемая так, чтобы не сильно отставать по производительности от локальных ФС. Этакая альтернатива разнообразным GFS, GlusterFS и прочим Coda. Но это все будет после интеграции проекта с двумя другими — DST и Elliptics. На текущий момент PohmelFS — это альтернатива старому недоброму NFS, почти всюду показывающая бо́ льшую производительность (пруфлинк).

под хабракатом процесс настройки на небольшом зоопарке
Читать дальше →

TuxOnIce в *ubuntu 9.04

Время на прочтение3 мин
Количество просмотров4.7K
Что такое TuxOnIce? Это проект, ранее называвшийся suspend2, пытающийся сделать быстрый и стабильный hibernate для Linux.
Что такое hibernate? Если вы не знаете, что это, то hibernate = спящий режим (Win XP) = гибернация (гыгы) (Vista). Это запись содержимого физической памяти на жесткий диск и полное выключение компьютера, после которого можно запустить систему и продолжить работу.
Подробнее о Tux On Ice можно почитать на официальном сайте

В этой статье я хочу рассказать, как заставить работать TuxOnIce на популярном ныне дистрибутиве Ubuntu (с его модификациями, естественно).
Надо заметить, что из коробки в Убунте работает hibernate (просто suspend-to-disk), при том достаточно стабильно. Тут описано, как вместо него начать использовать более фичастый TuxOnIce, основной профит от которого — ускорение процесса и возможность наблюдения за происходящим.

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

Rambler ICQ vs. QIP Infium: сравнение клиентов

Время на прочтение4 мин
Количество просмотров4.4K
QIP — говно. Неспособные настроить миранду просто неспособны ее настроить. Она того стоит.
Я не люблю QIP и не пытаюсь его пиарить. Суть статьи и обсуждения в том, что интерфейс ICQ6 плох, а не в том, что QIP хорош.
QIP хуже любого другого альтернативного клиента. Это мое мнение.


Предыстория.
Есть в кругу моих друзей один персонаж. Этот персонаж в качестве клиента Oscar по возможности использует официальный клиент ICQ. Объясняет он это тем, что всякие QIP, Miranda, etc. паразитируют на чужом протоколе. На вопрос о том, что же делать тому большинству, которое тошнит от интерфейса ICQ6, персонаж утверждает, что интерфейс у программы нормальный. На вопрос о потреблении ресурсов говорит, что QIP когда-то сжирал 2% CPU при нуле у ICQ. В один момент мне надоело бросаться словами, я запустил виртуалку, поставил там QIP Infium и Rambler ICQ (как два наиболее популярных в России клиента из расссматриваемых страниц) и прошу у проходящих мимо поддержки или критики.

История.
(Аккуратно, траффик)
Читать дальше →

Аккуратно: новый вид спама

Время на прочтение1 мин
Количество просмотров805
Мне сегодня пришло письмо с рекламой услуги от МТС. При том, что я пользуюсь другим оператором, такое явление насторожило. Найденный в заголовках IP отправителя принадлежал Чехии. Соответственно, было предупреждение о том, что отправитель не в SPF.
При ближайшем рассмотрении оказалось, что все ссылки в письме ведут не совсем туда, куда надо.
Читать дальше →

SSH для частого использования

Время на прочтение2 мин
Количество просмотров69K
Наверное, многие из читающих «Linux для всех» пользуются SSH. Я, например, администрирую большое количество UNIX-систем, и, чтобы быстро получить доступ к нужной машине, приходится использовать возможности протокола на уровне, отличном от примитивного.
Читать дальше →

Легковесные браузеры

Время на прочтение3 мин
Количество просмотров4.1K
Давайте отвлечемся от таких монстров веб-обозревания, как Firefox, Opera, IE и обратим внимание на несколько молодых проектов, основанных на библиотеке WebKit.
Для начала, пара слов о самом WebKit. Это движок, используемый для рендеринга страниц небезызвестным Safari. Когда-то он был форкнут от KHTML, движка Konqueror, доработан и использован в своих целях (надо сказать, с пафосом: один из аргументов в пользу Safari, по мнению Apple, было «Open-source rendering engine»), при этом часть исправлений и дополнений были внесены и обратно в KHTML. После этого WebKit получил свое нынешнее название (когда-то было WebCore) и теперь продолжает разрабатываться.
Замечательна эта библиотека тем, что по скорости обработки сравнима с Opera, построена, вслед за KHTML, основываясь на веб-стандартах, распространяется под лицензией LGPL-2 и уже успела себя зарекомендовать в Safari и встроенном браузере Symbian 9.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность