21
2012
Django и особенности использования транзакций в MySQL
Наверное всем известно, что Django является одним из самых популярных фреймворков для web-разработки на python-е. И даже если в основе web-проекта лежит сторонний код, то зачастую при разработке используют отдельные части этого фреймворка — например ORM. В данной статье я хотел бы рассказать об особенностях использования Django ORM при работе с базой данных MySQL, а именно про транзакции и подводные камни, связанные с ними. Так, например, если в какой-то момент вы осознаёте, что вместо ожидаемых данных, возвращается совершенно другой результат, то возможно, данная статья поможет разобраться что к чему.
4
2012
Perl, JAPH и Новый год
Праздник Новый год, как известно, хорошее время! И хорошее оно не только потому, что все нажираются вдрабадан и в едином порыве предаются всеобщей атмосфере веселья и позитива. И не только потому, что куча народу получают мини-каникулы на 10 дней (по крайне мере у нас в России). А ещё потому что есть хороший повод дарить и получать подарки! ![]()
Собственно, об этом и пойдет речь. А точнее о том, что в преддверии Нового года передо мной возник сложный вопрос, что можно подарить другу программисту с уклоном в аякс в системное программирование на Си на уровне ядра Линукс (хотя в данном случае Си и Linux не имеют отношения к делу).
25
2011
Zend Framework 2.0.0 beta1 Released
Вышла первая бета-версия Zend Framework 2.0.0. Установочные дистрибутивы и инструкции доступны по адресу: http://packages.zendframework.com. Как пишут на официальном сайте Zend, это первая бета из серии планируемых бета-релизов. В дальнейшем, разработчики планируют придерживаться релизов в «gmail»-стиле. А именно новые возможности и фичи будут добавляться в каждой новой-бета версии, которые будут выходить не реже чем каждые шесть недель.
16
2011
«Правильная» utf-8 кодировка в настройках nginx/apache
Надеюсь, что данный пост окажется полезным многим разработчикам, т.к. судя по многочисленным тредам в интернете, проблема-то довольно частая. Суть проблемы в следующем: неправильное наименование кодировки utf-8 в настройках nginx/apache. При этом отдаваемый сервером контент воспринимается нормально во всех браузерах, кроме Internet Explorer-a.
26
2011
Zend_Soap_AutoDiscover и eAccelerator
Сегодня хочу рассказать об одной проблеме, с которой я столкнулся совсем недавно. Надеюсь, что мой опыт, описанный в данной статье, поможет сэкономить часы и нервные клетки тем людям, кто занимается разработкой SOAP сервисов с использованием Zend Framework, и в частности класса Zend_Soap_AutoDiscover.
Проблема заключается в том, что Zend_Soap_AutoDiscover отрабатывает некорректно вкупе с использованием известного оптимизатора кода eAccelerator. А именно, если быть точным некорректно работает метод ReflectionClass::getDocComment(). Но…обо всем по порядку.
21
2011
Плагин Illuminations для Firebug-а
Хочу поделиться одной интересной находкой, откопанной среди плагинов Firefox-а. Называется этот плагин Illuminations for Developers for Firebug и представляет из себя дополнение к Firebug для работы с тяжеловесными JS либами, преимущественно с ExtJS и Sencha Touch. Помимо этого, создателями заявлено, что в beta-версии плагин поддерживает Dojo Toolkit, SproutCore, qooxdoo, YUI, Google Closure Library, jQuery UI. Поскольку по работе мне в основном приходится использовать ExtJS, то в первую очередь было интересно, как данный плагин поможет в разработке именно на основе этой библиотеки.
20
2011
Apache MultiViews, или почему web-сервер находит нужный файл даже без указания расширения
Столкнулся я с этой странностью совершенно случайно. Один мой коллега по ошибке забыл добавить расширение к подключаемому JavaScript-файлу. В коде страницы выглядело это примерно так:
<script type='text/javascript' src='/js/some'></script>
Каково же было мое удивление, когда Apache вместо вполне ожидаемой 404 страницы и ответа в духе «пошел нафик, такого файла не существует», выдавал корректный JS как ни в чем не бывало. Спрашивается, как же так? Почему Apache при запросе файла без расширения отдаёт тот файл, у которого совпадает имя до расширения? o.O
18
2011
Zend PHP 5 Certification Practice Test
Не так давно, а именно в октябре 2010 года, компания Zend немного обновила систему сертификации PHP5 инженеров. Так, если раньше тестирование проводилось по версии 5.1, то теперь проводится по 5.3 (привет namespaces, late static bindings и замыкания
). Были переформированы темы тестирования — вместо 12ти прежних, теперь их 10. И что самое главное, из Zend маркета убрали подготовительные тесты. Раньше их можно было приобрести в количестве 1, 5 или 10 штук за относительно скромные деньги (10 стоили порядка 22$). Сейчас же вместо них за довольно-таки нехилую сумму в 1000$ можно приобрести так называемый Test Prep: Zend PHP 5.3 Certification Training (подготовительный online-треннинг для продвинутых php-программистов) и ваучер на прохождение тестирования. Кстати, о ваучере… если для версии 5.1 он стоил 125$, то теперь цену подняли до 195$.
17
2011
Удаление устаревших PHP сессий в Debian
Ни для кого не секрет, что в PHP существует так называемый «garbage collector» — сборщик мусора для удаления устаревших сессионных данных. По умолчанию, garbage collector подчищает только те сессии, которые не были использваны в течении предыдущих 24х минут (время задается в директиве session.gc_maxlifetime файла конфигурации php.ini), а сами сессии храняться в файлах. Так же garbage collector запускается при старте механизма сессий (т. е.session_start()), но не каждый раз, а с некой периодичностью, определяемой соотношением величин session.gc_probability / session.gc_divisor — это «вероятность» запуска сборщика мусора. И вообщем-то казалось бы все довольно очевидно и кроссплатформено, но … оказывается что в Debian-е все устроено не совсем так, как у всех
4
2011
Про ошибки и исключения в PHP
![]() |
Данная статья ни в коем случае не претендует на пересказ мануала, а содержит некие размышления на тему генерации эрроров и использования исключений в PHP5: 1. Errors & exceptions. В чем отличия и что когда использовать |
Метки
Рубрики
- Apache (1)
- JavaScript (1)
- Linux (3)
- MySQL (1)
- Perl (1)
- PHP (5)
- Python (1)
- Web-разработка (1)
- За жизнь (2)

