blog.ishinao.net

318月/05

Smartyのエスケープ (15:07)

[PHP] Smartyとサニタイズ」で、なんかデジャブのような展開を見かけたんで、結局俺はどう対処することにしたのかを書いておく。なんか不便なことが多すぎるんで、default_modifiersを使うのはあきらめ、modifier.h.phpという以下の内容のプラグインを追加して、それでエスケープするようにしている。

function smarty_modifier_h($string)
{
return htmlspecialchars($string);
}

このプラグインを用意しておけば、{$foo|escape}を{$foo|h}と書ける。このくらいならばそんなに面倒じゃないから、書き忘れも減るんじゃなかろうか。modifier.h.phpの内容はもともとのescapeをコピーして使ってもいいけど、実用上はこれで十分。シングルクォーテーションもエスケープしたい人は、ENT_QUOTESをつけておけばいい。

Filed under: 日記 No Comments
318月/05

今日のスポクラ (14:54)

マシンの負荷+回数をちょっとずつ増やし中。今までは後に残らないように標準負荷設定×10回×1〜2セット(持ち手が2パターンあるマシンは両方やる)でやっていたんだけど、それだと楽すぎるものは負荷を+1するか、回数を20回に増やすかしてみた。でもやっぱりそうすると結構後まで残るなー。筋肉の量ではなく速度が欲しい場合は、負荷軽めで回数を多くした方がいいんだっけ? バイクは100W20分。本を読みながらやると時間が経つのが早いな。今までは考え事時間にしていたんだけど、バイクをこぎながらだといまいち脳みその回りがよくないから、本を読んで時間をつぶした方がよさげ。

Filed under: 日記 No Comments
318月/05

記事の関係性ではなく、人間関係を表現するためのサイトトラックバック (09:13)

トラックバックは、記事間の言及関係を表現するために作られたものだ。いわゆる議論的な文章の関係性を表したい場合は、それで十分だとは思うが、実際にWebサイトを運営していると、議論的な関係性だけではなく、単なる人間関係を表現したい場合も多い。

つまり、ある人の特定の記事に対して言及するのではなく、単にある人に対して言及していることを表現したいことがよくある。テキストサイト系でいうところのなれ合いリンク、はてなダイアリーで言うところのreferred的なものだ*1

しかしよく考えてみると、実際にトラックバックという規格を使って、人間関係を表現することは簡単だ。現状では記事単位でしか用意されていないトラックバックping URL(受信用URL)に追加して、Webサイト全体(=Webサイト運営者)に対応するトラックバックping URLを用意すればいい。そこに送られたトラックバックは、特定の記事に対する言及ではなく、そのWebサイト(=Web運営者)に対する言及として扱う。

トラックバックping URLは多くの場合、

http://example.com/blog/trackback/[entry id]

のような形式をしているが、[entry id]としてサイト全体を表すIDを新しく振るだけで、たいていのシステムでは対応できるだろう。わかりやすさでいえば、[entry id]が空の場合はサイト自体への言及として扱うといいかもしれない。

trackback auto-discoveryへの対応も、特に何ということはなく、Webサイト(blog)のトップページに、各エントリーに埋め込んであるRDFと同様のものを(トップページに関する情報として)埋め込んでおけばそれでいい。トラックバックping URLの人間向けの表示は、タイトル部にでもそれなりのスペースを確保するのが現実的だろう。

技術的には何も難しいところはない。送信側は、基本的なトラックバック送信機能さえ持っていれば、特に新しい仕組みを用意する必要はない。受信側は上記のようなちょっとした工夫程度の機能拡張で対応ができる。それだけで、記事単位ではなくサイト単位での関係性を簡単に表現できる。

ひとまずこのような機能を「サイトトラックバック」と名づけてみたが、いろいろなblogツールで対応すると、記事単位でのコミュニケーションよりも、サイト同士のコミュニケーションの方を好むコミュニティにおいては、便利に活用されるようになるのではないか。ひとまず今自分で作っているblogツールには上記のような機能を搭載する予定。

*1 はてなダイアリーではそのような言及通知機能のことを「idトラックバック」のように呼んだりしているが、実際にはトラックバックという規格とは関係のない、独自の言及通知機能だ

Filed under: 日記 No Comments