воскресенье, 22 мая 2011 г.

Улучшаем профайлер в Zend Framework (Костыли)

Из рубрики "Чего мне хотелось бы в Zend Framework, а его там нет".

ZFDebug показывает, что запросов на странице 30 - хорошо (всмысле плохо - много, но! знать об этом - это хорошо). Знать бы еще из какой модели был вызван запрос. Поправим это. Решение снова хардкорное :/ не смог придумать как бы его так сделать по-хорошему, пришлось (опять) менять ZF (да-да, знаю за это меня будут мучать вечно в програмистском аду)

Имена ключей в memcache backend Zend Framework (Костыли)

Из рубрики "Чего мне хотелось бы в Zend Framework, а его там нет".

в Zend_Cache_Core: Invalid id or tag 'my-namespace:my-key' : must use only [a-zA-Z0-9_]

по нашим внутренним правилам: Имена ключей в key-value хранилищах должны разделяться двоеточием (:) где используются переменные, а также в именах ключей минусом (-) заменяются пробелы, т.е.
'users:3', 'users:17', 'users-by-eye-color:desc', 'users-by-eye-color:asc' и т.п.

пятница, 15 апреля 2011 г.

Шпоргалка по настройке хоста в Ubuntu

О том как поднять локально хост на Ubuntu для разработки.

Никогда не запоминаю такие последовательности, особенно когда такое нужно делать раз в 2-3 месяца.

Верстка почтовых рассылок

В этой статье я бы хотел поделиться своими познаниями в кроссбраузерной и кроссмейлерной верстке почтовых рассылок. Под словом кроссмейлерность подразумевается — корректное отображение верстки во всех почтовых клиентах. Я считаю, что статья вполне актуальна, в виду того, что на хабре эта тема несколько раз освещалась, но некоторые нюансы были неточными, а другие просто устарели. По долгу службы я долгое время занимался версткой html расылок по всему миру, и приведенные ниже правила будут касаться следующих почтовых клиентов и веб-интерфейсов: MS Outlook 2003-2010, mail.ru, rabmler почта, Яндекс почта, Gmail, Yahoo! Mail (Classic), Thunderbird 2.0-3.0, Hotmail, Windows Live Mail, Apple Mail 3-4, AOL Mail, Lotus Notes 8-8.5.

четверг, 13 января 2011 г.

Цитаты о программировании

"Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены" Edward V Berard

"Меня не интересует, будет ли это работаеть на ваших машинах! Мы не отдаем их заказчику!" Vidiu Platon.

воскресенье, 9 января 2011 г.

Настройка окружения: phpUnit

Перечитал много статей о том насколько хорошо писать тесты и какие они вообще бывают, но не нашел ни одного поста о том как настраивать окружение. Здесь расскажу как настроить окружение phpUnit (+ubuntu+NetBeans).

Первый пост

Привет.
Здесь мы будем писать про технологии web-программирования и смежных областей.
Нужно было начинать раньше, но, как говориться "никогда не поздно" :)

суббота, 1 января 2011 г.

Описание окружения

Вот уже c 2011 года мы работаем на Ubuntu (начинали с 10.04, сейчас уже 14.04) - чему безумно рады.
В качестве IDE - PhpStorm.

Пишем на PHP (PHP 5.5) + Zend Framework v1/v2.
СУВ: git + gitosis (хостимся на своем сервере).
БД: MySQL, PostgreSQL redis.
Инструменты: memcache, PhpUnit, Codeception, Symfony, xDebug, APC, pivotaltracker.

Недавно отказались от eAccelerator (глючил с open_basedir) на офф. сайте есть патч, но это не серьезно (не серьезно, когда продашкен упал спустя 2 недели без видимых причин).
Стандарты кодирования от Zend

Сервер

PHP 5.4 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
nginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)

Рабочее место

Ubuntu 14.04
PHP 5.5 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
apache2 + mod_php
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
xDebug (any stable)
PhpStorm (any stable)
SmartGit (free version!)

Итак, настройка рабочего места программиста..