zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2006年02月04日(Sat)

[off][ruby] Ruby温泉ミーティング2006春

丁稚な日々とかを見ながら思い出しながら書いてみる。

寝るのが遅くなって寝坊するとやばいなと思っていたけど、気合いを入れまくってみたら何とか起きられて、早めにバス乗り場に到着してしまった。なかむら(う)さんはまだ来ていないだろうなあと思ってとりあえず探してみたら、なかださんがいたので合流。既にビールを飲んでいた。携帯とかノートPCとかが最近新しいのになったらしい。PHSでIRCのログを調べてなかむら(う)さんがバスのどこの席だろうというのを調べたりしていたら、なかむら(う)さんも現れて合流。バスは既に席が決まっていて、右の後ろの方だった。

行きのバスの中では寝たり音楽を聴いていたりすれば良かったのに、本をしばらく読んでいたら、ちょっと酔い気味になってしまったので、最後の方は音楽を聴きながら外を眺めていたりした。昼食も軽めにそばだけにしてみた。

ついた後に時間つぶしに行った土産物屋では、芽かぶ茶が良さそうな感じだったので、後で買って帰った。

宿に入れた後は、無線LANがつながらないので、PHSでつないでIRCを見たり宿の情報を調べて無線LANがあるはずというのを確認したり。

かずひこさんがプロジェクターを持ってきたので、それを使って剣神ドラゴンクエスト。後で説明書を確認したら1.5mぐらい離れて40度ぐらいの範囲で剣を振らないといけなかったようなので、やはり最初のセッティングは近すぎだったらしい。

宴会ではみんなが食べ終わった頃に自己紹介。いくつかの話が後で(詳細を)、ということになっていた。後でメソッド?

ささださんらの話をきいてみようかと思ったけど、座る場所があいてなさそうだったので、なんとなくWindowsでhikiが動かないのを調べてみたら、意外と根が深くて大変だった。file.flock(File::LOCK_UN)が止まっている場所だったけど、irbで単独で実行しても再現しなくて困っていたら、横で見ていたなかむら(う)さんがマルチスレッドの場合は実装が違うと教えてくれたので、適当なスレッドを生成して試してみたところ再現した。それはそれでruby側の問題としておいといて、hiki側もさらに調べてみると、PTStoreのtransactionで@file_cacheを使う場合にfile.flock(File::LOCK_SH)をしていないのが原因だったので、(CodeFest京都 2005の時にcommit権をもらっていたので)修正をcommitしてhiki-devに報告メールを書いておいた。

いつの間にかプロジェクターはプレゼン用モードになっていて、いくつかプレゼンとかを見た。

ささださんの話の途中からはclassboxのアイディアの話をきいていたので、スレッドとかをどうするのかの話はきけなかった。classboxの話は実装の話がほとんどで、なかださんの案はメソッドの探索の方でinternの前に"namespace$methodname"がなければinternせずに高速化するというような案で、まつもとさんの案はクラスの方を内部的に特異クラスのように"namespace$String"というような感じのStringを継承したクラスにして、そのネームスペースを使っているスコープではStringの代わりに"namespace$String"をみるというような感じの案に思えた。

MatzにっきのRuby温泉ミーティング2006春の1.9改善計画のgcは入れないって言うのは世代別GC。

最後は高橋さんによる高橋メソッドスライド作成実演会を見ているうちに日付が変わってしまった。

その後、立ち話で高橋さんとRubyリファレンスマニュアルの改善計画についての話を少しした。

泊まらない人たちが帰ってしまった後、もう一回お風呂に行ってみたり、一通り部屋を回ってみたりしてみた。


2006年02月17日(Fri)

[debian][knoppix] KNOPPIX独自パッケージのソース

http://www.knopper.net/knoppix/sources/やhttp://developer.linuxtag.net/knoppix/はつながらないので、どこにあるのか探していていたらhttp://debian-knoppix.alioth.debian.org/にあることがわかった。


2006年02月18日(Sat)

[net] feedとENOSPC

www.rubyist.netのマシンでNo space left on deviceが発生していたので調べてみると、Ruby hotlinksでチェックしているhttp://www.rubyist.net/~akr/chkbuild/debian-sarge/ruby-trunk/lastが巨大(約175MiB)になっていて、それが原因でdisk fullになっていた。

アンテナのような更新日時などのメタデータのみのチェックをするものなら問題はないんだろうけど、RSSなどを使ってデータ部分も使うようになっている場合は適切にサイズ制限をしておいた方がよさそう。

[subversion] svn stat で表示されるファイルをプロジェクトに追加する方法 (2)

zshの履歴によるとsvn st DIR1 DIR2|awk '/^?/{print $2}'|xargs svn addとやっていた。

$2だと空白を含むファイル名に対応できないとか、svn statusは改行を含むファイル名に対応できないとかいう問題はonelinerなのでそういうものがないことが別途確認できていると言うことで無視している。


2006年02月20日(Mon)

[ruby] Rubyist Magazine 0013 号

出ました。


2006年02月23日(Thu)

[X11] DPI

gdmでログインしたときとkdmでログインしたときでフォントサイズが違うのでなぜかと思ったら、DPIが違うからだと教えてもらった。

xdpyinfoで確認してみると、kdmだと「resolution: 75x75 dots per inch」で、gdmだと「resolution: 86x84 dots per inch」だった。

[hiki] hikiとmod_rewrite

