Search
Write a publication
Pull to refresh
0
0
Alexzander thunder Shevchenko @thunderspb

DevOps

Send message

Asterisk конференции — создание через почту

Reading time4 min
Views13K

Конференц-колы это очень удобный и нужный сервис. Собирать участников просто(они сами дозваниваются и подключаются), количество абонентов почти не ограничено(пока канал не кончится), телефонные линии свободны (если конференции у вас висят на отдельном sip номере с неограниченным количеством сессий.) Есть только одно неудобство — конференция создается по заявке. И если у админа заявок море, а то и заболел (уснул, напился, умер), то создание конференц-кола сильно затягивается. К тому же пароль у постоянных конференций тоже постоянный. И в этом случае бывший участник всегда сможет к ней подключиться, а то и вообще собрать там свой митинг, что ни есть гуд. Вот такие мысли крутились в моей голове после помпезного объявления по компании о запуске конференц-колов. И решено было создание телеконференций автоматизировать.
Читать дальше →

Pinboard — прокачиваем Pinba для мониторинга PHP

Reading time2 min
Views30K
Intaro PinboardСуществует полезный и нужный инструмент для мониторинга PHP под названием pinba. Он позволяет собирать статистику по выполнению PHP-скриптов вашего проекта. Мы реализовали небольшую систему, которая дополняет Pinba, и назвали ее Pinboard (Pinba board).

Суть работы


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

monit — наблюдатель за системными процессами

Reading time7 min
Views95K
Теория

Monit — самостоятельный демон, работающий от пользователя root. Демон работает на Linux, Free/Net/OpenBSD, SUN Solaris и некоторых других UNIX-системах. Это OpenSource проект, у которого есть «старший брат» — коммерческий проект MMonit. Последний обладает более широким функционалом в вопросе массового мониторинга, межсетевого взаимодействия и составления отчетов. Идея авторов проста — для одиночного сервера используем Monit, для большой сетевой фермы — MMonit.

Узнать больше

Несколько различных VPN подключений с локальными DNS серверами

Reading time4 min
Views30K

Откуда появилась проблема


Многие из вас пользуются VPN подключением к рабочей локальной сети из дома.
Благодаря этому, подключив VPN вы работаете с рабочей сетью «как будто находясь в ней».

Как выглядит типичная настройка в linux?
В /etc/resolv.conf прописывается (при помощи openresolv или NetworkManager)

search local.company.name
nameserver 10.0.20.186

Где local.company.name — домен компании, а 10.0.20.186 — ip адрес локального (в рабочей сети) DNS сервера.

Как выглядит работа?

root@t510 0 ~ % ping -c 1 cdash-master
PING cdash-master.local.company.name (10.0.20.237) 56(84) bytes of data.
64 bytes from 10.0.20.237: icmp_seq=1 ttl=63 time=214 ms
...

Что произошло?
  1. search добавил к cdash-master суффикс local.company.name
  2. DNS сервер в рабочей сети преобразовал cdash-master.local.company.name в 10.0.20.237

Всё прекрасно работает, пока у вас VPN подключение… одно.
Мне захотелось подключать одновременно два VPN и прописывать два DNS — один для рабочей сети, другой для локальной сети на hetzner, где крутятся мои виртуальные машины.

Казалось бы, что может быть проще? Однако путь к решению был долгим и извилистым.
Читать дальше →

PyGA: использование трекинга Google Analytics в бекенде, написанном на Python

Reading time2 min
Views6.7K
Для недавно сделанного мной в рамках изучения Flask микросервиса shares.datagreed.ru мне захотелось отслеживать переходы по разным адресам API. Как это сделать, если Google Analytics интегрируется в страницу посредством JS?

Вот и я тоже не знал. Поиск привел меня к официальной библиотеке на PHP для мобильных сайтов, на которых не предполагалось (когда-то) использовать JavaScript.

