Работаем с XML данными и XPath в MySQL

Базы данных, Программирование 13.04.2009

mysql-xpath

Как известно, в MySQL 5.1 внедрили функции для работы с XML, сегодня я расскажу про эти две функции более подробно, а так же вкратце опишу как работать с XPath в MySQL.

Для работы с XML есть две функции:

  1. ExtractValue () — Позволяет выбирать записи средствами XPAth;
  2. UpdateXML () — Возвращает измененный XML-фрагмент.

Функция ExtractValue и XPath

Синтаксис следующий:

ExtractValue (xml_frag, xpath_expr)

Для примеров, я буду работать с переменной, но с тем же успехом вы можете записать XML-фрагмент в любое поле с текстовым типом данных. XPath поддерживается на любом движке.

Создадим переменную @xml:

mysql> SET @xml = '<x id="xx"><y id="yy"><z id="zz">test</z></y></x>';

Выберем XML-фрагмент с помощью XPath:

mysql> SELECT @xml, ExtractValue(@xml, '//z');
+---------------------------------------------------+---------------------------+
| @xml                                              | ExtractValue(@xml, '//z') |
+---------------------------------------------------+---------------------------+
| <x id="xx"><y id="yy"><z id="zz">test</z></y></x> | test                      |
+---------------------------------------------------+---------------------------+
1 ROW IN SET (0.00 sec)

Как видно, мы выбрали содержимое ноды <z> -> «test».

Читать полностью »

Настройка групп и прав в Subversion

Инструменты, Операционные системы, Программирование 28.03.2009

subversion_gr

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

Для этого вам понадобится создать в системе файл svn-authz-access (называйте его как хотите) и прописать путь до файла в секцию настройки SVN в Apache.

Настройки

Открываем для редактирования файл /usr/local/etc/apache22/httpd.conf и добавляем в секцию <location /svn> запись о файле:

AuthzSVNAccessFile /home/svn/svn-authz-access

Информацию о секции можете посмотреть в предыдущем моем посте FreeBSD. Установка и настройка Subversion

Создадим и отредактируем файл svn-authz-access

touch /home/svn/svn-authz-access
vi /home/svn/svn-authz-access

Читать полностью »

Сервис SeoTools и вычисление PR и ТиЦ средствами PHP

Интернет сервисы, Программирование 27.03.2009

seo.adw0rd.ru

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

Идея!

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

После чего формировать диаграммы и графики и рассчитывать примерный рост и т.д. То есть давать прогнозы!

Сервис

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

Читать полностью »

Купил книгу «Джоэл: И снова о программировании»

Личка, Программирование 04.03.2009

Так мне хотелось купить относительно новую книгу Джоэла Спольски «Джоэл: И снова о программировании» (2009), что не удержался и купил. Я давно знаком с этим автором, однако стал увлекаться его работами с полгода назад.

После прочтения «Джоэл: О программировании» (2006) я подписался на его блог и стал его фанатом! Он действительно пишет интересно и об интересном! Читаю его практически всегда с жадностью и взахлёб! :)

Joel

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

UPD: http://russian.joelonsoftware.com/

FreeBSD. Установка и настройка Subversion

Базы данных, Инструменты, Операционные системы, Программирование 26.02.2009

subversion

Subversionсвободная централизованная система управления версиями.

Subversion разработана специально для замены устаревшей системы CVS,
распространённой открытой системы управления версиями.

Subversion обладает всеми основными функциями CVS (хотя некоторые из них выполняет другими способами) и свободна от ряда её недостатков.

Установка

Для начала соберем Apache с поддержкой Berkley DB, так как я предпочитаю именно этот способ хранения данных.

cd /usr/ports/www/apache22/
make install WITH_BERKELEYDB=db42

Если Apache уже установлен, то

make reinstall WITH_BERKELEYDB=db42

на худой конец, если невозможно пересобрать Apache, то

make deinstall && make clean

можно еще зачистить

rm -rf /usr/ports/distfiles/*

а потом снова повторить установку!

Для запуска Apache при старте системы — прописываем в /etc/rc.conf

apache2_enable="YES"

Далее, устанавливаем Subversion

cd /usr/ports/devel/subversion
make config

выбираем MOD_DAV_SVN и BDB

make install

Проверьте, есть ли записи в /usr/local/etc/apache22/httpd.conf

LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so

Где «libexec/apache22/» — ваш путь до модулей индейца.

Перезагружаем индейца

apachectl restart

Читать полностью »