Home

日記
ドキュメント’05 「急増!ネット依存の恐怖」 (13:18)Edit

特殊な人間を引っ張り出してきて一般論に敷衍するんじゃねー、とか、あいつらはたまたまネットがあったからネットをやっているだけでそうじゃなければほかのものに依存していたんじゃねーか、とか、ゲーム脳キター!、とか、ネットはバーチャルじゃなくてふつうにリアルなんだよ、とか、この番組のステレオタイプな話の持っていき方は今の世の中を語るにはあまりにも古くさすぎる、とか、いろいろ言いたいことはあるんだけど、でもまあ実際問題としてネットは中毒性・依存性のある危険なものであるという観点から、いろいろ研究することは必要だよね。でも、いくらなんでもこの番組の内容はチープすぎだ。

Published At2005-01-24 00:00Updated At2005-01-24 00:00

日記
rel="nofollow"対応の続き (13:51)Edit

(追記)まず最初に「tDiary: rel="nofollow"対応は慌てる必要なし」をどうぞ。

referer周りは、標準状態で00default.rbに書かれているのね。で、さらにうちの場合はdisp_referrer.rbを使っているんで、そっちも変える必要があった。そのほかにもreferer周りをいじるプラグインを入れている人は、その中身も変える必要があるんだろうな。えーっと、これで外部から受け入れたリンクの書き換えに漏れはないかな?

00defaul.rb

