Ruby言語やLinuxのネタが多いです。
June 28, 2002
■ [Misc] OpenBlockSS
ぷらっとホームのOpenBlockSSというのを買ってみた。
PowerPCベースの小さなLinuxサーバだ。2.5インチハードディスクをつけてもスゲー小さい。
IA-32以外のLinuxは初めてなのでどんなものかというのも楽しみだ。
会社に持っていって暇なときに遊ぶことにしよう(^^)。
June 28, 2003
■ [Ruby-GNOME] Ruby-GNOME-0.32 released
リリースしました。5か月ぶりです(^^;)。
ruby-1.8.0preview3でWarningが出るのをフィクスしています。
要は、rb_f_lambdaの件なのですが、これ、機械的に全てrb_block_procに置き換えました。
したがって微妙に挙動が前バージョンと変わって、ブロック内でbreakとか使ってると例外があがるようになりましたのでアプリケーションによっては修正が必要かもしれません。
■ これからRuby-GNOMEを始める方は、ほとんど開発が止まっているRuby-GNOMEではなく、Ruby-GNOME2を使うようにしてください。
June 28, 2006
■ [Ruby] Amrita2の国際化
RubyKaigi2006のレポートを読んでいて、ふと、Amrita2に興味を持った。Amrita2+Ruby-GetTextで国際化アプリ作るとどうなんだろう。
クイックスタートの例を参考にするとまずは以下のように書けるんだろう。
#試してません。
require 'gettext'
require "amrita2/template"
include Amrita2
class PO
include GetText
bindtextdomain("foo")
def title
_("hello world")
end
def body
_("Amrita2 is a html template libraly for Ruby")
end
end
tmpl = TemplateFile.new("template.html")
tmpl.expand(STDOUT, PO.new)
../sample/hello/template.html
<html>
<body>
<h1 id='title'>title will be inserted here</h1>
<p id='body'>body text will be inserted here</p>
</body>
</html>
これで、title, bodyタグ内のそれぞれ文字列が置き換えられてローカライズされるという感じかな。
■ こりゃー、簡単だ。すごくきれいにできてる。
・・・なんだけど、オレの感覚では、開発時、ローカライズのためだけにひたすらidを考えていくというのはちょっときびしい気がする。例えば100画面あったりするとこりゃもう大変だ。逆に言えば、2,3画面なら全然オーケーなんだろうけど。
100画面のケースを考えると、やっぱりこの場合のidはロジック向けということで閉じるべき(ローカライズ向けに使ってはいけないよう)な気がする。これをベースにrgettextみたく、idの自動抽出ツールを書いて上記サンプルのPOクラスを自動生成するのも簡単だろうだけど、ローカライズに特化するためにはロジック置き換え部分との差別化を図るために何らかの手段(idにプレフィクス付ける等)をつけなきゃいけなさそう。じゃないとロジック置き換え部分もローカライズ対象として抽出されちゃうからね。
■ いや、Amritaが国際化に向いていないとかという話をしたいのでなくて、ローカライズドメッセージ(言語リソース)の特異性っていうのかな。Amritaは表示(View)とロジック(Controll/Model)を、静的なテンプレート、動的なRubyスクリプトの2つにうまく切り離してるわけなんだけど、ローカライズドメッセージって限りなく静的な情報なんだけど実は要求毎に動的に切り替わるViewとして扱われる必要があるんだよね。ってことに気づいたと。
この辺をうまく扱ったテンプレートエンジンって誰か考えてくれないかなぁ。もちろん、バックエンドはRuby-GetTextで(苦笑)。
June 28, 2008
■ [Misc] 東京の人口
この前ロラン夫妻を六本木ヒルズに案内したときに、東京って何人くらいいるんだっけ?という話になった。
そういや、そういうのって全然知らないなぁと思って調べてみたら、そのものずばりの情報がWikipediaにあった。すばらしい。
これを読むと、定義の違いはあるものの、ざっくり3,500万人くらいで世界一位なのね。こりゃ電車が混雑するわけだ。
2位のニューヨークは2,100万〜2,700万人くらい。東京はニューヨークよりさらに1,000万人多い計算だ。
3位は韓国のソウルで2,000万〜2,300万人くらい。
大阪(阪神=京都、姫路含む)は1,500万〜1,800万の10位でだいぶ健闘している。ロサンゼルスよりも多いとは驚き。
パリは900万〜1,100万なので、東京の1/3くらいの規模、大阪よりちょっと少なめ、という感じだ。
日本の総人口は1億2,800万人とのことなので、日本人の27%が東京にいることになる。東京と大阪で41%くらい。首都圏への集中っぷりったらすごいなー。
Wikipediaには世界の国の人口順リストもあった。これを見ると東京の3,500万という人口は、タンザニアとほぼ同じくらい、カナダ、モロッコ、サウジアラビア、オランダ、カメルーンなどの国よりもだいぶ多い。
さきほど1位の東京は2位のニューヨークよりも1,000万人多い、と書いたが、1,000万人ってどれくらいの数なんだろうと思って調べてみたら、1,000万人はギリシャ、ベルギー、ポルトガルなどの総人口と同じくらいだ。Wikipediaの194の国の中で、総人口が1,000万人以下の国は123もある。3,500万以下となると160もある・・・・って3,500万だと国別でも上から34位に位置するのね。
こうやって数字にしてみると東京ってホントでかいなぁ。

▲ たむら [いいなぁ >OpenBlockSS 私も欲すぃ。ちなみに目の前には、mipsel な LinuxBoxがあります。P..]
▲ (う) [HDDを搭載する場合は排熱に気をつけたほうがいいですよ。]
▲ むとぽん [たむらさん > 私はPS2持ってないんですよ。欲しいと言い続け早一年(^^;)。 (う)さん > そうなんですか。フ..]