Архив марта 2009

Ресурсы для оптимизации времени загрузки сайта

Вторник, 17 марта, 2009

Webo.In — еще один сайт для измерения времени загрузки. Примечателен тем, что кроме измерения и детального расписывания всех составляющих времени загрузки дает целый набор рекомендаций по повышению скорости загрузки сайта (включая как изменение самой Web-страницы, например, объединение/сжатие CSS, так и настройки Apache). Также содержит множество полезных статей по теме ускорения загрузки сайта.

DURIS — сайт, позволяющий сжимать CSS и применять в них технологию Data In URIs, с помощью которой можно помещать картинки в непосредственно в текст CSS, не получая их с сервера в виде отдельных файлов.

Локальный SMTP-сервер для тестирования скриптов

Четверг, 12 марта, 2009

При тестировании скриптов иногда возникает необходимость тестирования и их почтовых функций. Из-за ограничений, имеющихся в PHP, наиболее простым решением оказывается установка локального почтового сервера (к тому же в ситуациях, когда нужно протестировать массовую рассылку, это избавляет от необходимости регистрировать десятки ящиков на внешних сервисах). Одним из наиболее удачных решений (для OS Windows) с точки зрения соотношения функциональность/удобство использования/легковесность является hMailServer, который является как SMTP, так и POP3/IMAP-сервером.

Проблема с position: absolute в Internet Explorer

Воскресенье, 8 марта, 2009

Иногда при использовании абсолютного позиционирования возникают ситуации, когда в Internet Explorer 6 элемент позиционируется не относительно контейнера, а относительно всей страницы в целом (точнее относительно элемента, в который вложен этот контейнер, но чаще всего таким элементом и оказывается страница). Чтобы избавиться от этой ошибки, нужно вложить в контейнер еще один элемент div с явно заданной шириной:

<div id="containter" style="position: relative; ....">
<div style="width:100%">
<div id="element" style="position: absolute; ...;...">Содержимое элемента</div>
</div>
</div>

Ограничение “тяжелых” MySQL-запросов

Воскресенье, 8 марта, 2009

Иногда возникает ситуация, когда какой-либо тяжелый, но трудно отслеживамый MySQL-запрос замедляет работу всего сайта . К сожалению, MySQL не содержит средств ограничения времени выполнения запроса, как PHP, но есть другая весьма полезная (в случае SELECT-запросов) опция: max_join_size

Эта опция позволяет задать максимальное количество строк (или их комбинаций или обращений к диску), которое может быть просмотрено за один запрос. Если количество строк превысит заданное, выполнение запроса прерывается с ошибкой.

Данную опцию следует прописывать либо в my.cnf (секция mysqld), либо задавать динамически с помощью запроса SET @@max_join_size = значение (требуются права суперпользователя).


Rambler's Top100