Ars Longa, Vita Brevis

Меня всегда интересовало, насколько эффективно WordPress работает с базой данных, и насколько хорошо спроектирована база данных.

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

Однажды столкнувшись с ужасной производительностью WordPress и не имея возможности анализировать код десятка поставленных плагинов, я стал решать задачу иначе, в результате чего родился плагин для анализа SQL-запросов. Читать статью «SqlMon: плагин для анализа SQL-запросов» полностью…

Небольшой плагин для любителей HTTPS — помещает панель управления WordPress (админку, если по-русски) за HTTPS. Shane, специально для тебя! :-)

Возможно, кому-нибудь даже пригодится. Скачать WP Secure Admin.

Update: специальный бонус: плагин WP Secure Login — безопасный логин/регистрация/восстановление пароля. Скачать WP Secure Login.

Наверное, многие знают о плагине WP-CodeBox, написанном Eric Wang. Данный плагин provides clean syntax highlighting and AJAX advanced features for embedding source code within pages or posts, то есть всё то, что нужно блоггеру, который часто постит код. Для подсветки синтаксиса используется GeSHi. Читать статью «CodeBox: подсветка синтаксиса для WordPress» полностью…

Так уж случилось, что пришлось заняться разработкой расширений для Typo3. Так вот получилось, что буквально через 15 минут тесного знакомства я нарвался на фатальную ошибку, вызванную расширением ExtDevEval:

Fatal error: Cannot re-assign $this in /var/www/typo3.sjinks.org.ua/typo3conf/ext/extdeveval/class.tx_extdeveval_fetchContentTopMenu.php on line 36

Fatal error: Cannot re-assign $this in /var/www/typo3.sjinks.org.ua/typo3conf/ext/extdeveval/class.tx_extdeveval_fetchContentTopMenu.php on line 36
Читать статью «Typo3, ExtDevEval и PHP5: избавляемся от фатальных ошибок» полностью…

Сайт odnaknopka.ru предлагает для загрузки widget для WordPress, который позволяет использовать одну-единственную кнопку для добавления статьи в один из многих сервисов закладок (русский вариант AddThis!). Plugin для WordPress доступен для скачивания со страницы сайта. Читать статью «Русский AddThis — одна кнопка для всех сервисов закладок» полностью…

Принято считать, что замечательный Web-сервер nginx работает только под Unix-подобными операционными системами. Верно, но лишь отчасти. nginx превосходно собирается и в Cygwin. Возникает вопрос: а зачем это надо, собирать nginx под Windows? Ответ: я знаю достаточно много web-разработчиков, работающих в силу тех или иных причин под Windows. И в работе встречаются ситуации, когда на рабочей машине нужно создать конфигурацию, максимально похожую на конфигурацию сервера (production или development в данном случае не важно). Читать статью «Настройка nginx и PHP/FastCGI в Windows» полностью…

Начну сразу с причин, по которым я пишу эту статью. Я периодически просматриваю лог запросов, по которому люди попадают сюда, и вот один из запросов — хранить php сессию в mysql.

Итак, как же хранить PHP-сессии в базе данных? Читать статью «Хранение PHP-сессий в базе данных» полностью…

Иногда встречаются люди, повёрнутые на валидности (X)HTML/CSS. Что уж греха таить, я и сам такой временами :-)
Для подсветки синтаксиса я пользуюсь плагином WP-CodeBox. Хорошая вещь, но у него есть один маленький недостаток: разметка, которую он генерирует (и CSS, который он использует, но это другая история), не валидируется. Читать статью «Патч для WP CodeBox для Valid XHTML» полностью…

Март 6, 2008

Сессии PHP и unserialize()

Рубрика: PHP
Метки: , , ,
Vladimir

Иногда случаются ситуации, когда сессии приходится хранить в базе данных и, что еще хуже, иногда приходится читать данные из сериализованной сессии. Читать статью «Сессии PHP и unserialize()» полностью…