Search
Write a publication
Pull to refresh
1
0
Сергей Венедиктов @sven

User

Send message

Поднимает телефонию с нуля: Asterisk, FreePBX, GSM-шлюз на Huawei E173 в Debian

Reading time8 min
Views215K


Сначала маленькая предыстория. Не так давно наша фирма практически лишилась городской связи, один телефонный оператор, что-то не поделил с другим и в результате между ними перестали проходить звонки. Было принято решение, раз уж так произошло полностью отказаться от обычной телефонной связи и полностью перейти на ip-телефонию.
Постановка задачи:
1) Организовать телефонную связь;
2) Запись разговоров;
3) Очередь звонков;
4) Голосовое меню;
5) GSM-шлюз, так-как должны обрабатываться и звонки с мобильных операторов.
6) Минимальная стоимость решения, так как ситуация форс-мажорная и бюджет выделен не был.

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

Реализация MVC паттерна на примере создания сайта-визитки на PHP

Reading time16 min
Views733K
mvc

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

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

Как сделать увлекательный кибер-сериал из окон mIRC, ICQ, и Firefox

Reading time6 min
Views38K
Многие из Вас наверняка читали в далеком 2007-ом, увлекательную статью пользователя ACiDThe Scene — настоящий андеграунд Интернета, и судя по комментариям, некоторые даже посмотрели указанный в статье сериал The Scene в оригинале. Для тех кто не вкурсе, или забыл, немного информации.

Сцена — веб-сериал, созданный Jun Group Entertainment в 2004-2006гг. Первый в своем роде фильме действие которого происходит на экране компьютеров его героев, где мы видим, как они общаются в чате.

Герои Сцены — участники вымышленной релиз-группы CPX, распространяющей фильмы-новинки до их официального выхода. Завязка истории начинающаяся с того, что один из основателей группы под давлением обстоятельств продает копию фильма азиатским DVD-пиратам.

Недавно я наткнулся на этот сериал на рутрекере, подумав что его перевели с субтитрами или голосом как множество других шоу. Но все оказалось намного интересней: Пользователю под ником ID-Daemon ценой невероятных усилий за полгода, удалось практически вручную отрисовать первую серию. На данный момент полностью русифицировано 12 из 20 серий первого из двух сезонов.

Русская версия шоу предоставлена полной заменой анимации и синхронизации диалогов в чатах, текста писем, и некоторых ключевых частей интерфейса Windows XP. Также была полностью озвучена Речь.



Под катом ссылки на раздачи, Рецензия, Саундтрек, а также полная история пользователя ID-Daemon связанная с этим сериалом, которой он сопровождает свои релизы, в попытках популяризовать это не стандартное для обычных людей шоу и получить право публикации сериала в разделе Сериалы. На данный момент шоу расположено в ветке Rutracker.org » Разное » Разное » Видео
Читать дальше →

Автоматическое удаление старых ядер

Reading time2 min
Views27K
После очередного обновения убунты, я понял что меня вконец замучал растущий список загрузки в grub (это особенно актуально, если альтернативная ОС остается где-то внизу списка). Удалять вручную — это как-то неправильно, поэтому я решил заморочиться об автоматическом способе.

На хабре найти нужный топик мне не удалось, потому, покопавшись в интернете, я нашел рецепт, единственный минус которого было использование временных файлов, что мне не очень понравилось. Сделав пару преобразований, я получил чуть более упрощенный вариант (запускать через sudo).
Читать дальше →

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

Reading time3 min
Views294K
Долгое время меня глодало незнание того, как сделать некоторые элементарные вещи в дебиановских менеджерах пакетов, но, как часто бывает, спросить рядом было не у кого, а до написания куда-либо руки не доходили. И вот наконец вопросы вызрели и я написал свой вопрос в дебиановскую рассылку. Естественно оказалось что пропустил что-то очевидное, но и узнал много неочевидных полезностей, посему решил набросать шпаргалку, авось кому пригодится.
Читать дальше →

Отправка SMS из под Shell

