Записи с тэгом ‘Drupal’

XHProf: профилирование PHP

Friday, April 27th, 2012

Черную кошку в темной комнате искать бесполезно, особенно если ее там нет, а черного бультерьера – небезопасно, особенно если он там есть.

Народная мудрость

Если приходится иметь дело с web-приложениями, написанными на php, то надо быть готовым разбираться с тем, почему приложение работает медленно, откуда растут ноги у тормозов, почему растёт использование системных ресурсов при увеличении нагрузки и так далее. Тут очень пригодятся инструменты, позволяющие собрать кое-какую статистику о различных аспектах работы приложения.

Особую прелесть приобретает этот процесс, если ты не являешься автором приложения, и оно представляет для тебя просто большой закрытый чёрный ящик. Тогда профилирование приложения без тщательного исследования кода позволит проделать в чёрном ящике дырочку для нашего любопытного взгляда.

(more…)

Метки: , ,
Категория: Drupal, Nginx, PHP, Web-dev | Нет комментариев »


Drupal: остаёмся без Apache. Nginx + php_fpm

Friday, March 16th, 2012

Конечно, лучший индеец – это мёртвый индеец.

— Харуки Мураками «Охота на овец»

No Apache
Связка вида Apache + nginx всегда была для меня чем-то самим собой разумеющимся. Nginx отлично раздаёт статику, но не имеет поддержки php, perl, ajp и ещё многого нужного. Так бы и продолжалось дальше, но в какой-то момент я всё таки решил выкинуть одно звено из этой цепочки. И слабым звеном был признан Apache, не столько потому, что для работы сайта на Drupal он оказался совсем необязательным, а скорее из желания поэкспериментировать.

Целью эксперимента при этом вовсе не является желание ускорить работу сайта. Это всё-таки не Perl, где при переходе на FastCGI появляется изрядная прибавка в скорости выполнения, щедро оплачиваемая необходимостью переписывать код для совместимости с FastCGI. Но зато мы должны получить большую нагрузоустойчивость и меньший расход оперативной памяти сервера.

(more…)

Метки: , ,
Категория: Drupal, Nginx, Web-dev | 2 Комментариев »


Оквадрачивание всех картинок внутри директории

Friday, January 20th, 2012

Взгляни на его форму: квадрат, воплощение коварства!

— м/ф «SpongeBob SquarePants»

Возникла необходимость сделать все изображения в одной директории квадратными, причём таким образом, чтобы не нарушить центровку изображений. В моём случае это была директория с файлами изображений Drupal, поэтому задача разбивается на две части. Первая часть – универсальная – как автоматически отредактировать все изображения. Вторая часть – для Drupal – как обновить данные о новых изображениях в базе данных.

Пользоваться будем нашим любимым Perl и его модулем для работы с библиотекой ImageMagick.

(more…)

Метки: ,
Категория: Drupal, Perl | Нет комментариев »


Заметки о Drupal: Breadcrumbs

Thursday, January 19th, 2012


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

– Братья Гримм «Гензель и Гретель»

Сегодняшняя коротенькая заметка касается кастомизации цепочки навигации в Drupal, то есть breadcrumbs. Дело в том, что Drupal всегда по умолчанию вставляет в начало цепочки ссылку на главную страницу, а в конец не вставляет ссылку на текущую ноду. Вполне вероятно, что это где-то можно настроить, но я не нашёл. Ещё более вероятно, что есть модуль, решающий эту проблему,но ставить лишний модуль для такой ерунды совсем не хочется.

Поэтому привожу здесь вот такой вот сниппет для template.php нашей темы.

(more…)

Метки:
Категория: Drupal | Нет комментариев »


Drupal: ajax-автодополнение поиска

Tuesday, January 3rd, 2012


Правда иной раз гнётся, но никогда не ломается и всплывает поверх лжи, как масло — поверх воды.

– Мигель де Сервантес Сааведра

Как-то раз я уже писал про Ajax-автозаполнение (Ajax-autosuggest) своими силами. Там в комментариях было много возмущения из-за того, что никак не была рассмотрена серверная часть решения. Причины, по которым я о ней не писал, ясны: это абсолютное разнообразие возможных серверных решений. Например, мой Perl’овый cgi-скрипт никак не прояснил бы ситуацию человеку, работающему с PHP. А пример с серверной частью в виде модуля для Drupal совсем не поможет адепту Joomla. Но теперь моя совесть будет совсем чиста, так как я всё-таки опишу, как самостоятельно и с наименьшими трудозатратами сделать автодополнение для стандартного поиска в Drupal 7.

(more…)

Метки: , ,
Категория: Drupal | 6 Комментариев »