Category Archives: Administration
Конвертирование проекта из SVN в Mercurial
В fedora linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ sudo yum install mercurial $ cd ~/converted $ hg convert $ hg help extensions $ hg help config $ sudo nano /etc/mercurial/hgrc [--пишем--] [extensions] convert = $ hg convert http://[url]/main/trunk/source $ cd ~/hg-repo $ hg init $ hg clone ~/converted |
Баги в библиотеке memcached (getMulti)
Долго боролись с багом при использовании Memcached::getMulti в php 5.3.8. Как это было: Сначала данные складываются в кэш под некоторыми ключами, потом происходит считывание
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$cached = cache->getMulti( $cacheKeys ); foreach ( $actions as &$action ) { $actionCacheKey = self::getCacheKey( $action ); if ( array_key_exists( $actionCacheKey, $cached ) ) { $action = $cached[$actionCacheKey]; } else if ( in_array( $actionCacheKey, array_keys( $cached ) ) ) { die( '!!' ); } else { $action = self::factory( $action ); } } |
Так вот, if ( array_key_exists( $actionCacheKey, $cached ) ) не отрабатывает никогда (равно как isset и ! empty). При этом условие else if ( in_array( $actionCacheKey, array_keys( $cached ) ) …
Отчёты о рассылках на ящики mail.ru
http://postmaster.mail.ru/. Небольшое описание — http://habrahabr.ru/company/mailru/blog/138107/.
WebDav и Nginx
WebDav и Nginx — централизованное хранение файлов на удалённом сервере без тяжёлого софта на нём.
Полезные ссылки по capistrano
Официальная wiki мне не понравилась, половина ссылок — битые (тут — основные переменные) Подробная презентация, как сделать свой конфиг shared_path Описание переменных (variables) Лучше лишний раз уточнить, в чём разница между current_path и release_path
Познавательное обсуждение о том, почему всё нужно собирать руками
Тут у человека систематически виснет fpm, попытки это вылечить и самый дельный совет — «собирать нужный софт для production-сервера нужно руками». http://phpclub.ru/talk/threads/%D0%B7%D0%B0%D0%B2%D0%B8%D1%81-fpm.66810/
Проверка dns-записей домена из командной строки
1 |
dig 3dnews.ru ANY |
Выводит все dns-записи, относящиеся к домену. Возились с spf-записями для валидации писем — нужный заголовок выглядит примерно так:
1 |
3dnews.ru. 674 IN TXT "v=spf1 a:3dnews.ru mx ~all" |
DKIM для подтверждения, что почта отправлена с указанного домена
Для борьбы со спам-фильтрами gmail и яндекса, и чтобы доказать, что не верблюд, можно заморочаться и добавить дополнительный заголовок к письму и дополнительную запись в dns. Называется это всё DomainKeys Identified Mail. Очень понятно написано здесь: http://habrahabr.ru/blogs/spam/106589/, генерация ключей: http://www.port25.com/support/support_dkwz.php
Kyoto Tycoon: интересное noSQL хранилище/кэш
Kyoto Tycoon в общем-то аналог MemcacheDB, но некоторые утверждают, что Kyoto Tycoon лучше. Думаем использовать. Там всё просто (через API Memcached):
1 2 3 4 5 6 |
$kyoto = new Memcached();// для persistent: $kyoto = new Memcached( 'heyhey' ); $kyoto->addServer( '127.0.0.1', '22122' );// kyoto // $kyoto->addServer( '127.0.0.1', '11211' );// memcached $kyoto->set( 'my_key', array( 'key1' => array( 1 ), 'key2' => null ) ); $kyoto->get( 'my_key' ); |
Здесь про более старую версию (связка Tokyo cabinet и tokyo tyrant). http://sameerparwani.com/posts/tokyo-tyrant-with-php, http://sameerparwani.com/posts/installing-tokyo-cabinet-and-tokyo-tyrant