Reading time2 min
Views20K
Как-то раз пришлось мне собирать gentoo на очень древнем железе, и меня постоянно мучил вопрос: «Как же сделать так, что-бы знать когда закончится компиляция всех пакетов и я смогу приступить к дальнейшей работе с ПК?» В поисках истины нашел наиболее подходящее для меня решение это отправка SMS уведомлений.
Читать дальше →

Доступ к Skype API используя PHP на *nix системах

Reading time4 min
Views41K
Еще давно я хотел иметь свой автоответчик или бота для скайпа, называйте как вам угодно. В гугле я ничего найти не мог, да еще из-за того, что я пользуюсь Ubuntu, задача становилась сложнее в несколько раз. А если учесть, что я знаю только PHP, и то, не очень хорошо, моя мечта становилась нереальной.

Но недавно, просматривая официальную документацию по API скайпа, я обратил внимание на «D-BUS messaging», не знаю, почему я раньше не обращал на него внимание. Разобравшись со всем, я наконец сделал то, что давно хотел! Я получил доступ к Skype API на PHP. Об этом я и хочу рассказать в своей статье.

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

Работа с Gmail используя PHP

Reading time6 min
Views3.6K
Доброго времени суток, коллеги. В этой статье я расскажу об опыте использовании Gmail API. Как оказалось, данная тема не очень освещена в интернете, да и документация далека от идеала.

Недавно у меня появилась задача: написать PHP приложение для поиска сообщений на Gmail ящике пользователя. Притом не просто поиск, а поиск по параметрам, благо Gmail имеет неплохую строку поиска, позволяющую написать что то вида “is:sent after:2012/08/10”. Да и в API есть расширения IMAP протокола X-GM-*
Читать дальше →

Ни за что не угадаете

Reading time1 min
Views82K


Дорогие Хабразнатоки!

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

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

Flashcache, или I/O на стероидах

Reading time4 min
Views57K
Наверное, все уже в курсе, что одно из главных узких мест серверов — дисковая подсистема. Особенно это заметно на web-серверах и больших СУБД. Производители жестких дисков находятся в постоянной гонке за производительность, но против физики не попрешь — головка жесткого диска не может болтаться со скоростью света :).

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

Какое решение? Правильно, совместить! Задача — получить скорость и время доступа SSD и надежность и обьем HDD. Существуют аппаратные решения, но мы же бедные экономически подкованные — поэтому будем делать программно, с помощью flashcache.
Меньше текста - подавай результаты!

Несколько интересных приемов и особенностей работы с MySQL

Reading time3 min
Views88K
Я думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
Читать дальше →

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time14 min
Views1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →

Доступные методы борьбы с DDoS-атаками для владельцев vds/dedicated серверов с Linux

Reading time12 min
Views41K
image

Начать свое присутствие на Хабре мы решили с материала, подготовленного для Конференции уральских веб-разработчиков, в котором описаны проверенные на собственной практике и оказавшиеся вполне успешными методы борьбы с DDoS-атаками. Целевая аудитория данной статьи — это программисты, имеющие в распоряжении vds или dedicated. Статья не претендует на полноценное руководство и многие сисадминские нюансы в ней намеренно опущены. Мы рассматриваем только DDoS типа http flood как наиболее распространенный тип DDoS и наиболее дешевый для заказчика.

Целевая аудитория данной статьи – это программисты, имеющие в распоряжении VDS или Dedicated.
Читать дальше →

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

Reading time2 min
Views177K
Очень интересная статья появилась сегодня на wired.com. Буквально за один час у автора статьи Мэта Хонана были взломаны Amazon, GMail, Apple и Twitter аккаунты и была удаленно уничтожена информация на его iPad, iPhone и MacBook. Среди прочего он потерял все фотографии своей дочки с ее рождения, многие документы и большую часть переписки. Очень интересно в этой истории то, как злоумышленник получил доступ к Amazon аккаунту и AppleID — для этого не понадобилась ничего, кроме доступной в сети информации и телефона.
Читать дальше →

Оповещения из Zabbix телефонным звонком

Reading time2 min
Views17K
Всем привет.
Я давно использую zabbix и давно читаю хабр.

