July 02, 2007
NilClass#method_missing #=> nil 16:36
- Permalink
- Comments (382)
- Trackbacks (0)
Ruby
思いつき。
if a and a.b ... end
これ↑くらいならまだいいけど、nilかどうかチェックして次、みたいなの書くのが めんどくさくなってきたよ。代入があると特にそう思う。こんなのとか……。
if (neler = NiChanneler.find_by_name(user_name)) and neler.vipper? ... end
あ、ActiveRecordな例なので補足しておくと、
find_by_name_and_vipperとは書けない(DBにvipper属性がない)ケースってことで。
次のようにしてみる。
class NilClass
def method_missing(*args)
nil
end
end
これでnilにvipper?って聞くと「は?(= nil)」と返してくるからこう書ける。
if NiChanneler.find_by_name(user_name).vipper? ... end
ちょっと気持ち悪い。
けど、nilがNullObjectがわりになってると思えばまあわからなくもない。
ただRuby的にはダメなんだろうなぁ。基本的なクラスの中にこういう例外なやつがいるのは。
July 09, 2007
404のはずが200 00:09
- Permalink
- Comments (1963)
- Trackbacks (0)
lighttpd
lighttpdでmod_proxy使いつつserver.error-handler-404をコメントアウトし忘れてたんだけど、 その間404のはずのURLが200で返ってくるようになってた。
HTTP/1.x 200 OK Status: 404 Not Found
こんな感じで返ってくる。 多分lighttpd forum - Proxy status code problemと 同じ症状。
Statusてのはlighttpd独自のなんだろうか……。
フューチャリスト宣言読んだ 21:42
- Permalink
- Comments (373)
- Trackbacks (0)
book
借りて読んだ。
基本的にはネットの将来のわくわく感について。
ウェブ進化論では 確か向こう側(ネット)がその低コスト性のために社会を変えるぞ的なところに重点があったと思うけど、 今回読んだほうは人間寄りの話だったかな。 まあ対談という形のせいか、実際はいろんな話題に散ってるんだけど。
読み終わって思ったのは、ある事象が半ば偶然的に半ば必然的に起こるという不確実な性質
に満ちた
ネットにもっと飛び込んでいくべきなんだろうな、ってことかな。
ここでブログを書いていることで、それがきっかけになってたまたまあることが起こる。
それは今までも少ないけどあったし、これからもきっとある。
そしてそれがもしかしたらオレを変えていく。
でもネットだから、もっともっとそういうきっかけの発生率は上げられるぞ、と。
変われるってステキ。その可能性がまだ上がると思うとオラわくわくすっぞ。
本を返さないといけないので、個人的に覚えておきたいことをメモっておく。
- 保守的なことを言う方が陳腐化する
- 安易にスペシャリストを目指すと高速道路の渋滞にはまって差別化できなくなる(ヒント:俯瞰性)
- リア充とネットに対する興味には負の相関がある。ネットではニート、ひきこもりが有利!?(・∀・)ずっとオレのターン!
- 弱点・コンプレックスはチャンス(乗り越えたときにでかいよ)
就活は終わったけど、今後大学浪人の期間を言われたら「ギャップイヤーです」って言おw
そう言えばこれ読んで日本が少し嫌いになったよ……。
筑摩書房 (2007/05/08)
売り上げランキング: 228

読後感が気持ちいい!
ューチャリスト同盟に参加
梅田さんが気になる方は読むことをお勧めしますJuly 12, 2007
:shared => true 00:56
- Permalink
- Comments (1951)
- Trackbacks (0)
RSpec
またRSpecから離れてた。なかなか触れてない……。
共通のbeforeの抜き出しにはこの前みたいにこざかしいことしなくても
:shared => true使って
describe 'setup', :shared => true do
before do
@a = 3
end
end
describe 'aaa' do
it_should_behave_like 'setup'
before do
@b = 4
end
it 'a' do
@a.should == 3
@b.should == 4
end
end
describe 'bbb' do
it_should_behave_like 'setup'
it 'a' do
@a.should == 3
@b.should be_nil
end
end
でいいのか。itしかshareできないと勝手に思ってた。英語読めてない証拠……。 あとセンスが足りない。
July 23, 2007
lighttpdのluaサポートつきコンパイル 22:08
- Permalink
- Comments (2323)
- Trackbacks (0)
lighttpd
忘れるのでメモ。
./configure --with-lua=lua5.1 --with-memcache make make install
よく以下のように載ってるんだけど、
./configure --with-lua --with-memcache
ubuntuでやってたらエラーになった(2回目)。
checking if lua-support is requested... yes checking for LUA... configure: error: Package requirements (lua >= 5.1) were not met: No package 'lua' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LUA_CFLAGS and LUA_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
このへんの仕組みはわかってないなぁ。

