Поддержка и сопровождение сайтов

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

Continue reading

Бизнес |

Фоновая печать из web-приложения

Была поставлена задача: организовать печать наклеек со штрих-кодом из веб-приложения на специализированном принтере. Дополнительные условия, первое: команда на печать не должна требовать явных действий пользователя. А значит никаких диалоговых окон. Второе: принтер этикеток не может быть установлен у пользователя в качестве принтера по умолчанию. И третье: высокая скорость отправки задания на принтер.

Continue reading

6
Программирование, Технологии |

Как прижать footer к нижнему краю окна

Понял, что каждый раз ищу это решение заново. Так что пусть тут повисит.

Суть: в контейнере для контента padding’ом делаем «кармашек» для footer’а, который равен ему по высоте. Сам footer позиционируем абсолютно, а body относительно. Перед контейнером для контента можно добавлять любые другие; header, например. Под катом пример кода и файл с разметкой для скачивания.

Continue reading

Верстка, Технологии |

«Мишка очень любит мёд…»

«…Почему? Кто поймет? В самом деле, почему мед так нравится ему?»

Одна нехитрая задачка (про мед и деготь), и один столь же нехитрый алгоритм. Пост рекомендуется для соискателей вакансии программиста, а так же для тех, кому скучно и не до конца понятно при чем тут мишка.

Continue reading

9
Задачи |

Организация общения xml-сообщениями на PHP

Возникла в ходе работы такая несложная задача  - «организация общения xml-сообщениями».

SOAP слишком затратно. Для чтения данных из xml-сообщения сначала было решено конвертировать xml-файл в многомерный массив PHP и последующей передачей данных по ключам в этом массиве. Для обратного процесса, соответственно, генерация правильно сформированного многомерного массива и перегон в xml-строку. Среди явных плюсов данного подхода имеется быстрота и миллионы «велосипедов» для конвертации. Среди минусов – чрезмерное количество проверок на существование значения для нужной переменной в этой структуре при чтении xml-сообщения и неповоротливые куски кода по компоновке соответствующего многомерного массива при генерации xml-сообщения.

Собственно, наплевав на выбор между хреном и редькой, так и было сделано. Потом, спустя время, что-то подсказывало, что есть более изящное решение. Память и мануалы подсказали, что можно использовать для этих целей DOMDocument и DOMXPath.

Итак. Две простейшая задачи: получить из XML-документа данные и сформировать из данных xml-документ.

Continue reading

Программирование | ,

Кастомизация плагина sfDoctrineGuardPlugin

Делаю проект на Symfony 1.4 с публичной частью и системой управления. Чтобы не изобретать велосипед, в качестве учетной системы пользователей решил использовать sfDoctrineGuardPlugin — плагин существует давно, и является весьма мощным в функциональном плане.

Описание установки и последующей кастомизации смотрите под катом.

Continue reading

CMF, Программирование | , , ,

Фотоальбом в Netcat

В Netcat штатные компоненты для работы с фотографиями производят довольно унылое впечатление. Не совсем понятно, почему разработчики CMS отказываются от использования сторонних библиотек, той же Lightbox2, например. Встраивается элементарно, а смотрится это дело ни в пример лучше.

Что ж, если в поставке системы нет приличного фотоальбома, давайте сделаем его сами.

Continue reading

4
Верстка, Технологии | , ,

Symfony Camp UA ’10

3 июля 2010 года в Киеве состоялась конференция Symfony Camp UA, на которой я выступил с докладом «Перевод боевого сайта с ветки 1.0 на ветку 1.4».

Материалом для доклада послужила реальная задача, выполненная нами для одного из заказчиков. Актуальность перехода на ветку 1.4 довольно высока, так как на момент проведения конференции официальная техническая поддержка ветки 1.0 была прекращена (в январе 2010 года),  а поддержка веток 1.1 и 1.2 была прекращена еще раньше — в июне и ноябре 2009 года соответственно.

Впечатления от конференции самые положительные. Continue reading

2
CMF, Интернет, Семинары и конференции | , ,

Тяжела и неказиста жизнь простого программиста

Если кто не смотрел «День радио», настоятельно рекомендую. Лучше спектакль, чем фильм, и то, и другое в сети доступно. Но предпочтительнее, конечно, в зале, очень смешно.
При чем тут День радио? Да просто так. К вопросу о стиле командной работы.

Диспозиция: заказчик в Америке. До этого колесил по Азии и был в интернетах не доступен. Пара недель отставания от графика. И вот, заказчик проявляется и задает сакральный вопрос – как дела, собственно? Разговор с «Михаилом Гедеоновичем».

И далее, уже скайпе, для своих:
«Значит так. Я выкрутился. Теперь – ваша очередь!»

Работа с клиентами | ,

Проект Адаптер

Можно было бы назвать этот пост как-нибудь по-научному… Скажем, использование принципа наследования при построении иерархических каталогов.

Адаптер – программный механизм, который обеспечивает синхронизацию сайта с внутренней учетной системой предприятия.
Это не из Википедии, это мы сами придумали.

Собственно, базовый функционал был разработан нами еще в 2003 году.
Заказчик: НПК Контакт. Задача формулировалась следующим образом. Есть учетная система предприятия (не 1С). Из нее нужно получить бизнес-данные, обработать их определенным образом, дополнить маркетинговыми данными и транслировать на сайт. Кроме того, нужно организовать и обратный процесс – трансляцию в учетную систему данных из внешнего мира (курсы валют, данные пользователей и т.д.).

Continue reading

2
CMS, Программирование, Технологии | , ,