http://example.jp/hoge/のようなURLで見えるように設置するのに、www-data権限で動かすのも嫌な感じがしたので、/~hoge/public_html/hiki/に入れて、<VirtualHost>ディレクティブの中に以下のように設定してみたら、/~hoge/hiki/の方は問題なく動くのに、/hoge/の方はログインが出来ないという問題が起きてしまった。原因はhiki/plugin.rbのHiki::Plugin#cookie_pathで@options['cgi'].script_nameを使っていて、hikiconf.rbで設定した@base_urlと一致しないからというのはわかったけど、Hiki::Pluginのインスタンスの中で@base_urlを取り出す方法がすぐにはわからなかったので、Hiki Issue Tracking System に報告(Ticket-56)するだけにした。

        RewriteEngine on
        RewriteRule ^/hoge/(.*) /~hoge/hiki/$1 [PT]
 
        <IfModule mod_userdir.c>
                 UserDir disabled
                 UserDir enabled hoge
        </IfModule>

2006年02月25日(Sat)

[off] Rails勉強会@大阪 第2回

結局疲れて寝てたのでいけなかった。

[Java] MIDP 2.0

EclipseMEを使って、MIDP 2.0用のプログラムを作ってみたり、WX310SAで動作確認したりしていた。

なぜか無名パッケージだとインストールできなかったり、バージョン部分を変更していないからか、アンインストールしないと新しいものに置き換わらなかったりとかいう点にひっかかった。


2006年02月26日(Sun)

[ruby] chkbuildでyarv

chkbuildでyarvを試そうとしたらはまった。svn coした中で./configureするというのは想定されていないらしく、問題が2点あったので、[yarv-dev:981][yarv-dev:982]としてopenしておいた。

[ruby] リファレンスマニュアル

最近数ヶ月のページの移動とかを含む変更って誰がやってくれてるんだろう。リンク切れは作りたくない(フッタにも入れているクールなURIは変わらない -- Style Guide for Online Hypertext参照)とか、周辺ツールとの(###nonrefなどのメタデータを含めた)関係とかがあるので、こういう大きな変更をするときはrubyist MLかどこかで相談した方がいいとおもっていたんだけど、そういうことは書いてなかったみたい。


2006年02月28日(Tue)

[python][regexp] 三桁毎にスペースを挿入する正規表現

戦略としては、lookbehind assertionがないと「.」を超えてしまうと「.」から左に数字があったという情報を取り出すことが無理なので、「.」を超えるならその後の数字も巻き込んで一気に進まないとだめ、ということになる。

% python
Python 2.3.5 (#2, Sep  4 2005, 22:01:42)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
%gt;%gt;%gt; import re
>>> re.sub('(\\d{1,3})(?=(\\d{3})+(\\.\\d*)?$)(\\d{3}(\\.\\d*)|)', '\\1 \\4', '1234567890')
'1 234 567 890'
>>> re.sub('(\\d{1,3})(?=(\\d{3})+(\\.\\d*)?$)(\\d{3}(\\.\\d*)|)', '\\1 \\4', '1234567890.12345')
'1 234 567 890.12345'
>>>
% irb --prompt simple
>> '1234567890'.gsub(/(\d{1,3})(?=(\d{3})+(\.\d*)?$)(\d{3}(\.\d*))?/) { "#$1 #$4" }
=> "1 234 567 890"
>> '1234567890.12345'.gsub(/(\d{1,3})(?=(\d{3})+(\.\d*)?$)(\d{3}(\.\d*))?/) { "#$1 #$4" }
=> "1 234 567 890.12345"
>> '1234567890.12345'.gsub(/(\d{1,3})(?=(\d{3})+(\.\d*)?($|\D))(\d{3}(\.\d*))?/) { "#$1 #$5" }
=> "1 234 567 890.12345"
>> '1234567890'.gsub(/(\d{1,3})(?=(\d{3})+(\.\d*)?($|\D))(\d{3}(\.\d*))?/) { "#$1 #$5" }
=> "1 234 567 890"
>>

[ruby] Ruby-GetText-Packageでエラー画面のメッセージを変更する

例が「"は短すぎッス。%d文字以上でお願い。"」なのに、スクリーンショットでは「は」ではなく「が」になっている。

そういえば結局書式指定はなしで、「%{symbolname}」だけで指定するようになったみたいだけど、指定できるようにするとしたら「"%{|04d|num} %{|-10s|name} : %{|s|data}"」のようになる? もしかして気づいてないだけでもう出来る?

[regexp] 三桁毎にスペースを挿入する正規表現

2006-03-02追記:'0.12345'が"0.12 345"になるというつっこみがあったので、(?=...)の後ろにも(?=...)の中と同じように($|\D)をつけて/(\d{1,3})(?=(\d{3})+(\.\d*)?($|\D))(\d{3}(\.\d*)($|\D))?/にすると良さそう。

2006-03-03追記:何か勘違いしていたらしく、全然だめだったので考え直し中。

2006-03-04追記:三桁毎にスペースを挿入する正規表現の続きに続く。

本日のツッコミ(全2件) [ツッコミを入れる]

むとう [こ、こまかい・・・。修正しておきます(笑)。 書式指定はばっさり切り捨てましたが、やっぱ必要ですかね。]

sheepman [それだと、 '0.12345'.gsub(/(\d{1,3})(?=(\d{3})+(\.\d*)?$)(\d{..]


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73