2005-02-01 [長年日記]
_ gonzui の php support (00:57)
とくひろさんが、昨日のネタを使って、gonzuiのPHP parserを書いてくれました。試してみたところ、ちゃんとPHPのコードとして認識されcolorizeしてくれるようになりました。ただ、関数とかクラスの定義はうまく認識されていない模様。でも、ここまで動くものがあればあとは自力でいじっても何とかなりそうな感じです。ありがとうございました。
_ 関数・クラス対応バージョン (13:46)
おお、早くも関数・クラス定義に対応したバージョンにアップデートされましたよ。インポートし直したら、今度はちゃんとPHPの関数使用率統計とかも現れた。
ただ、勢い余ってPEARライブラリをまとめてgonzuiにつっこんでみようかと思ったら、PEARのtgzなアーカイブを食わせるとgonzuiがうまく認識できない模様。いったんtarで展開してからもう一度tgzに固め直してやるとうまく食えるらしいけど、何かアーカイブのフォーマットが違うんだろうか?
ひとまずhttp://gonzui.ishinao.net/以下には自分がチェックしたい公開アーカイブをつっこんでおくけど、それとは別に自分の作ったコードをgonzuiで閲覧できるようにしたプライベートなgonzuiも立ち上げておくと便利そうだな。どうせなら、Subversionリポジトリと適当に同期をとるようにしておくと、さらに便利かも。あるいは単に特定ディレクトリにおかれたtgzファイルをチェックして、更新されていたらremove、importを自動的にしてくれるだけでもいいか。
あと、gonzui用PHPパーサーページが独立した模様。
ところで、gonzuiは基本的には自前で各言語のパーサーを持つというアプローチみたいだけど、このPHPのアプローチみたいに他言語で使いやすいパーサーがある場合は、それを使ってgonzuiに取り込むためのインターフェースを持たせておくと便利かもしれない。インターフェースっていうか中間出力のフォーマットを決めておく感じかな。XMLとかYAMLとか。
_ mm_footer.rbとrss_recent.rb改造版 (15:37)
ちゃんとRuby(とtDiary)のお勉強をしてから真面目に書き直そうかと思ってたんだけど、キビシイ督促(笑)を受けたんで、適当バージョンを公開しておきます。
なかにはrss_recent.rbの改造版と、それに依存したmm_footer.rbがあります。rss_recentは、
- 引数にテンプレート文字列を渡すことで、出力するHTMLを変更できるようにした
- RSSのcontent:encoded要素を解釈&保存するようにした(require 'rss/content')
- RSSの取得(パース)失敗時には古いキャッシュを使うようにした
- アイテムが0のときは空文字列を返すようにした
という改造を施しています。あとデフォルトのテンプレートを従来のものと変えちゃっているんで、置き換えるとrss_recentの出力が変わってしまいます(どう変わるかというと、ここのサイドバーのような内容になります)。
で、mm_footer.rbは改造版rss_recentを使って、各日付のフッタにその日のMMの内容(content:encoded部のみ)を表示するプラグインです。面倒くさいんでMMのユーザーIDは17行目あたりに、
mm_user = 1 # your MM id
とかしちゃってるんで、それを自分のIDに書き換えて使ってください。というか本当は、プラグインで設定を編集・保存できるようにしつつ、未設定の場合は表示しないようにすればいいんだけどね。ついでにテンプレートもWebインターフェースで変更できるようにしておけばいいんだけどね。
標準のテンプレートでは、<div class="section"><ul class="mm_footer">なんて感じになってるんで、適当にCSS定義を追加して見た目を変えてください。ul.mm_footer span.url {font-size: 80%; color: silver;}とかしておくと、ここの表示みたいな感じでURL文字列が目立たなくなります。
ところでテンプレートに埋め込んだ文字列変数を再評価するのにevalを使っているんだけど、もっと安全な方法ってないのかな? それともsecureの設定で使用できる命令とかが絞られて自動的に安全になる? というかもしかしたらsecure関連の設定によっては、このコードはそのままじゃ動かないかも?
あ、あとcontent:encodedをCGI.escapeHTMLしないで出力してますけど、その場合content:encodedに攻撃コードを入れられることによって、tDiaryをおいているドメインに対して攻撃を受ける危険性があります。一応そういうリスクを念頭に置いた上でご利用ください。
_ ジャスト「一太郎」の販売中止を命じる 松下アイコン訴訟で判決 (もっと詳しく) (17:15)
こういうつまらん特許は、行使しようとした結果もめたらその段階で、まずそれが本当に特許として有効な技術なのかどうかの再審査を受けるようにして、それでつまらん内容だと判断されたら簡単に無効化できるようにならないだろうか。
特許の初期審査にコストをかけられないというのは、まあしょうがないとしよう。すでに取得済みのつまらない特許も山のようにあるだろうから、今から入り口を塞いでも手遅れだ。だから、入り口(新規申請)は今まで通りでかまわない。
ただし、それを行使しようとしてもめた場合(裁判になった場合)、特許が有効という前提で侵害されているかどうかを争う前に、まずその特許自体の妥当性を審査するようにする。そうすれば、妥当な技術審査をするべき件数は大幅に減るだろうから、1件あたりにはそれなりのコストをかけられるんじゃないか。
個人的には、その問題について世界中の人が考えた場合、100人以上の人が思いつきそうな技術(手段)は、特許にならない、とかして欲しいな。10人でもいいかも。



recent_rssの改造版、公開マダー?(AA略
…
スミマセン
ありがとうございます〜