23 July 2010

Кто стоит за соединениями?

Читаем на Хабре, как поставить процесс в соответствие соединению MySQL.

14 June 2010

Инфоблоки, собственные инструменты для предметки

Чем больше пишешь свои собственные классы модели предметной области с собственными админками для них, пусть и с инфоблоками внизу, тем менее актуальными становятся фишки этих самих инфоблоков —они превращаются просто в хранилище данных и ничего более. События добавление/обновления/удаления, специальные типы свойсв, всё теряет смысл. И зачем тогда брать Битрикс, если ифоблоки используются тупо как таблицы в РБД?

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

19 May 2010

Нужен ли отдельный модуль?

С некоторой периодичность появляются комментарии с вопросами к моему решению по отправке почты Битрикса через GMail. Возможно, стоит обернуть в модуль?

15 March 2010

Zend_Queue и подключение к нескольким очередям (в СУБД)

Довольно часты бывает нужно в одном скрипте подключиться к нескольким очередям (которые хранятся в СУБД). В ZF (Zend_Queue) до недавнего времени не было такой возможности, появилась она только в 1.10.

Указываем вместо:
$someQueue = new Zend_Queue('Db', array(
  'driverOptions' => array(
   'host'      => 'host',
   'username'  => 'username',
   'password'  => 'password',
   'dbname'    => 'dbname',
   'type'      => 'pdo_mysql',
  ),
  'options' => array(
   Zend_Db_Select::FOR_UPDATE => true
  ),
  'name' => 'some-queue'
 )
);

Вот это:

$connection = Zend_Db::factory(
 'Pdo_Mysql',
 array(
  'host'      => 'host',
  'username'  => 'username',
  'password'  => 'password',
  'dbname'    => 'dbname',
 )
);

$someQueue = new Zend_Queue('Db', array(
  'dbAdapter' => $connection,
  'options' => array(
   Zend_Db_Select::FOR_UPDATE => true
  ),
  'name' => 'some-queue'
 )
);

$anotherQueue = new Zend_Queue('Db', array(
  'dbAdapter' => $connection,
  'options' => array(
   Zend_Db_Select::FOR_UPDATE => true
  ),
  'name' => 'another-queue'
 )
);

$someQueue и $anotherQueue делаят одно подключение. Completed!

7 March 2010

Чтобы не забыть: MP3 в UTF-8 (OS X)

Что-то в этот раз не пошёл у меня mp3unicode, легче было установить mutagen:

$> sudo port install py-mutagen

И перекодировать нужные файлы (в текущем каталоге) такой простой командой:

$> find . -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1