Дальнейшие мои изыскания вылились в небольшой модуль для питона, который позволяет использовать трекинг страниц (ивенты, увы, не поддерживаются) Google Analytics со стороны сервера. Штатно в библиотеку влючены классы для Django и Flask. Класс для Flask в данный момент развернут и обкатывается у меня на shares.datagreed.ru, а класс для Django я пока что не тестировал, так что багрепорты приветствуются.

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

Лето-2013: Роуминг-гид по всем сотовым операторам

Reading time9 min
Views71K
Когда отпускное настроение и билеты в теплые страны или регионы нашей страны радуют предвкушением настоящих приключений, звонков родным и близким со словами “Угадай, откуда я тебе звоню!”, фотографий иностранных красивостей и экзотических блюд в соцсетях, задумываться о стоимости звонков или интернета как-то не очень хочется, но если включить в список дел пункт “подключить пару услуг для удешевления роуминга”, можно существенно (порой до 100 раз) сэкономить на связи и не сожалеть о подаренных капиталистам бесцельно потраченных деньгах.

За последний год с момента публикации предыдущего обзора операторы сотовой связи, на удивление, стали добрее к людям и человечнее: предупреждают о нахождении в роуминге, предлагают подключить удешевляющие роуминг услуги, напоминают о необходимости пополнить счет и отключить использование интернета, если он вам не необходим. В итоге если не игнорировать все эти попытки операторов связи заработать на вас меньше, отдых или командировка будут гораздо менее затратными. Разберем же возможности сэкономить на связи в путешествиях. Так как я из Краснодара первый пункт — это роуминг в ЮФО, если вы у вас симка Краснодарского края.
Если же вы живете в другом регионе — проматывайте до роуминга по России и миру.

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

Ежедневная работа с Git

Reading time40 min
Views895K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.

Мониторинг «на коленке» – использование Cacti для контроля Jаva приложений

Reading time9 min
Views48K
В статье описывается решение для мониторинга с использованием Cacti на примере задачи анализа и контроля потребления ресурсов большого Java-приложения.

Передо мной стояла задача – в краткие сроки предложить меры по стабилизации большого трехзвенного Java-приложения, имеющего проблемы с потреблением памяти и производительностью. Времени, как обычно, мало: 1-2 недели на все. На фирме отсутствовала подходящая инфраструктура мониторинга приложений, и в мою задачу не входило ее создавать. Вариант с использованием JConsole не подходил из-за необходимости анализировать потребление за продолжительное время и смотреть его после возможных внезапных перезагрузок приложений.

В одной из фирм, где я работал, было реализовано впечатляющее по удобству и простоте решение для мониторинга Java-приложений на основе RRD Tool. Состояло оно из несложной надстройки на perl-скриптах, обеспечивающих сбор и отображение данных через HTTP и ряда доработок-агентов сбора данных в самом приложении. Для меня это стало идеей решения, однако, времени на написание обвязки над RRD у меня не было.

После аккуратного поиска нашелся бесплатный инструмент, реализующий необходимую мне надстройку – Cacti. Cacti это приложение, написанное в инфраструктуре Apache-PHP-MySql, позволяющее настраивать сбор и отображение данных мониторинга на основе веб-интерфейса. Разобраться с ним оказалось несложно, пару дней для подъема инфраструктуры, затем настройка и дописывание агентов сбора данных и все.

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

Дальше...

NoName Framework или Как я велосипед изобретал

Reading time13 min
Views24K

Привет тебе, хабраюзер!

Сегодня я хочу представить на твой суд некоторое количество быдлокода, которое я с гордостью называю «своим фреймворком». Под катом вы увидите большое количество велосипедов с квадратными колесами, смехотворные комментарии к коду, довольно изрядное количество абсолютно бессмысленного текста и множество других подобных ужасов. Кого это не напугало — кликайте на кнопку «Читать дальше».

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

Создаем видеобиблиотеку с PHPixie

