Класс для работы с Sitemaps

16 Июнь 2008 – 19:56

Выкладываю самописный класс для работы с Sitemaps. Класс умеет генерировать (SimpleXML) новую sitemap или добавлять в уже существующую позиции из массива ссылок и необязательных параметров (lastmod, changefreq, priority). Умеет уведомлять поисковик о сгенерированной карте (CURL). Пишет лог в БД (через PDO). Позже добавлю еще пару полезных методов. Если что непонятно - спрашивайте. Также приветствуются поправки и рекомендации.

Читать далее »

Лицензии на свободное ПО

28 Май 2008 – 11:52

Даже при условии свободного распространения написанной вами программы важно позаботиться о лицензии, которая определит права пользователей и ограничит претензии к разработчику. Я уже публиковал FAQ по самой распространенной в мире свободного ПО лицензии - GNU GPL. Лицензий на различные виды свободных информационных продуктов существует достаточно много, но думаю, разумнее использовать наиболее распространенные и хорошо известные конечному пользователю (GPL, Creative Commons, MIT, BSD и т.д.). Основные лицензии могут использоваться также для защиты документации, изображений, текстов, шрифтов.

Основу лицензий на свободное ПО составляют 4 права:

  • право запуска программы
  • право доступа к исходному коду для изучения и модификации
  • право распространения копий
  • право улучшать и публиковать улучшенную версию

Читать далее »

Кэширование в PHP

18 Май 2008 – 14:55

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

Первый вариант - использование PEAR пакета Cache_Lite для выборочного кэширования данных.
Это небольшое и простое решение позволяет кэшировать как результаты запроса, так и страницу целиком.
Сохраняем в кэше (в директории /to/cachedir/) результаты mysql запроса, время жизни устанавливаем 1 час:

  1.  
  2. require_once 'Cache/Lite.php';
  3.  
  4. $query = 'SELECT * FROM `tab`';
  5.  
  6. $cache = new Cache_Lite(array('cacheDir' => '/to/cachedir/', 'lifeTime' => 3600));
  7.  
  8. if (!($res_id = $cache->get($query))) {
  9.    $res_id = mysql_query($query);
  10.    $cache->save($res_id, $query);
  11. }
  12.  

 

  • Для вызова функции и последующего кэширования результатов ее работы можно использовать класс Cache_Lite_Function.
  • Класс Cache_Lite_Output использует функции буферизации для перехвата данных, сгенерированных PHP скриптом, и сохранят результат в кэше. Последний класс в связке с .htaccess можно легко приспособить для полного кэширования всего вывода. Не забывайте защищать каталоги с файлами кэша.
    Читать далее »

  • Социальные сети

    19 Апрель 2008 – 17:08

    Нашел интересную карту распространенности социальных сетей по территориям. Куда-то пропали Япония, Китай и Центральная Европа. Насколько мне известно, вся Япония сидит в Mixi, про Китай не в курсе, в Центральной Европе, похоже, сборная солянка. В графике "Азия" забыли указать популярный там Hi5.

    (карта под катом)
    Читать далее »

    “narod.ru” для умных

    13 Апрель 2008 – 20:44

    Ребята из Google развернули хостинг-платформу для размещения сторонними разработчиками своих проектов на родной гугловской инфраструктуре - Google App Engine. Похожие сервисы уже предлагались Amazon - Amazon Web Services, они включали: S3 (Simple Storage Service - дисковое пространство), EC2 (Elastic Compute Cloud - вычислительные ресурсы) и SQS (Simple Queue Service - служба сообщений). Смысл в том, что б снять с разработчика заботу об инфраструктуре, позволить ему направить все силы непосредственно на разработку.

    Похоже, что вывод своего предложения Google решил совместить с PR-компанией в поддержку Python и его фреймворка Django, в надежде в ответ получить большое количество восторженных отзывов от, хоть и достаточно большой, но еще не избалованной вниманием армии питонщиков. Питонщики в долгу не остались и добросовестно пропиарили GAE. Однако, учитывая что "infrastructure is designed to be language neutral", надо думать поддержка PHP в GAE будет реализована.
    Читать далее »

    главная | разработка | сайт-визитка | бизнес-сайт | интернет-магазин | компоненты сайта | продвижение | цены | карта сайта | контакты