Monthly Archives: February 2011

Новый подход к тестированию Zend Framework/Doctrine приложения: пусть тестируют пользователи!

Когда проект растет, то, как правило, растет и его кодовая база, количество модулей, да и число программистов, вовлечённых в проект. Постепенно от закачки файлов по ftp (если такое было 🙂 команда переходит к Subversion/Git репозитарию, тикет-системам и начинает использовать инструменты для увеличения производительности совместной работы.

Настройка пассивного режима VSFTPD и проброс портов через Firewall в Ubuntu

Многие сервисы имеют стандартные порты для работы. Например SSH работает на 22 порту, а Apache на 80. Такие сервисы очень просто записать в правила firewall, а что делать с сервисом VSFTPd, который кроме статических портов 20 и 21 для управления использует динамические номера портов для обмена данными?

Сложный код, плавающие баги и инсайт

Мы три дня ловили баг. Есть такая противная категория ошибок – плавающие баги.  Гейзенбаг (англ. Heisenbug) — термин, используемый в программировании для описания программной ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. Это слово, в отличие от слова «баг», в русском языке практически не используется. Не полностью идентичный, но достаточно близкий по значению русскоязычный термин — «плавающая ошибка». Примером могут являться ошибки, которые проявляются в окончательном варианте программы (релизе),

Ubuntu Flash полный экран

После переустановки ОС на Ubuntu 10.10 у меня возникла пробелма. При переключении flash плейера в полноэкранный режим, он не врубался, а вместо этого вешался Firefox. Долго откладывал решение проблемы, а на деле оказалось, что всё просто.

PHP & APC & SVN не работающая инвалидация кэша при операциях с Subversion

Премия “грабли дня” сегодня присуждаются php-расширению “APC”. Вкратце, APC это байт-код кэшер, который кэширует операцию преобразования php скрипта в байт-код, позволяя каждый раз не загружать код заново из файла, а по-быстрому доставать из сегмента shared memory. Ещё одно преимущество в том, что сегмент памяти шарится между процессами php, и когда на сайт заходит вторйо пользователь, то он идёт уже “на всё готовенькое”.