Reading time6 min
Views19K
image
После моего предыдущего поста о выборе легкого Фреймворка я погуглил и увидел что для некоторых из них нет ни одного русскоязычного туториала. Так вот я решил написать серию постов дабы заполнить эту нишу. Я думаю стоит начать с тех на которых я в конце остановился, а так как для Silex написано уже достаточно много то этот пост будет посвящен PHPixie.

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

Пилим Adblock

Reading time9 min
Views174K


Стратегия


Итак, Адблок… Но здесь я буду говорить не столько о блокировке рекламы, сколько об оптимизации и правильном использовании этого интересного своей универсальностью дополнения. Не отношусь к тем, кого раздражает сама реклама — меня раздражает способ ее доставки.
Читать дальше →

Как я выбирал легкий PHP фреймворк

Reading time4 min
Views101K
Frameworks
Для начала скажу что я очень большой любитель что-то попатчить и потвикать, даже если для этого нету особой необходимости. И вот недавно рассматривая статистику XCache на своем сервере я подумал что смог бы оптимизировать объем памяти который он тратит на опкеш (opcache) файлов различных фреймворков. Сделать это просто — переписать все используя только один, файлы которого были бы общими для всех сайтов, каких у меня порядка 20-ти, но в большинстве они довольно простенькие и особого труда их переписать мне бы не предоставило. И тут я начал поиск того самого фреймворка, который в идеале имел бы достаточно фич чтобы разработка была простой, и в тоже время был легким и быстрым. Вот те которые мне понравились и мои мысли о них.
Читать дальше →

Звонки внутри организации с Корпоративного портала

Level of difficultyMedium
Reading time5 min
Views14K

Многие организации используют массу разнообразных информационных систем и технических решений для обеспечения и облегчения своей работы. Рано или поздно встает вопрос об интеграции этих систем и решений, и нередко выбор «связующего звена» принимается в пользу веб-технологий. В такой момент перед веб-программистом возникает необходимость всеми этими доселе незнакомыми продуктами и решениями овладеть.


В данной статье я опишу процесс интеграции:

на примере создания системы звонков с точки зрения веб-программиста.

Подробности

Контекстно-зависимая форма в Yii

Reading time6 min
Views27K
При работе с фреймворками всегда приходится создавать основной функционал самим, желательно, используя при этом возможности фреймворка (зачем тогда он нам нужен). Как понятно по заголовку речь пойдет про контекстно-зависимые формы в Yii. В статье описана реализация подобной формы, используя модальное окошко. Надеюсь, что кому то будет полезен именно такой вариант.

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


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

5 назойливых технологических мифов, о которых нужно всегда помнить

Reading time4 min
Views364K
imageМы готовы поспорить, что вам не раз говорили, что для того, чтобы увеличить жизнь вашего аккумулятора от телефона или ноутбука, его нужно разряжать до 0%, или то, что если вы не отключаете кабель питания от ноутбука, это сократит жизнь вашего аккумулятора?

Такая информация имеет свойство распространяться очень быстро, но при этом является совершенной неправдой. В этой небольшой заметке мы решили напомнить вам о 5 самых назойливых технологических мифах, которые, даже с учетом наличия Wikipedia и Google все еще блуждают по просторам Интернета.

Миф N1 — Срок службы вашего аккумулятора от телефона или ноутбука существенно повысится, если вы будете его разряжать до 0%.
Большинство современных мобильных устройств работает на литий-ионных или литий-полимерных аккумуляторах. Данная химия имеет определенные характеристики, которые полностью опровергают данный миф. Напротив, профессионалы рекомендуют подзаряжать ваш телефон часто, и не допускать полного разряда телефона или ноутбука. Срок жизни литий-ионных аккумуляторов измеряется количеством циклов полного разряда, и составляет 400-600 циклов для высококачественных аккумуляторов. Для увеличения срока жизни аккумулятора рекомендуется ставить его на зарядку в тот момент, когда телефон или ноутбук вас предупредит о низком уровне заряда (обычно 10-15% заряда).
image
Соблюдение данного правила позволит вам увеличить срок службы вашего аккумулятора до 800-1100 циклов заряда.
Примечание: данная зависимость не прямо-пропорциональна, поэтому мы рекомендуем обратиться к таблице из пункта 1 из данной заметки.

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