Мысль научить заббикс разговаривать голосом посещала меня давно, и даже делал систему которая чудным голосом сообщала ночным саппортам что случилось.
Сегодня я прочитал пост mxx про nagios`ом по телефону и меня срочно настигла мысль привинтить это к моей системе.

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

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

Оповещения из Nagios телефонным звонком

Reading time2 min
Views10K
До сих пор кажется невероятным, что сервер может мне позвонить в случае проблем, но в действительности реализация оказалась даже проще, чем я думал. Своим решением спешу поделиться.
Читать дальше →

Как сделать веб-сервис для конвертации файлов Excel, Word, TXT и других в PDF в режиме «как вижу»

Reading time5 min
Views17K
Откуда пошла дурацкая привычка сохранять счета, бухгалтерские и финансовые документы в формате MS Excel? Зачем хранить и передавать документы, предназначенные для печати в формате электронной таблицы, если есть специальный формат PDF? Однако, во всех бухгалтерских программах документы в первую очередь обязательно экспортируются в MS Excel и уже потом предлагаются альтернативные способы сохранения документов. От сюда и возникла задача: пусть бухгалтер сохраняет свои документы как хочет, но клиент должен получить их в формате PDF и обязательно точно в том образе, который бухгалтер сваял в шаблоне MS Excel.
В качестве бухгалтерской программы мы использовали бесплатную ВС: Бухгалтерию. (По правде сказать из этой программы можно сразу сохранять документы в PDF, но раз сказали excel, значит – excel.)
Бухгалтер выгружает XLS-файл в определенный каталог на диске, откуда мы должны его забрать, перевести в PDF и сохранить в другой каталог. Все это должно быть реализовано в виде веб-сервиса, то есть клиент должен увидеть и иметь возможность скачать свои pdf-документы в «Личном кабинете» на сайте.

Пути решения:

Первое, что захотелось сделать, – это отыскать готовую библиотеку для PHP или Perl и прямо «на лету» конвертировать файлы.
Такие библиотеки для работы с форматом Excel действительно нашлись, например: PHPExcel, PHPExcelReader, Spreadsheet::ParseExcel и др.
Эти библиотеки действительно хорошо работают, но делают именно то, для чего предназначены: выискивают данные в электронной таблице Excel и оперируют с ними.
Нам же нужно совсем иное – получить экселевскую таблицу в виде как для печати, со всеми картинками с печатями и подписями, с форматами шрифтов, и ячеек.

Второй вариант решения — виртуальный принтер. Суть его в том, что мы открываем файл в подходящей программе и отправляем его на печать, но не на настоящий принтер, а – на виртуальный, который вместо бумаги сохранит в файл, сначала в постскрипт формате ps, а потом сделает из него файл PDF.
Поскольку система ко всему еще и должна функционировать как веб-сервис, я выбрал в качестве платформы Linux с Apache. А в качестве программы, которая умеет открывать все файлы MS Office – бесплатный OpenOffice.org 3.4

Итак, что делаем:

Устанавливаем OpenOffice. В руководстве по по установке конвертера PyODConverter предлагают устанавливать версию OpenOffice.org 2.4 обязательно -headless, но я просто установил OpenOffice.org 3.4 из репозитория и все получилось.
После установки я попробовал запустить программу, но система отказалась, захотев еще Java Runtime Environment. А нужен ли он? Оказалось, что нет. И запускать OpenOffice целиком, чтобы отправить файл на виртуальный принтер вовсе ни к чему. У программы есть прекрасный конвертер в pdf, который легко вызвать из командной строки.

Делается это так:

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

Tsung: Нагрузочное тестирование Web-приложений

Reading time3 min
Views43K

Tsung — это распределенная система нагрузочного тестирования, написанная на Erlang'е. Заявлена поддержка HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and XMPP/Jabber. В этой статье я опишу как протестировать обычный web сайт на нагрузку.
Читать дальше

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

Squid: баним баннеры без вспомогательного веб-сервера

Reading time2 min
Views29K
О пользе избавления от рекламы и самое ужасное — счетчиков (по несколько штук на страницу), думаю, рассказывать не нужно… Чтобы польза была практической и эстетической, забаненные картинки надо заменять на прозрачный однопиксельный GIF. В конфиге squid-a это делается так:
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity