2008年2月
2008年2月29日(金曜日)
link要素が役に立った
アクトビラ対応の東芝のテレビって何だったっけ、と思ってアクトビラ対応テレビ一覧 (actvila.jp)の東芝のところのリンクをクリック。
そして冒険が始まった……。
- http://www.regza.jp/ に移動。すると「www.regza.jp」というリンクが一つだけ表示されたのでクリック。
- すると http://www.regza.jp/product/tv/ に移動。「SKIP」というリンクが一つだけ表示されたのでクリック。
- すると http://www.regza.jp/product/tv/index_j.html に移動したが真っ白で何も表示されない。
- ソースを見ると body 部に http://tracer.atrax.jp/entry.js?cid=12 という URL があったのでアクセスしてみた。……が、なんかコンテンツじゃないっぽい (Webバグ)?
- head要素内のソースを見ると link要素があって rel="start" が定義されていたので、http://www.toshiba.co.jp/product/tv/top.html にアクセス。
- それっぽいサイトに到着。
いやー、何とかたどり着けました。link要素って凄く役に立つのですね。
※何かが間違っているような気がしなくもないですけれども。
- 「link要素が役に立った」にコメントを書く
2008年2月27日(水曜日)
2008年2月25日(月曜日)
もやしもん6 など
マンガを3冊ほど購入。
- もやしもん6 (www.amazon.co.jp)
- ケロロ軍曹16 (www.amazon.co.jp)
- シスター・ルカは祈らないで!! (www.amazon.co.jp)
で、こんな感じです。
下の段ボール箱が「もやしもん」6巻。これ一箱で一冊です。書店にあるだけで異様ですが……。
「シスター・ルカは祈らないで!! (www.amazon.co.jp)」は何となくジャケ買い。表紙の絵柄から、ふんわりしたほのぼの系を期待していたのですが、なんと下ネタギャグマンガでした。表紙がほのぼの系シスターで、読んでみたら下ネタ系……って、まるっきり「かみさまのいうとおり! (www.amazon.co.jp)」と同じパターンなのですが、そういうものなのでしょうか……。
dictionary と directory は良く似ている
System.Collections.Generic の Dictionary クラスを使うコードを書いていたら、こんな例外が発生。
System.Collections.Generic.KeyNotFoundException: 指定されたキーはディレクトリ内に存在しませんでした。
ここまできっぱり間違えられると逆に気持ち良いですね。ちなみに原文は予想通り
The given key was not present in the dictionary.
でした。
2008年2月24日(日曜日)
ファンタシースター2 クリア
ちくちくプレイしていた「ファンタシースター2 (vc.sega.jp)」をクリアしました。
昔のゲームなので、UI が不親切で誰が何を装備できるのかさっぱり分からないとか、ダンジョンが超不親切で見通しが悪いし無意味に二重スクロールするしといろいろありましたが、まあ面白かったです。ラストがなかなか衝撃的でした。
関連する話題: ゲーム
2008年2月19日(火曜日)
MT の便利で危険な使い方
今まで知らなかったのですが、Movable Type のログイン画面って
/mt/mt.cgi?username=Melody&password=Nelson
というように、クエリに ID とパスワードをつけてアクセスするとログインできるのですね。さらに、この方法で途中の編集画面にいきなり行くこともできます (ログイン画面に戻されない)。
これは便利、かつ危険ですね。
関連する話題: セキュリティ / Movable Type
2008年2月14日(木曜日)
禁煙セラピー
何故か「禁煙セラピー (www.amazon.co.jp)」を入手したので読んでみました。
……うーむ。「吸わないというだけのことが不可能なはずがないのに、何故?」という事が重要なのですかね。禁煙しようとする人が「禁煙は怖くない」と思えるかどうかが分かれ目なのかも。
※まあ、私は吸わないのですけれども。
2008年2月12日(火曜日)
おねむりピカチュウまつり
ポケモンセンタートウキョー (www.pokemon.co.jp)で「おねむりピカチュウまつり」が開催されているので行ってみました。ピカチュウに「ねむる」を覚えさせると液晶クリーナーがもらえるキャンペーンが実施されていて、ちょうど手元に中途半端な技構成のピカチュウがいたので、「ねむる」を覚えさせて GO。
※「10まんボルト」「こらえる」「きしかいせい」「ボルテッカー」という構成だったので、「10まんボルト」を「ねむる」に換装。って、この「ねむる」も無意味なのですが。
で、うっかりおねむりピカチュウのぬいぐるみを買ってしまったという。
2008年2月9日(土曜日)
スクラッチテスト
春になると、まず頭痛やだるさなどの症状が現れて、少し遅れてくしゃみ、鼻水などの症状が現れるというのが定番になっているのですが、早くもその症状が現れてきました。ちょうどお休みだったので、病院に行ってみることに。
……で、病院が初めてなので、テストを受けてみることになりました。スクラッチテストと言って、針で皮膚を傷つけてアレルゲンの液を垂らして反応を見るというものです。
そうしたら、これがもうかゆくて。予想通りスギは大変なことになっていて、他にもダニ、ブタクサなどが駄目な模様。とりあえず薬を飲むことになりました。
2008年2月3日(日曜日)
Winnyのファイル発信者は追跡可能
「Winny媒介型ウイルスの放流元を追跡してみた (takagi-hiromitsu.jp)」。
個人レベルでも、それなりの精度で一次発信者の IP アドレスを特定できるというお話。特定に至るプロセスが割と詳しく説明されています。専門的に追跡している会社も存在するので、楽勝で特定できるというわけですね。
関連する話題: セキュリティ
安全なテンプレートシステムはあるのか
またしても「例えば、PHP」のような話で盛り上がっているようですが、それとはあんまり関係ないところに反応……「安全なWebアプリのために言語ができること (www.rubyist.net)」。
テンプレートシステムによる出力
インジェクションなどの原因となる生の文字列操作でHTMLを構築することをできるだけ避ける。
しかし、安全で苦労知らずのテンプレートシステムってあんまり見たことないのですよね。仕事で扱ったことがあるのは、
- PHP + Smarty
- Perl + Catalyst + Template-Toolkit
- Ruby + Ruby on Rails + eRuby
といったあたりですが、いずれもXSSを回避するためには気配りが必要で、一筋縄ではいかなかったりします。
たとえば eRuby の場合、
<h1><%=h @foo.title %></h1>
のように h() を通せばエスケープされます。これはシンプルで分かりやすいし、h() を書かなくて良いところにも全部 h() を書くようにすれば、わざわざエスケープなんて意識しなくても良いよね……と思うわけですが、実際やってみると、そううまくは行かないケースも多いわけです。
良くあるのが、タグを出力しなければならないケース。
<div class="comment">
<p><%=h auto_link(user_comment) %></p>
</div>
auto_link は文中の URL をリンクにするメソッドですが、上記のように書くと URL が a要素に変換された後で h を通ることになり、残念なことになってしまいます。以下のようにするのが正解です。
<div class="comment">
<p><%=auto_link h(user_comment) %></p>
</div>
この場合は auto_link だけなのでシンプルですが、独自のヘルパーメソッドがいっぱいあったりすると、だんだんゴチャゴチャしてきて頭が (時には胃が) 痛くなってきます。
要は、テンプレートが扱う値には大きく分けて 2種類があり、
- 生のデータの場合 …… エスケープして表示する
- HTML を含む (テキストはエスケープ済みの) データの場合 …… エスケープしないでそのまま表示する
メソッドにどちらを渡すのか、どちらが返ってくるのか、ということを常に意識しておかないといけないわけです。
※恐ろしいことに、Rails の url_for() などは controller で使うときと view で使うときとで性質が変わります。ドキドキですね。:-)
……というわけなのですが、個人的には、2種類のデータがどちらも同じ string 型なのがややこしさの元なのではないかと思っています。この日記を表示している hatomaru.dll は全部 DOM で処理しているので、前者は string、後者は XmlNode となっていて明確に型が違います。間違って処理する心配はなく (間違っていたらコンパイルエラーになる)、XSS 対策を考える必要がないのでとても気楽です。
他にも、DOM 型だとクラス名の出し分けが楽だったりいろいろメリットがあると思うのですが、DOM 型のテンプレートシステムは流行りませんかね。
※ちなみに hatomaru.dll は View と Controller をあんまり分離していない構造で、テンプレートシステムと呼べるようなものは実装していません。
2008年2月2日(土曜日)
トリミングの妙
演劇ライフ (engekilife.com)のトップページに「命日」という画像があって、何だろうと思って見たら「革命日記 (engekilife.com)」でした……。
※「革命日記」という文字列の中の「命日」の部分だけ、絶妙の案配で切り出されていたという。
関連する話題: 与太話
スマブラX読めない病
スマブラX (www.amazon.co.jp)、まだちょっとしかプレイできていませんが……任天堂からこんなのが出ていますね。「Wii専用ソフト「大乱闘スマッシュブラザーズX」のディスクが読み取れない症状についてのお知らせ (www.nintendo.co.jp)」。
この症状で弊社にご送付いただきましたWii本体を解析いたしましたところ、光ディスクを読み取るレンズ等に、タバコのヤニやホコリ等の汚れが付着しているものが多く見つかっております。
タバコのヤニ注意。初期型だと読めないという噂も出ていましたが、初期に買った本体は長く使われているため汚れが付いている確率が高い、という話なのかもしれませんね。
- 前(古い): 2008年1月のえび日記
- 次(新しい): 2008年3月のえび日記