Jul 21 2008

PHP профайлер Xdebug

Category: PHP,ОтладкаIgor @ 23:11

Есть такой замечательный отладчик/профайлер Xdebug. Как для Windows так и для никсов.

Сайт разработчика: xdebug.org.

Что это такое это? Это расширение для PHP, которое работает как debugger и profiler. В настройках можно указать, что использовать, а что нет, можно все включить. Очень важные параметр xdebug.profiler_output_name, если его оставить по умолчанию, тогда вся отладочная информация будет записываться в один файл, а это бывает плохо, т.к. грузиться, например, страница, а с ней запускается 3- и больше файлов PHP: сама страница, Ajax, CSS, локализация. И в итоге в отладке будет последний файл. А так с помощью маски получаем уникальные файлы. В данном случае в таком виде: cachegrind.out.1208803760.D_home_demo-site_htdocs_sf_sandbox_web_index_php. В общем на офф. сайте можно найти подробнейшую помощь по Xdebug.

Подключение его в php.ini:

[Xdebug]
zend_extension_ts="php_xdebug-2.0.3-5.2.5.dll"
xdebug.default_enable = Off

xdebug.profiler_enable = Off ;Off
xdebug.profiler_output_dir = "/tmp/xdebug/cachegrid"
xdebug.profiler_append = On
xdebug.profiler_output_name = "cachegrind.out.%t.%s"

xdebug.auto_trace = Off
xdebug.trace_format = 0
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.collect_includes = 1
xdebug.trace_options = 1
xdebug.trace_output_dir = "/tmp/xdebug/trace"

Программы для просмотра логов profiler:

  1. KCacheGrind — не юзал.
  2. WinCacheGrind — софтина под Винду, старая, апреля 2005 года. На её данные особо опираться не следует, т.к. информация относительная. Но общую картину дать может. Сам пользуюсь. Несколько раз показала интересные вещи, плюс помогла найти баги.
  3. CachegrindVisualizer — с офф. сайта. Это кроссплатформенная программа для визуализации файлов в формате Callgrind, в частности, его подмножества используемого Cachegrind. Профайлер Xdebug является совместимым с Cachegrind.
  4. Webgrind — Xdebug profiling c web frontend на PHP5. Все просто скопировал файлы, конфиг прочитался автоматом из настроек php.ini. Стоит только выбрать файл, и результат на экран. Минус — все написано на ПХП и если файл профайлера огромный, то будут тормоза.
  5. XDebugClient — это клиент для дебаггера, прослушает его и отображает у себя в консоли, только под Windows, не проверял.

Что можно почитать:


Jul 19 2008

Online Time Tracking — системы учета времени

Category: TMIgor @ 19:12

Онлайн системы учета времени.

Список других системы:


Jul 19 2008

CSS: Лишние отступы под изображениями

Category: CSSIgor @ 18:39

Решаем проблему с отступами под изображениями.

img {
  vertical-align: top;
}

Источник:
Лишние отступы под изображениями в IE6,7
Habrahabr: Убираем лишний отступ внизу изображения


Jul 19 2008

Материалы по Юзабилити

Category: ЮзабилитиIgor @ 18:21

Материал по базовым основам usability: модульная сетка, резина…

http://habrahabr.ru/blog/web_design/32264.html
http://www.htmlbook.ru/content/?id=79
http://www.artevolve.ru/articles_03.htm

Ссылки на ресурсы по юзабилити

Книги по дизайну:

Блоги:
http://www.birzool.com/

Программа для создание прототипов Axure PR:
http://guicci.ru/2006/12/08/axure-rp-pro-sredstvo-dlya-prototipirovaniya/
http://guicci.ru/2008/04/01/axure-the-best-for-sure-with-denwer/
http://guicci.ru/2008/04/06/axure-urok-1-sozdaem-globalnoe-menyu-sayta-na-zakladkah/


Jul 19 2008

IE png fix

Category: CSSIgor @ 17:42

Очень хорошее решение, недавно обновилось, обещают поддержку background-position и background-repeat.

IEPNGFix v2.0 Alpha


Jul 19 2008

jQuery примеры реализации. Примеры слайдеров, LightBox

Category: JavascriptIgor @ 17:36

На сайте vremenno.net выложили неплохие подборки примеров использования jQuery — Пятничные сниппеты:
Часть 1
Часть 2
Часть 3

Примеры меню

JavaScript слайдеры. Только лучшее.

Lightbox and Clones
http://planetozh.com/projects/lightbox-clones/ — Comparison of various scripts that display images and other objects in somehow cool CSS popups.


Jul 19 2008

Полезные шпаргалки для программистов

Category: Cheat SheetsIgor @ 17:11

Список ресурсов с веб-шпаргалками:

http://sixrevisions.com/resources/cheat_sheets_web_developer/
http://www.addedbytes.com/cheat-sheets/
http://wpcandy.com/articles/tutorials/the-advanced-wordpress-help-sheet.html
http://www.cheat-sheets.org/

Коды символов:
http://tools.khrido.com/webtools/extended-html-characters-list.aspx


Jul 19 2008

Windows Apache под Symfony умирает

Category: SymfonyIgor @ 12:11

Почему такое возникает? Оказалось все дело в Xdebug — это модуль для отладки в PHP.

Решение:

  1. Отключить Xdebug
  2. Пропатчить один файл — собственно этот вариант меня больше удовлетворяет

Нужно патчить следующий файл: sfWebDebugLogger.class.php

Найти:

if ($this->xdebugLogging && function_exists('xdebug_get_function_stack'))

Заменить на :

if (false)


Предположение — не хватает памяти для Apache, не проверял, но может поможет.


Jul 19 2008

Директива Apache RewriteLog для логирования mod_rewrite

Category: ApacheIgor @ 11:14

У Апача есть интересная директива для отладки модуля mod_rewrite.

Документация: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog

Описание: Устанавливает имя файла используемое для ведения журнала механизма преобразования
Синтаксис: RewriteLog file-path
Контекст: server config, virtual host
Статус: Расширение
Модуль: mod_rewrite

Директива RewriteLog устанавливает имя файла в котором сервер ведет журнал любых происходящих действий по преобразованиям URL. Если это имя не начинается со слэша (‘/’) в этом случае путь считается от Server Root. В конфигурационном файле сервера эта директива должна встречаться только один раз.

RewriteLog "logs/dummy-host.somenet-rewrite.log"

Для отключения ведения журнала преобразований не рекомендуется устанавливать Filename в /dev/null, потому что хотя механизм преобразований и не производит вывод в файл журнала в этом случае, внутри он все ещё ведет журнализацию. Это замедлит сервер без каких-либо преимуществ для администратора! Для отключения ведения журнала либо удалите либо закомментируйте директиву RewriteLog либо используйте RewriteLogLevel 0, диапазон значений от 0 до 9 — записываются почти все действия модуля.

Пример:

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.somenet
DocumentRoot "D:/usr/apache2/docs/dummy-host.somenet"
ServerName dummy-host.somenet
ServerAlias www.dummy-host.somenet
ErrorLog "logs/dummy-host.somenet-error.log"
CustomLog "logs/dummy-host.somenet-access.log" common
RewriteLog "logs/dummy-host.somenet-rewrite.log"
RewriteLogLevel 3
</VirtualHost>


Jul 15 2008

Привет, мир!

Category: РазноеIgor @ 23:22

Привет Мир! Полет нормальный :)


← Предыдущая страница