Как выглядит DDoS-атака

Reading time1 min
Views116K
Почти каждый представляет себе, что такое DDoS-атака. Но лучше один раз увидеть, чем сто раз услышать. Сайт VideoLAN на днях подвергся довольно необычной DDoS-атаке. Хотя интенсивность запросов была не очень велика — от 400 до 1600 запросов в секунду, ботнету удалось создать очень большую нагрузку на сервер, так как компьютеры-зомби не просто заходили на одну из страниц сайта, а скачивали дистрибутив VLC-плеера весом в 22 мегабайта. Пиковая нагрузка на серверы доходила до 292 гигабит в секунду. С помощью logstalgia — инструмента, который превращает логи сервера в наглядную анимацию — администраторы сайта сделали и опубликовали на Youtube визуализацию, благодаря которой можно увидеть, как выглядит DDoS-атака:



Хабраинтервью с создателями игры «Космические рейнджеры» Алексеем Дубовым и представителями СНК

Reading time10 min
Views44K
Алексей ДубовойПредлагаю вашему вниманию интервью с разработчиком легендарной российской игры «Космические рейнджеры» Алексеем Дубовым, а так же с представителем «Союза Независимых Квестописателей» Яковом Уваровым.

Игра «Космические рейнджеры» вошла в десятку лучших игр всех времен и народов по версии Хабрахабра 2013 года. А среди российских игр заняла первое место, обогнав «Тетрис» и украинскую разработку «Казаки» с приличным отрывом. Признаюсь, я ничего вообще не знал об этой игре и заинтересовался, что это за чудо такое. Посмотрев видео на ютубе понял, что это действительно выдающаяся игра, поскольку фанаты отзываются о ней как о «лучшей игре на свете».

Я связался с Дмитрием Гусаровым, Алексеем Дубовым и ребятами из СНК, которые готовили аддон «Революция». Дмитрий от интервью отказался, Алексей согласился ответить по почте. В другом посте я предложил всем желающим задать свои вопросы. На основе этих вопросов и появилось это интервью.

Алексей Дубовой


История игры «Космические рейнджеры»


Вам было всего 18 лет (верно?), когда вы взялись за написание масштабного проекта. Как Вы на это решились? Был ли какой-то опыт написания игр до КР?

В детстве я начинал с компьютеров «Спектрум» и «Поиск». Первой игрой, которую я увидел, была «Nether Earth». Тогда она перевернула мое сознание. И с этого времени я начал увлекаться компьютерами, играми и программированием. То, что я буду программистом, я осознал очень рано, мне было очень интересно изучать движки, создавать свои, все остальное меня перестало интересовать.

Шло время, я набирался опыта, и в середине 99 года я в интернете случайно набрел на сайт Дмитрия Гусарова. Он в то время заканчивал делать «Генерала» и искал себе работу в игровом дизайне. Мы встретились, поговорили и решили делать новую игру на космическую тему, так как понимали, что графики нужно сделать значительно меньше, чем для других жанров, да и сама тема космоса нам интересна. Если для Дмитрия были интересны игры Elite, Master of Orion, то я был фанатом Star Wars: X-Wing серии и Star Control 2.

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

Bootstrap-wysiwyg: крошечный текстовый редактор

Reading time2 min
Views105K



Текстовый редактор bootstrap-wysiwyg — это всего 1.5 Кб в минифицированном и сжатом виде и чуть больше 6 Кб исходного кода, базовые функции редактирования на основе execCommand, drag-and-drop для вставки изображений, поддержка стандартных горячих клавиш и ничего лишнего. Редактор работает в современных браузерах (Chrome 26, Firefox 19, Safari 6) и на мобильных платформах (IOS 6 iPad/iPhone, Android 4.1.1 Chrome). Зависимости — jQuery, jQuery HotKeys и Bootstrap.
Читать дальше →

Information

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