300c300
<   result << %Q[<a href="#{CGI::escapeHTML( ref )}" title="#{CGI::escapeHTML( disp_referer( @referer_table, ref ) )}">#{count}</a> | ]
---
>   result << %Q[<a href="#{CGI::escapeHTML( ref )}" title="#{CGI::escapeHTML( disp_referer( @referer_table, ref ) )}" rel="nofollow">#{count}</a> | ]
310c310
<   result << %Q[<li>#{count} <a href="#{CGI::escapeHTML( ref )}">#{CGI::escapeHTML( disp_referer( @referer_table, ref ) )}</a></li>\n]
---
>   result << %Q[<li>#{count} <a href="#{CGI::escapeHTML( ref )}" rel="nofollow">#{CGI::escapeHTML( disp_referer( @referer_table, ref ) )}</a></li>\n]

disp_referrer.rb

869c869
<   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" title="#{DispRef2String::escapeHTML( a[2][0][1].title )}">#{a[0]}</a> | ]
---
>   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" title="#{DispRef2String::escapeHTML( a[2][0][1].title )}" rel="nofollow">#{a[0]}</a> | ]
905c905
<   result << %Q[<li><a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}">#{DispRef2String::escapeHTML( a[2][0][1].title )}</a> &times;#{a[0]}</li>\n]
---
>   result << %Q[<li><a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" rel="nofollow">#{DispRef2String::escapeHTML( a[2][0][1].title )}</a> &times;#{a[0]}</li>\n]
907c907
<   result << %Q[<li><a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}">#{DispRef2String::escapeHTML( a[1] )}</a> &times;#{a[0]} : #{a[2][0][0]}]
---
>   result << %Q[<li><a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" rel="nofollow">#{DispRef2String::escapeHTML( a[1] )}</a> &times;#{a[0]} : #{a[2][0][0]}]
910c910
<   result << %Q[, <a href="#{DispRef2String::escapeHTML( b[1].url )}"#{title}>#{b[0]}</a>]
---
>   result << %Q[, <a href="#{DispRef2String::escapeHTML( b[1].url )}"#{title} rel="nofollow">#{b[0]}</a>]
919c919
<   result << %Q[<a href="#{DispRef2String::escapeHTML( b[1].url )}"#{title}>#{b[0]}</a>]
---
>   result << %Q[<a href="#{DispRef2String::escapeHTML( b[1].url )}"#{title} rel="nofollow">#{b[0]}</a>]
939c939
<   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}">#{DispRef2String::escapeHTML( a[1] )}</a>]
---
>   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" rel="nofollow">#{DispRef2String::escapeHTML( a[1] )}</a>]
945c945
<   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}">#{DispRef2String::escapeHTML( a[2][0][1].title_ignored )}</a>]
---
>   result << %Q[<a href="#{DispRef2String::escapeHTML( a[2][0][1].url )}" rel="nofollow">#{DispRef2String::escapeHTML( a[2][0][1].title_ignored )}</a>]
950c950
<   result << %Q[<a href="#{DispRef2String::escapeHTML( b[1].url )}">#{DispRef2String::escapeHTML( b[1].title_ignored )}</a> &times;#{b[0]}]
---
>   result << %Q[<a href="#{DispRef2String::escapeHTML( b[1].url )}" rel="nofollow">#{DispRef2String::escapeHTML( b[1].title_ignored )}</a> &times;#{b[0]}]

Published At2005-01-24 00:00Updated At2005-01-24 00:00

日記
複数ジャンル指定に対応&検索機能を追加 (02:57)Edit

MMで、メモに複数ジャンル指定をできるようにしました。「|」で区切ってキーワードを書くことで、そのメモは複数のジャンルに所属することになります。

また、ユーザーをまたがった検索機能を追加しました。メモ種類、ジャンル、評価を使って検索ができます。こちらもジャンルを「|」で区切って入力することで、複数ジャンルのor検索となります。標準で返すRSS(mode=rss)は、MM内のパーマリンクをrdf:resourceとして持ちますが、mode=xmlと書き換えることで、メモ対象のURLがrdf:resourceに入るようになります。

という機能を持たせちゃうと、あまりにもdel.icio.usっぽくなっちゃうんでやめておこうかと思ってたんだけど、やっぱりあった方が便利だよね。

こうなってくると面倒くさいけど、今まで入力したジャンルを一通り(検索で意味が出てくるように)修正した方がいいんだろうなー。バーストキーワード(ジャンル)とかもそのうち追加しますよ。

Published At2005-01-25 00:00Updated At2005-01-25 00:00

日記
いまだゲリゲリ中 (16:57)Edit

昨日は下の子が相変わらず体調不良(下痢&微熱)のため休んだんだけど、さらに上の子までがゲリゲリになりやがった。アンド、俺も今朝方からかなり下し気味。アンド、どうやらオクサンもそうらしい。なんかもう蔓延って感じですよ。家全部を消毒しないとどうともならないんじゃなかろうか。今まで有給ってあまり使ってなかったけど、今年はすげー勢いで減っていくなー。どうせ家で仕事しているから全然休んだ気がしないけど。

Published At2005-01-25 00:00Updated At2005-01-25 00:00

日記
類似メモ検索 (22:11)Edit

実験的に、内容の類似するメモを検索する機能をつけてみました。[類似メモ]というリンクをクリックすると、そのメモに内容が似ているっぽいメモを一覧表示します。検索インデックスの更新タイムラグがあるので、登録したしばらくの間は検索が効きません。

Published At2005-01-25 00:00Updated At2005-01-25 00:00

日記
キーワード検索でウォッチする場合 (12:19)Edit

検索結果をRSSでウォッチするという方法」で結城さんがblogmapのキーワード検索結果をRSSリーダーでウォッチする方法を紹介されてますけど、そういう用途の場合はblogmapの検索(http://1470.net/bm/search)ではなく、newswatchの検索(http://1470.net/nw/search)を使った方がいいです。

というのは、blogmapの検索はキーワードマッチ度の順でソートされているので、該当キーワードを含む新しい記事が登録されたとしても、トップ50件に登場しない可能性があります。一方、newswatchの検索は同じ検索データベースに対する検索結果を、日付が新しい順にソートして表示しています。ですから、そのキーワードを含む新しい記事が登録されると、確実にヒットするはずです。

基本的にバックエンドの処理やデータベースはblogmapnewswatchは同じものなんだけど、それを「注目度・マッチ度の順にソートしたものがblogmap」、「単純に新着順にソートしたものがnewswatch」なんですね。すでに話題になったもの(多数の人のフィルターを通ったもの)をチェックしたければblogmap、これから話題になりそうなもの(まだほとんどフィルターを通っていないもの)をチェックしたければnewswatchという使い分けのイメージ。

Published At2005-01-26 00:00Updated At2005-01-26 00:00

日記
地図情報に関するメモ (21:05)Edit

Yahoo! 地図情報」の詳細地図ページ(URLに緯度経度情報が含まれるもの)でクリッピングを実行すると、その場所に関するメモを取れるようにしてみました。けど、ちゃんと動くかどうかはまだ真面目に検証していません。試しに使ってみてください。

Published At2005-01-26 00:00Updated At2005-01-26 00:00

日記
iCalendar出力やろうかな (22:34)Edit

MMの予定表の出力をiCalendar形式でも出すようにしておくと、オンラインのiCalendarデータをミックスして扱えるスケジュールソフトなんかで、手軽に公開スケジュールを管理できてちょっといいかもしれない。と思ったんだけども、iCalendarの仕様が思ったよりも複雑で面倒くさそうだったんで、ひとまず思いついただけ〜。でも忘れないようにここに書いておこう。

Published At2005-01-26 00:00Updated At2005-01-26 00:00

日記
mod_rubyをインストール (13:40)Edit

いろいろ重い処理を追加しすぎてプロセスがつまり気味だったんで、「高速化ガイド(管理者向け)」を参考に一通り高速化してみた。これでちょっとは軽くなるかなー。

うわだめだ

なんか状況が悪化したよ。mod_rubyハズし。やばいな、そろそろサーバーが限界に達したかも。そろそろ機能を増やすのはやめて、最適化の努力をするべきか。それともサーバーを増やすことを考えるか。

Published At2005-01-27 00:00Updated At2005-01-27 00:00

日記
RSSジャンル検索 (18:51)Edit

新機能追加はやめようと心に誓ったばかりなのに、「はてなのキーワードとtechnoratiのタグ 08:26」を読んで反射的に作ってしまった。RSSアイテムのタイトルの先頭が「[」で始まっている場合、「[」と「]」で囲まれている部分をその記事のジャンル名称であるとして、記事をジャンルで検索する機能。たとえば、「iPodで検索」とか「tDiaryで検索」とか。まだ検索インデックスが作りかけなんで、ちょっと古い記事しか検索に引っかからないかも。ああこれでまた負荷が高まるなー。

検索インデックス生成が終わった

で、これいいなー。Planetほにゃらら系って、各サイトに上記ルールでタイトルにカテゴリ表記を入れてもらって、それをキーに分類表示するのが一番まっとうなんじゃないか。

RSS出力もそのうちつけます。けどその前に安定運用できるレベルまで全体の負荷を調整しないと……。

dc:subjectは

あの…dc:subjectは…

データ収集の段階で捨てちゃってるんで、DB上に残ってないんですよ……。

強引にdc:subjectをつっこんでみた

今後クロールするデータは(DBスキーマ変更なしで対応するため)、タイトルの頭に無理矢理「[dc:subject]」をくっつけて、dc:subjectも認識できるようにしてみた。けど、いわゆる人間が明示的に付与する「タグ」的なカテゴリーわけと、システムがデフォルトで付与するカテゴリーわけ(が多いような気がするblogツールが吐き出すdc:subject)とは、本当は意味合いが違う気もする。

最近流行のタグってのは、俺が昔WikiLikeで試していた、自分がキーワードだと思う本文中のキーワードをBracketNameとして囲むことによって、そのキーワードをそのテキストにおける重要語と認識し、カテゴリー検索等の目的で使用する、というアプローチに似ている気がする。入力者が入力時に人力指定する非固定のジャンル指定。

Published At2005-01-27 00:00Updated At2005-01-27 00:00