Начну с объяснения, что именно меня подвигло на написание этой статьи. Подвигла меня статья о регулярных выражениях которая публиковалась чуть раньше, кто читает хабру, уже наверняка ее видели, статья честно сказать не понравилась, потому как написать ее написали, но привели какой-то сложный пример в качестве использования и предложение купить книгу в 600+ страниц, что как мне кажется только отпугнет людей, которые могли бы ими воспользоваться.
Я специально не буду заглядывать ни в какие мануалы, и пичкать Вас информацией которую я сам не запомнил, уверен, для того чтобы заинтересоваться и начать пользоваться будет достаточно того, что умею и использую сам.
Что такое SIP наверное уже многие знают. На самом деле это просто протокол установления сессий для устройств связи, все просто — ты спрашиваешь сервер на наличие вызываемого абонента, сервер отвечает, что он есть-нет, жив-оффлайн, и пр., сервер тебе отвечает — есть, находится там-то, спрашивает обоих абонентов на установление связи (ACK), после чего ты успешно разговариваешь с другом. Протокол достаточно простой, очень похож и по кодам и по организации на HTTP.
В этой статье пойдет речь не о протоколе. Речь пойдет о том, как создать свою собственную АТС, рационально организовать внешние и внутренние звонки.
Хабрахабр читает много шибко вумных людей ;) поэтому статья, повествующую о том, как расставить 5.1-колонки будет смотреться здесь просто нелепо.
Именно поэтому я не буду ее делать (даже учитывая, что поверхностный поиск подобной матчасти не выдал). Сегодня просто хочу рассказать историю прокладывания своей лыжни с элементами обзора компонентов. Много текста и картинок.
Недавно пришлось устанавливать mpi для локальной разработки. Попробовал и MS MPI и MPICH, оба завершались с неочевидной ошибкой сети 10051, как гласит MSDN, это означает, что сеть не доступна. Долго пытался ее побороть, думал уже и на ОС и на сами программные пакеты, пересоздавал сетевые интерфейсы. Но вышло все немного по другому…
Многие обладатели Windows Vista и 7 наверняка сталкивались с тем, что папка Windows c ходом времени разрастается как на дрожжах. Я мирился с этим до тех пор, пока 40-гиговый раздел с системой не начал периодически выдавать мне сообщения о том, что свободное место на нем заканчивается.
Я нашел один чудесный инструмент, магия которого позволяет уменьшить размер папки winsxs без потери производительности/стабильности/данных. Сначала я проделал все описанное под катом на своем домашнем буке, а сейчас для чистоты эксперимента повторю на рабочем.
По просьбам Хабрапипла, друзей и знакомых, выкладываю более подробную информацию о нашем дата центре:
Все началось примерно 2 года назад, сидя в итальянском ресторане за тарелкой пасты :)
Идея уже давно металась в стаждущих умах великих гениев, но тут она нашла выход наружу. Чуть позже было таки принято решение о начале строительства сего безобразия. Изначально предполагалось сделать ЦОД «Иртышский», планы были грандиозные, но были и колоссальные технические сложности, посему было принято решение о том. чтобы отложить Иртышский «на сладкое» :), взялись за «Славянский».
Небольшая справка: Долго думали как обозвать данные проект, в итоге пришли к выводу, что в глобале это будет «М77» по принципу М9, М10, М5 (ММТСы), опять таки Стек (М1), а в локале решили что будем различать по географическому признаку :) собственно так и получилось, «Славянский» расположен на Славянском бульваре, а «Иртышский» на Иртышском проезде :)
Каждый, кто работал сисадмином UNIX-систем, рано или поздно начинает автоматизировать свою работу с помощью скриптов.
Написаны они могут быть на чём угодно — от bash'а до tcl. Важен подход.
В этой статье я попробую вкратце описать приемы скриптовой автоматизации.
Когда нужно писать скрипты?
1. Когда это приведет к экономии времени.
Если нужно однотипно настроить 1000 свитчей, разослать спам приглашения на конференцию или собрать базу MAC-адресов — скрипты наши лучшие друзья.
2. Когда некие действия выполняются регулярно.
Архивирования резервных копий, очистка mysql-базы от мусора или сбор статистики — те самые случаи.
3. Когда нужно создать что-то сложное, но лениво делать это «по серьёзному».
Примеры — микробиллинги, счетчики трафика и системы блокировки должников.
Это нужно писать на C/C++. Но начальство сказало: «Сделать сегодня!». И снова скрипты — и мысль «когда-нибудь перепишу». :)
Сижу, работаю, никого не трогаю. Как приходит от одного из менеджеров следующий диалог:
15:04:50 Посетитель пришел со страницы www.%sitename%.ru
15:04:50 Добрый день! Подождите, к диалогу подключится оператор.
15:05:12 Оператор %managername% включился в разговор
15:05:53 Посетитель: Здравствуйте %managername%
15:06:00%managername%: добрый день!
15:06:28 Посетитель: а ваше руководство в курсе, что это месеенджер, за который вы заплатили деньги распространяется бесплатно тут: openwebim.org?
15:07:07 Посетитель: ну у меня всё
15:08:14%managername%: ну дела
15:08:58 Посетитель: Мы как разработчики этого софта решили оповестить всех клиентов воров из webim.ru
15:09:32 Посетитель: спасибо за внимание, надеюсь вы донесёте эту информацию до своего руководства
15:09:37%managername%: спасибо)
WebIm — это приложение для on-line общения с посетителями сайта, о котором не так давно писали на Хабре.Такие вот дела, хабраюзер.
p. s. Как инструмент, платный webim меня (и руководство) вполне устраивает.
… или, точнее говоря, — как я восстанавливал данные с положеного мною nVidia RAID 0.
Завязка
Собственно, прелюдия. Живёт у меня дома комп, контроллер IDE у него реализован в nVidia MCP65. У данного контроллера есть опция, превращающая его в RAID-контроллер с поддержкой RAID 0 и RAID 1. В моём случае — RAID 0 из двух Samsung'ов по 250 Гб каждый. Вобщем, ничего сверхестественного, набортным RAID'ом удивить сложно было уже 5 лет назад, не то что в наше время. Если кого-то заинтересовала приставка «fake» — так принято называть полуаппаратные реализации RAID. Разберём на пальцах.
Как продавать и убеждать, где черпать силы и вдохновение для того, чтобы выбраться из сложной экономической ситуации? Оказывается, все это мы можем почерпнуть из классических кинокартин.
В Carbucks.ru мы любим фильмы. Картины снимают, чтобы развлекать, реже — информировать, а иногда они даже учат нас. Они могут вдохновлять или вновь вселять веру в человечество, а иногда фильмы напрямую завязаны на том, что влияет на множество аспектов в нашей жизни – на деньгах. Порой снимается кинофильм, который дает понятие о реальном управлении деньгами, финансами и дает стоящие бизнес-советы (конечно, как дополнение к основной сюжетной линии). Предлагаю вам почерпнуть немало полезной информации из перечисленных ниже 10 фильмов, которые расскажут вам о деньгах все, даже если это и не очевидно на первый взгляд.
Всем привет.
Как я уже рассказывал, по стечению обстоятельств мне пришлось познакомится с интерфейсом к ImageMagick — MagickWand for PHP. Как оказалось, библиотека довольно мощная и интересная.
Ну и в качестве эксперимента, а так же на будущее, мной была сделана функция генерации капчи с использованием этой библиотеки. Преимущество ее в том, что нам не приходится писать картинку на диск а потому удалять ее. Все происходит, так сказать, «на лету».
Вот, что у меня получилось
Установка исходного кода Google Wave Federation Prototype Server
Исходный код Wave Federation Prototype Server поставляется в виде Java приложения, что соответствует XEP-0114, и является Jabber Component Protocol (компонентом Jabber протокола). В примере ниже мы покажем, как установить Wave Federation Prototype Server как плагин к Openfire XMPP сервер, но он должен так же работать с любым XEP-0114 совместимом сервере.
Для запуска прототипа сервера нужно сначала установить Openfire сервер. Данная инструкция Openfire сервера описывает шаги для Debian (Ubuntu) систем и если у вас возникнут проблемы или вопросы относительно установки, То обращайтесь к Openfire сообществу на их сайте.
Опубликовал сначала в своем блоге как ответ на вот этот топик. Спасибо доброму хабравчанину borisko, подарившему возможность перенести сюда.
Данный материал — компиляция (полная настолько, насколько это было возможно) из нескольких источников (см. ссылки внизу поста). Буду благодарен за ответы на вопросы (они в тексте), которые у меня возникли в процессе подготовки этого материала.
С тех пор как приобрел IBM Lenovo ThinkPad X61s (это такой маленький и удобненький лаптопик с диагональю 12 дюймов), всегда хотел его использовать в автобусе, пока еду на работу — ну и на обратном пути тоже. Однако в автобусе так трясет, что за жесткий диск становится просто страшно — его там покрошит в мелкий порошок. В связи с чем был приобретен Solid State Disk (примерно то же, что и обычная флашка, только по взрослому) фирмы OCZ, который (на тот момент) стоил безумно дешево и давал возможность попробовать все прелести SSD на собственном опыте. Был приобретен экземпляр OCZ Solid Series OCZSSD2-1SLD30G 2.5" 30GB SATA II MLC Internal Solid state disk (SSD) за фантастические по тем временам 220 долларов (все остальное начиналось с 400) и торжественно воткнут в вышеупомянутый лаптоп. Поскольку диск этот был одним из первых, так называемого первого поколения, то производительность на нем до сих пор оставляет желать лучшего. Но кое-что для улучшения как скорости работы, так и продления жизни диска, можно было сделать.
Батники это не мощный язык программирования, но, в то же время, на нем можно решить много рутинных задач. Цель статьи не просто рассказать о возможностях Windows-консоли, а показать их, решая практические задачи с которыми мне приходилось сталкиваться.
Существует множество типов сетей с различным устройством и принципами идентификации пользователей для подсчета трафика, нарезки тарифных скоростей и ограничения доступа в сеть неплательщикам.
У каждого из вариантов есть свои особенности и свои недостатки
В этой статье я постараюсь рассказать о наиболее используемых методах идентификации пользователей которые успешно применяются в сетях небольших и крупных провайдерах
Многие задаются вопросом как устроена сеть провайдера или как им самим строить сеть, в данной статье я покажу как спроектирована и работает сеть у меня, на логическом уровне. Хотя не считаю свою структуру за идеальную, можно было сделать и лучше, но это мое имхо :) ибо истина “спроси у 2-х провайдеров как строить сеть – получишь 3 разных варианта “
Виртуализация… виртуализация…
Сейчас все пытаются выжать из своих аппаратных ресурсов как можно больше. Иметь несколько отдельных компьютеров с различными ОС немного накладно и не все организации пойдут на это. Но выход есть, можно использовать виртуальные машины. И возможно, что многие используют для этих целей замечательный продукт от Sun «VirtualBox». Я уверен, что большинство для настройки используют GUI интерфейс, т.к. это очень наглядно и удобно. Но многие ли задумывались о возможности управления VirtualBox через консоль.
Была поставлена задача: На один сервер поставить две ОС (Ubuntu и Windows). При этом был работающий сервер под управлением Ubuntu 9.04 Server Edition. Поэтому было решено ставить Windows XP в качестве гостевой системы.
Но возникла проблема на Ubuntu НЕ УСТАНОВЛЕНА никакая графическая среда, т.е. там есть только голая консоль.
Многие из читателей хабра регулярно слушают разные подкасты, этот полезный вид времяпрепровождения можно сделать ещё более полезным, если слушать подкасты на английском.
Всем занять свои места! Задраить люки! Приготовиться к погружению!
В этой статье я попытаюсь рассказать об архитектуре Hyper-V еще подробнее, чем я сделал это ранее.
Хочу представить вашему вниманию интересный проект iSCSI Target Box — мини-дистрибутив Linux позволяющий быстро развернуть сервер iSCSI (т.н. Target) на любом поддерживаемом оборудовании.
Он сделан на основе Arch Linux и его скрипта генерации initrd-образов Mkinitcpio что позволяет быстро и легко его пересобрать при обновлении ядра или других его компонентов. По сути это ядро Linux + BusyBox + iSCSI Enterprise Target запакованные в Initrd-образ и вынесенные наружу необходимые файлы настроек.