アーカイブ

2007 年 7 月 のアーカイブ

今日のチェキ 2007-07-31

2007 年 7 月 31 日 コメント 9 件
カテゴリー: 日記 タグ:

今日のチェキ 2007-07-30

2007 年 7 月 30 日 コメントはありません

エントリーが1000になる前にはてブが100になったので俺ルールで引越し中止

アップルのサポート体制とiPodの無料交換システム
どうせ対応は派遣、アルバイトですよ

今日は土用の丑の日(前編):そのウナギは本当に国産なのか?
日本の養殖場で1週間過ごさせました>国産うなぎ
白蒲焼を輸入して日本でたれをつけて火を通しました>国産蒲焼
ここら辺は昔からですが、最近は某ミートの人の「だまされるほうが悪い」のせいで純国産かも疑ってしまいます

はてなブックマーク – じわじわ来てるエントリー

これは盗作とちゃうんかいっ・決裂篇

「北京五輪で、世界新は無理」「短い競技は日帰りで。外食はしないほうがいい」 …JOC、大気汚染や食の安全性を懸念

モバイルオンラインショッピングに関する調査–オンラインショッピング利用時、事前に購入商品を決めている43.3%

富士通、FOMAカードのスロットつきPC開発

Wikia、分散Webクローラー「Grub」をLookSmartから買収

MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」

au、Gmailを活用したウェブメールを開始

大企業も必須となったモバイルマーケティングの先行事例

Second Lifeは話題先行?「興味なし」が7割以上、アイシェア調査
電通涙目
Second Lifeにゲーム「クーロンズゲート」を再現したSIMとかは素敵だと思います

カテゴリー: 日記 タグ:

Permalinkを固定化したい

2007 年 7 月 30 日 コメントはありません

諸事情によりもうちょいNucleus利用することにしました。
てことで、Permalink問題。
サイト側が吐くPermalinkは、アクセスの98%は想定したものになっているのでよし。
問題はサーチエンジン、その他からのアクセスがあった場合。
itemidのみでアクセスがあったらcatidを付加してリダイレクトというプラグインをさらっと。


    function event_PreItem(&$data)
    {
        $blogurl    = $data['blog']->settings['burl'];
        $itemid     = $data['item']->itemid;
        $catid      = $data['item']->catid;
        $anchor     = strstr($_SERVER['QUERY_STRING'], '#');
        if (intGetVar('itemid') && !intGetVar('catid')) {
            redirect("{$blogurl}?itemid={$itemid}&catid={$catid}{$anchor}");
        }
    } 

アーカイブの個別アイテム利用してない、カテゴリが常にひとつ存在する、FuncyURL利用してない場合と制限が多いので汎用性のあるプラグインにするの面倒なので自分専用。
どこかにいい方法みつけて実装してそうだし。
この程度だと探す手間>自作だったので。

Nucleusのプラグインの仕様、思ったよりしっかりしてることにびっくり。
なんで、global使いまくりのプラグインが乱立したんだろ。
時代のせいかな。

ついでにverを3.3にアップしました。
アップデート簡単すぎ。
直接コアファイルをいじった記憶はありませんが、なんか不具合を発見しましたらこっそり教えてください。

カテゴリー: 日記 タグ:

今日のチェキ 2007-07-25

2007 年 7 月 30 日 コメントはありません
カテゴリー: 日記 タグ:

今日のチェキ 2007-07-29

2007 年 7 月 29 日 コメントはありません
カテゴリー: 日記 タグ:

今日のチェキ 2007-07-28

2007 年 7 月 28 日 コメントはありません
カテゴリー: 日記 タグ:

今日のチェキ 2007-07-27

2007 年 7 月 27 日 コメント 1 件
カテゴリー: 日記 タグ:

PostgreSQLのインデックスマージは8.1以降

2007 年 7 月 27 日 コメントはありません

MySQLは5.0から。

それより前では利用されるインデックスはひとつのみ。
複合インデックスを利用しましょう。

適当にぺちぺち無駄なインデックス張るなと。
regist_dateとかいうtimestamp型にインデックス張ったらほぼ全レコード数のインデックスが。
そもそもregistなんて単語ないんですよ、registerならありますけど。

EXPLAINで常にクエリのコストをチェックしてくださいマジで。

うぉー。

カテゴリー: 日記 タグ:

EthnaプラグインCachemanagerの使い方

2007 年 7 月 26 日 コメント 1 件

簡単な使い方


// このキャッシュKeyを設定する
$cache_key = '123';

// Cachemanager オブジェクトを生成する
$plugin =& $this->backend->getPlugin();
$cache_manager =& $plugin->getPlugin('Cachemanager', 'Localfile');

// このKeyに対する有効なキャッシュがあるかどうかテストする
if ($cache_manager->isCached($cache_key) { // キャッシュがヒットした !
    $data = $cache_manager->get($cache_key);
} else { // 有効なキャッシュが見つからなかった
    $data = 'hoge';
    // データをキャッシュする
    $cache_manager->set($cache_key);
} 

実際使うとなるとこんな感じです。


// キャッシュマネージャオブジェクトを生成する
$plugin =& $this->backend->getPlugin();
$cache_manager =& $plugin->getPlugin('Cachemanager', 'Localfile');

// Services_Amazonオブジェクトを生成する
$ecs4 =& new Services_AmazonECS4('access_key_id', 'associate_id');
$search_index = 'Books';
$options = array(
    'ResponseGroup' = 'Large',
    'Keywords'      = 'Ethna',
);

// 一意となるキャッシュキー(文字列)を生成する
$cache_key = md5('ItemSearch' . $search_index . serialize($options));
$cache_lifetime = 3600;
$cache_namespace = 'Services_Amazon';

// 有効なキャッシュが存在するか確認する
if ($cache_manager->isCached($cache_key, $cache_lifetime, $cache_namespace)) {
    // キャッシュを取得する
    $result = $cache_manager->get($cache_key, $cache_lifetime, $cache_namespace);
    if (!Ethna::isError($result)) {
        // キャッシュデータをセットしViewへ遷移
        $this->af->setAppNe('amazon_items', $result);
        return 'amazon_search';
    }
}

// データの取得
// 実際はここでServices_Amazonオブジェクトを生成すべき
$result =& $ecs4->ItemSearch($search_index, $options);
// キャッシュへ保存
$cache_manager->set($cache_key, $result, $cache_lifetime, $cache_namespace);

// 取得データをセットしViewへ遷移
$this->af->setAppNe('amazon_items', $result);
return 'amazon_search'; 

いや、ほんとは適当に書いたのでsyntaxエラーすらチェックしてません。
上記の例ではCachemanager_Localfileを利用していますが、Cachemanager_Memcachedでもそのまま利用できます。
namespace丸ごとキャッシュ削除や、JoJoに古いor利用されていないキャッシュが削除されていく機能は実装されていませんので、誰かがんばれ。
クラスリファレンスはあるから、wikiに必要なのはこの程度の利用法だけでいいのかな。
誰か修正してくれるだろうし、もうちょいまともにしてから投げます。

カテゴリー: 日記 タグ:

今日のチェキ 2007-07-26

2007 年 7 月 26 日 コメントはありません
カテゴリー: 日記 タグ: