Feb 12
TAGって何?
その記事に対するキーワードって捕らえ方であってる?
本文中には含まれてないけど、こんなキーワードと実は絡んでますよ。みたいな。
今まで本文中に含まれてる・含まれてないに関係なく、関係ありそうな単語並べてただけなんだけど、人に説明しようとするとほんとにそれでいいのか自信ない… No Comments yet.

OpenID を使ってログインすることができます。
Identity URL:



Jan 17
Andyさんが Nucleus4 用に作ってた、タグとサブカテゴリの管理部分をスピンアウトしてプラグイン化すると、mixi の日記で書かれてたんで、それ用の ShowBlogs とか ItemNaviEX とか Dtree とかが必要になってくるのかなぁ…
と思って、テーブル構造について質問してみたところ、http://www.sitepoint.com/article/hierarchical-data-databaseのアルゴリズムを実装したものになるらしい…
えーと、英語がよく解らんのでナナメ読みしか出来なかったけど、tagと(サブ)カテゴリを別管理にする場合、plug_multiple_categories_subのツリー構造を読み取って、cleftとcrightを付け直してやればupdate出来そう???
タグはどうなるのかよく解ってないんですが…Read More

OpenID を使ってログインすることができます。
Identity URL:



Jan 11
タグの絶対数が多いからかな?なんて思ったり、サーバのせいかとも思ったんですが…
function scanExistTags() で、二つのテーブルからそれぞれタグを取得してそれを比較してる部分があったんですが、これを片方にする事で簡単にスピードアップしました
それと、以前から気になってた部分の最適化(というほどのものかどうか解りませんが)で、ほぼ満足のいくスピードに仕上がりました
気になってた部分というのは、タグクラウドのリンク生成時に、そのタグが付けられているアイテムのタイトルを『title』属性でポップアップ表示されるようになってる訳ですが、この部分で『タグが打たれているアイテムの数』の回数、SQLが発行されてました
						for ($i=0;$i<$tagAmount;$i++) {
$qQuery = 'SELECT ititle as result '
. 'FROM %s WHERE inumber = %d';
$qQuery = sprintf($qQuery, sql_table('item'), intval($inums[$i]));
$itemtitle = quickQuery($qQuery);
$shortTitle = shorten(strip_tags($itemtitle), 10, '...');
$shortTitle = htmlspecialchars($shortTitle, ENT_QUOTES, _CHARSET);
$printData['tagItem'] = array(
'itemid' =
'itemtitle' =
);
$tagitems[] = TEMPLATE::fill($template['tagItem'], $printData['tagItem']);
}

この部分を改造して、1回のSQLで全てのタイトルを取得するように変更、ついでに、どうせ表示しきれないんだから、取得する数も4つまでとしました
						$iids = array_slice($inums, 0, 4);
sort($iids);
$qQuery = ' SELECT '
. ' SUBSTRING(ititle, 1, 12) as short_title'
. ' FROM '
. sql_table('item')
. ' WHERE '
. ' inumber in (' . implode(',', $iids) . ') '
. 'ORDER BY '
. ' inumber';
$sTitles = sql_query($qQuery);
$i = 0;
while ($sTitle = mysql_fetch_assoc($sTitles)) {
$shortTitle = mb_convert_encoding($sTitle['short_title'], _CHARSET, _CHARSET);
$printData['tagItem']
= array(
'itemid' =
'itemtitle' =
);
$i++;
$tagitems[] = TEMPLATE::fill($template['tagItem'], $printData['tagItem']);
}

これでベンチ値が、タグクラウドを表示しない時と比べて0.4秒前後の増加で済むようになりました
以前は、タグが打たれているアイテム数の多いものばかり表示すると、最大で20秒以上、平均で16秒ほど(少ないものばかりだと5秒くらい)かかっていたページ生成時間が、アイテム数にかかわらず平均2.3秒と大幅に短縮、最大値で1000%の速度向上です
しばらくこのまま様子を見て、不具合が出ないようでしたらリリースします
kimitakeさん、ShowBlogs仕様になっちゃいますけど、これで安心して導入できます? 8)

OpenID を使ってログインすることができます。
Identity URL:



Jul 11
えー、なんとか退院してまいりました
入院中はネットにはつなげなかったものの、ローカル環境であれやこれやとプラグインをいじくり倒してて、現在改造したプラグインの実験中です
手を入れたのは

NP_TagEX :: 選択中の tag を taglist に表示しない、検索、及び tag 選択時に tag がハイライト表示されるように改造
NP_CommentSearch :: tag も検索対象にして、こっちで直接検索結果を表示するように改造。ついでにページスイッチも追加
NP_ChoppedDisc :: 検索でコメントやトラックバックが引っかかったら、それも表示するように改造。複数の検索語にも対応(仮)
NP_ItemNaviEX :: tag 選択時に表示される tag にリンクを追加

といった、主に検索周り
あと方法を模索中なのは[検索時のURL変更]
どこかで見たような気はしてるんだけど、どこで見たのかすっかり忘れてしまった・・・

あとスキンもちょこっと修正
前より見やすくなったかな?

OpenID を使ってログインすることができます。
Identity URL:



Jun 29
ちょっと前からtagのリンクの最後にrel="tag"って付けてたんだけどちっともひっかからない
で、あちこち探してみるとどうやらRSS/ATOMにもtagを記述しないといけなかったらしい

だもんでRSS/ATOM用にタグのリンクと、ついでにtagからテクノラティのタグ検索へジャンプできるように改造してみました

各エントリの下のほうの「タグ」の行のtagにカーソルを持っていくと「ブログ内」と「テクノラティ」へのジャンプがポップアップします

大丈夫だと思いますが、文字の大きさによってリンクまでカーソルが持っていけない場合は文字サイズを大きくしてみてください No Comments yet.

OpenID を使ってログインすることができます。
Identity URL: