Личный опыт разработки ПО

Сборник рецептов

Архив за 11 2009

WordPress, myStat и проблемы с RSS

2 комментария »

Сегодня прикручивая к блогу подписку по RSS обнаружил, что записи не проходят валидацию. Валидатор ругался на следующий кусок:

<img style='margin:0;padding:0;border:0;' width='1px' height='1px'
src="http://www.devexp.ru/.../plugins/mystat/mystat.php?act=time_load&id=123&rnd=123456789" />

Из чего несложно догадаться, что виновником является плагин myStat. Поиск решения в интернете успехом не увенчался, не удалось связаться и с автором — Смышляевым Евгением, так как на его сайте к сожалению нет ни адреса электронной почты, ни другой контактной информации. Но мы так просто не отступаем и я полез в код. Очевидно, что приведенный фрагмент отвечает за работу счетчика, пользователю показывают невидимую картинку, тем самым накапливая статистику, что в рассылке совершенно не требуется, а значит от этого там можно безболезненно избавиться. Сходу удалось найти место где формируется данный HTML код — это функция myStat_footer() в файле mystat.php:

1
2
3
4
5
function myStat_footer(){
	global $cmn;
	if($cmn->getParam("myStat_debug")==1){$cmn->setDebug('FOOTER LOAD');};
	echo "<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src=\"".WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))."/mystat.php"."?act=time_load&id=".$GLOBALS['myStat_id']."&rnd=".rand()."\" />";
}

Небольшие исправления:

1
2
3
4
5
6
7
function myStat_footer(){
	if(!is_feed()){
		global $cmn;
		if($cmn->getParam("myStat_debug")==1){$cmn->setDebug('FOOTER LOAD');};
		echo "<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src=\"".WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))."/mystat.php"."?act=time_load&id=".$GLOBALS['myStat_id']."&rnd=".rand()."\" />";
	}
}

И проблема решена.

30th Ноябрь 2009
1:11

Рубрика: Интернет

Метки: ,

Как хранить проекты в хранилище кода?

1 комментарий »

Проект состоит как из своего кода, так и из библиотек сторонних разработчиков. Естественно возникает вопрос как хранить это добро. На этот вопрос я попытаюсь дать рекомендации на основании собственного опыта.

Основные требования:

  • Разработчик должен быстро приступить к работе не забивая голову установкой десятка библиотек.
  • Библиотеки должны быть доступны из разных проектов, при этом необходимо избежать дублирования кода в репозиториях.
  • Должна быть возможность сохранять определенные состояния проекта: новые версии, номерные сборки для тестеров и т.д.

Читать заметку полностью »

Системы управления версиями на примере Subversion. Введение

3 комментария »

До моей первой работы в качестве программиста, я решительно ничего не знал о системах управления версиями, даже данный термин был для меня пустым звуком. Объяснить что это такое и для чего оно вообще нужно, никто не посчитал нужным, поэтому пришлось выяснять это самому. Да, на некоторое время я просто возненавидел сам процесс комита, когда мне говорили, что нужно файлы добавить в таг, я бледнел, а уж когда CVS мне сообщала о конфликте в коде, я просто паниковал. На самом деле это просто еще один полезный инструмент, просто нужно понять для чего он и показать пару приемов. Собственно заметка об этом.

Читать заметку полностью »

8th Ноябрь 2009
19:43

Заводим блог

4 комментария »

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

Что для этого нужно?

  1. Хостинг
  2. Движок
  3. Все настроить
    1. Настройка движка
    2. Установка темы
    3. Плагины

Читать заметку полностью »

7th Ноябрь 2009
19:52

Рубрика: Интернет

Метки: ,