понедельник, 24 ноября 2014 г.

Работа с фискальными принтерами АТОЛ и Штрих-М из PHP

В процессе работы над парой проектов интернет-магазинов мне довелось подключать фискальные принтеры к PHP-приложениям. 1С не было и не планировалось. Значит подключать надо было напрямую к PHP безо всяких системных драйверов.
Значит надо было реализовать протокол обмена с фискальным принтером на PHP, благо для этого имелся качественный официальный мануал.
В статье выкладываю получившийся PHP драйвер для моделей сразу двух производителей: АТОЛ (FPrint-5200K) и Штрих-М (Штрих-Light 100).
Код расширяемый, и не составит труда допилить при необходимости до другой схожей модели того же производителя.

среда, 12 ноября 2014 г.

Баннерорезалка масштаба сети на BIND и nginx

Давно у меня зрело желание порезать рекламу в едином месте - на шлюзе домашней сети.
Задача эта так и висела бы, наверное, в TODO листе, если бы не мобильное приложение Real Racing 3. Какое-то время я рубился в эти гоночки, и все было отлично, но в один прекрасный день я узрел на экране гигантский баннер, а потом охапку баннеров поменьше в разных местах. Этого я стерпеть не мог..
Но мне не хотелось ставить squid ради этого дела, я особо не исследовал, но там же, наверное, придется всем клиентам сети прокси настроить? Явно не мой путь.

Итак, дано: шлюз (роутер) под debian (с поднятым DNS bind9), XEN-виртуалка для веб-разработки (debian, с поднятым nginx).
Требуется: порезать рекламу на всем, что подключается к серверу дома, хоть по WiFi, хоть по проводу.

Достигнутый итог: нет рекламы в skype на десктопе и в телефоне, мобильных приложениях, браузере (AdBlock отключен).
А подробнее - далее.