Перейти к контенту

Последние статьи

25
Мар
2014

9,5 правил ведения безопасного IT-бизнеса в России

1. Держите серверы за границей

Почему так? Далеко за примерами ходить не надо, а случай не единичный.

Представьте, что у вас, например, сервис электронных магазинов. Или хостинг. И тут под предлогом «поиска улик» у вас выключают и опечатывают все серверы. Вы теряете клиентов и попадаете на убытки. В лучшем случае вы просто вне бизнеса, в худшем — еще и с долгами.

Да даже если ваш скромный интернет-магазин никому не нужен, где гарантия, что когда будут трахать вашего хостера, не вырубят ваш сервер, даже бекапы не дав сделать. Да, и делайте бекапы регулярно. Любое серьезное изменение — бекап на локальную машину или сервер в датацентре, не связанном с тем, где хостится ваш сайт. А то обычно оказывается, что и бекапы все были на той же машине. Подробнее →

17
Мар
2014

Просмотр SOP в Linux

А все началось с того, что канал “Спорт” не показывает многие матчи ЧМ по хоккею в прямом эфире. Полез на livetv.ru, а там есть некий протокол SOP (SOPcast) [Streaming over P2P (Streaming Direct Broadcast System)] для телевещания, основанный на P2P. Как же его крутить в Linux? Подробнее →

17
Мар
2014

[PHP] Pattern Registry – «Реестр»

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

Подобно Одиночке, паттерн Registry вводит объект в глобальную область видимости, позволяя использовать его на любом уровне приложения. О глобальной области видимости в PHP я уже писал в заметке о паттерне Singleton, ввиду чего предлагаю ознакомиться с ней, прежде чем продолжить читать дальше. Там вы найдете ответы на большую часть возможных вопросов.
Паттерн Registry получил распространение в двух вариантах реализации. Одну из них нередко называют «чистым реестром», вторую – «реестр одиночка» (Singleton Registry).

Рассмотрим оба варианта по порядку. Подробнее →

17
Мар
2014

[PHP] Pattern Singleton – «Одиночка»

Паттерн Singleton (одиночка) многие ругают, зачастую, называя его анти паттерном. Тем не менее, он достаточно популярен и я пока не встречал крупных программных систем, где он не был бы реализован. Прежде всего, можно отметить фреймворки, где Singleton нередко выступает основой приложения. Также его часто наследуют компоненты, реализующие взаимодействие с конфигурационными данными или механизмом событий, например. Подробнее →

31
Янв
2014

Разбор параметров командной строки в Python

python post top Разбор параметров командной строки в Python

Как вы, наверное, знаете, все программы можно условно разделить на консольные и использующие графический интерфейс (сервисы под Windows и демоны под Linux не будем брать в расчет). Параметры запуска, задаваемые через командную строку, чаще всего используют консольные программы, хотя программы с графическим интерфейсом тоже не брезгуют этой возможностью. Наверняка в жизни каждого программиста была ситуация, когда приходилось разбирать параметры командной строки, как правило, это не самая интересная часть программы, но без нее не обойтись. Эта статья посвящена тому, как Python облегчает жизнь программистам при решении этой задачи благодаря своей стандартной библиотеке argparse.

В дальнейшем все примеры я буду приводить с расчетом на Python 3.3, но практически все то же самое можно использовать и в Python 2.7, хотя для запуска на Python 2.7 примеры придется исправить, в основном добавить символ «u» перед началом строк. Подробнее →

27
Дек
2013

Работа Arduino Nano с сетевым контроллером ENC28J60

arduino nano ethernet Работа Arduino Nano с сетевым контроллером ENC28J60

Добрый день сегодня хочу представить вашему вниманию схему подключения сетевого контроллера ENC28J60 (HanRun HR911105A — в моём случае) к платке Arduino nano. Из всех библиотек больше всех понравилась библиотека ETHER_28J60 автора Simon Monk. Подробнее →

19
Дек
2013

Linux Mint — Добавляем поддержку Launchpad PPA

launchpad top Linux Mint   Добавляем поддержку Launchpad PPA

Решил тут попробовать разные форки Ubuntu, в частности интересным показался форк под названием Linux Mint. Он достаточно известен и популярен. В своё время его графическую оболочку я ставил себе на Ubuntu просто попробовать, оказалась вполне себе очень даже приличная. Я привык использовать в моей любимой Ubuntu так называемые личные репозитории (в них очень часто бывает много интересных и полезных пакетов), но по умолчанию Mint не поддерживает эти repo. Под катом показан лёгкий способ, как добавить поддержку команды add-apt-repository в Linux Mint. Подробнее →

5
Ноя
2013

Создаем Hadoop MapReduce приложение на PHP

hadoop with php post logo Создаем Hadoop MapReduce приложение на PHP

Сегодня посчастливилось ознакомиться со статьей Майкла Нолла (Michael Noll) о том, как написать распределённое Hadoop приложение на питоне (Python). Я всегда был большим поклонником распределённой обработки (MapReduce), но, так как в своей работе использую PHP, я подумал, что неплохо бы было портировать этот пример и показать, как можно создавать распределенные приложения на PHP. Подробнее →

28
Окт
2013

Как скачать и смотреть rtmp трансляции

rtmpdump logo Как скачать и смотреть rtmp трансляции

Многие сайты, такие как rutube стали отказываться от распространения видео через обычный HTTP протокол и перешли на RTMP (Real Time Messaging Protocol) – проприетарный протокол потоковой передачи данных, без использования кэша браузера. Это сделано для того, чтобы обезопасить свой контент и предоставить пользователям только онлайн просмотр без возможности сохранять видео и аудио файлы. По этой причине скачать видео с этих сайтов старыми способами теперь нет возможности. К примеру всеми любимое дополнение для Firefox’а, DownloadHelper не может скачивать RTMP ссылки. В этом посте будет рассказано как получить ссылку на поток, как и чем его можно сохранить и воспроизвести. Будут использоваться такое ПО как rtmpdump и vlc (последний для воспроизведения, см. под катом). Подробнее →

20
Окт
2013

Исправляем BumbleBee ошибку libturbojpeg.so после обновления до Ubuntu 13.10 (Saucy Salamander)

В Ubuntu 13.10 Saucy Salamander библиотека libturbojpeg была переименована из libturbojpeg.so в libturbojpeg.so.0 — это и вызвало ошибки при работе Bumblebee. Но есть лёгкий и быстрый способ исправить эту проблему и оживить нашего шершня.  Подробнее →