action-codingを試す
LLで気になっていていたaction-codingなどをやりはじめている。
朝起きたら、Visualizing Dataのようなものこそ、こういうやり方がいいんじゃないかと思ったので、そのままおもむろに枕元にあるmacbookを開いて突然入れ始めた。

jythonだとselfをいちいち書かないといけないのが多少うっとうしいのだが、rubyだとそれがないだけでも書きやすい。あと、セーブするタイミングでグラフィックも更新される、対話っぽい環境がマジで楽しい。
Visualizing Dataのインタラクティブなscatter plotの章もこれでやると、楽しいかもしれんので、後でやり直してみよう。
ちなみに僕のエディタはemacsなので、run.commandを別のターミナルで起動させとかないといけないけど、emacsから起動できるようにしとけばいいかもしんない。
恋するプログラム
これも相当長い間放っておいたのだけど、なんとなくRubyのコードが読めるようになってみたらさらっと読みきれた。
マルコフ連鎖モデルのとこが参考になった。
opensource版fastladderのリダイレクトの処理
これを10冊ぐらい買って、さりげなく職場に撒いておきたい今日この頃
はじめてのRubyのおかげで、Rubyのコードを読むのが楽しくなってきたので、opensource版のfastladderでABCのフィードがブックマークレットから登録できなかった理由を調べた。
fastladder.rbがリダイレクトに対応してないっぽいのでこんな感じでレスポンスのチェックをすればよさそうなんだけどBasic認証用の処理とか入ってるから、どういう風に書いておけばよいのかわからん。
あと、RSSのURIをブックマークレットで登録しようとしてもフィードが見つからないとかいうのも直しておきたい。
初めてのRubyを読み終わった
面白かった。
nilはオブジェクト
>> nil.methods
=> ごちゃごちゃとメソッドが表示
>> nil.class
=> NilClass
>> NilClass.ancestors
=> [NilClass, Object, Kernel]
というわけでnilはオブジェクトだったという事実が判明
特異クラス、特異メソッドがなんとなくわかった。
これが大きな収穫の一つ
継続
Rubyの継続理解した。というよりブロック付きメソッドが便利そう。
初めてのRubyを読む
最近買った数冊のうちの一冊
アイデンティテイ
>> 0.object_id
=> 1
>> 1.object_id
=> 3
>> 2.object_id
=> 5
整数のobject_idは二倍して1を足した整数?だとすると偶数部分は何なの?
JRubyとかjythonとか
JRubyとかjythonとかはCGI書くのに苦労するよなとかつぶやいてみたけどjythonではSimpleHTTPSeverが使えることに気づいた。
% jython
Jython 2.2.1 on java1.6.0_06
Type "copyright", "credits" or "license" for more information.
>>> import SimpleHTTPServer
>>> SimpleHTTPServer.test()
Serving HTTP on 0:0:0:0:0:0:0:0 port 8000 ...
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET / HTTP/1.1" 200 -
192.168.11.xx - - [26/Jun/2008 21:34:28] code 404, message File not found
192.168.11.xx - - [26/Jun/2008 21:34:28] "GET /favicon.ico HTTP/1.1" 404 -
あーでも、これだと、結局jythonスクリプトでCGI実行しないとあかんからうまくいかんわ。
というわけで、明日は会社にWebアプリ編を持ってってjythonでwebappサーバーつくるのにチャレンジ。
なんかやる気出てきた。
Fastladderを触っている
職場に入れたかったのでproxyに対応させる必要があった。というわけで作業メモ。
- trunkをsvn coしたらenvironment.rbで設定をする。
- rfeedfinderに手を入れる
trunkにタイポがあったので二カ所ほど修正した気がする。
あと、addする際に登録できないフィードがあってなんでかな?と思ってみたら、urlが全部小文字になってた。これもrfeedfinderの仕業だった。
16行目くらいの
uri = uri.grep.sub(/^feed(.*)/,'http\1'/.downcase
のdowncaseが邪魔なので、ここを修正。
今日の作業はここまでだけど、RSSとAtomだったらAtomのほうを購読したほうがよさげな感じがしたりとかするので、そこらへんのコードも見てみながらrubyの勉強もする。
プログラミングRuby
Moose CookBookを読んでいたら、Rubyも気になりだしたのでおもむろにプログラミングRuby を読み出した(以前買った初版のほうだけど)。
というわけで一通り読み終えた。
土曜日で集中力が続く日はよいなぁ。
Visualizing Data


恋するプログラム―Rubyでつくる人工無脳
できるポケット+ RSSリーダーで毎朝の情報収集力が10倍アップする本 (できるポケット+)
初めてのRuby
みんなのPython Webアプリ編 [みんなのシリーズ]
プログラミングRuby 第2版 言語編