-
初 2007-10-01 00:00:00
新しい会社は高層ビルの最上階にあるので、景色がけっこうすごいし夜景もきれいだったりします。東京タワーが紫色にライトアップされていました。
帰り道、スーツを着た人を見かけるとちょっと不思議な気分になったりします。先週までぼくもそれを着ていたのですが。私服で仕事をするのはいいものです。スーツよりは全然プログラマに合ってるよ。
今日はのんびりにこにこ動画でも見ようと思いますが、その前にmilookのひとりごとが削除できる機能を追加しました。
- チャレンジャーの死闘〈上〉―銀河の荒鷲シーフォート (ハヤカワ文庫SF)
- 作者/アーティスト: David Feintuch,野田 昌宏
- 出版社/メーカー: 早川書房
- メディア: 文庫
- 発売日: 1997-07
- チャレンジャーの死闘〈下〉―銀河の荒鷲シーフォート (ハヤカワ文庫SF)
- 作者/アーティスト: David Feintuch,野田 昌宏
- 出版社/メーカー: 早川書房
- メディア: 文庫
- 発売日: 1997-07
昔の帆船ものの物語を、そのまま宇宙船に持ってきました。という印象の作品。物語としては特におもしろみもないけど、なぜか続きが読みたくなってしまう不思議な作品でした。
-
「インソムニア」を読みました 2007-10-04 00:00:00
- インソムニア (新潮文庫)
- 作者/アーティスト: Robert Westbrook,新藤 純子
- 出版社/メーカー: 新潮社
- メディア: 文庫
- 発売日: 2002-07
「インソムニア (新潮文庫)」を読みました。
-
ユルさんのtokyobike 2007-10-06 00:00:00
-
今日もtokyobike & ひさしぶりのデクスター 2007-10-07 00:00:00
今日もユルさんとtokyobikeでおでかけしました。のんびり走って楽しかった。ひとりで飛ばして走るのもいいけど、ふたりでのんびり走るのもいいですね。
【最高速度】 29.8km/h
【平均速度】 13.0km/h
【走行距離】 16.73k
m 【走行時間】 1時間17分9秒
【総走行距離】 126.9k
m
- キドリントンから消えた娘 (ハヤカワ・ミステリ文庫)
- 作者/アーティスト: 大庭 忠男
- 出版社/メーカー: 早川書房
- メディア: 文庫
- 発売日: 1989-12
「キドリントンから消えた娘 (ハヤカワ・ミステリ文庫)」を読んでいます。すごくひさしぶりのデクスター。文章が洗練されてて気持ちいいですね。
-
作家には作家のアプローチがある 2007-10-08 00:00:00
「涼宮ハルヒの憂鬱」のアニメを見ていたのですが、正直きつくなってきました。ぼくはオンライン作家なので、オンライン作家らしく小説から攻めようと思います。
- 涼宮ハルヒの憂鬱 (角川スニーカー文庫)
- 出版社/メーカー: 角川書店
- メディア: 文庫
- 発売日: 2003-06
「「涼宮ハルヒの憂鬱 (角川スニーカー文庫)」」を読みました。ホントは森博嗣さんの「Xシリーズ」第2弾を買いたかったのですが、そこはまた今度。
小説のほうは苦もなく読めました。ぼくは地の文や会話文に擬音系の言葉が入っていたりするのは嫌いなのですが(笑い声すら嫌い)、ライトノベルには珍しくそれが少なくてよかったです。文章も普通だし、これなら普段ミステリなどを読んでいる人もあまり違和感なく読めるかも。なかなかおもしろかったです。
しかし角川スニーカー文庫を買ったのは何年ぶりだろうか。もはや記憶ですら定かにあらず。でも、ロードス島戦記とかまだ売っていたのでびっくりした。
ノリックが交通事故で帰らぬ人になってしまいました。彼が日本GPで初めて勝ったとき、ぼくの寮の部屋にバイク仲間が集まって観戦していたことを思い出します。
さんまを焼いて食べました。初さんま。お魚はやっぱりいいですね。
今日は雨が降りそうで降らないお天気。自転車に乗っておけばよかった。また来週の楽しみにしよう。
-
SafeERBとSafeRecordを使ってみた 2007-10-09 00:00:00
milookにSafeERBとSafeRecordのプラグインを採用してみた。AR使用時のconditionsにバインド変数を使っていない人はいないと思うけど、ERBでのhメソッドは入れ忘れるときが往々にしてあるので。
YAMAHAがとうとうやってくれました。YZF-R125を作りやがったのです。大型二輪が教習所で取れるようになってから、小僧バイクしか存在しなくなった中型小型のバイクですが、ようやくここにきて本物の登場でしょうか。ぼくがバイクに求めているのは「できるだけ軽く」「パワーは二の次」でして、ホンダのレーサーRS125が公道向けにデチューンされて販売されたらいいのに、と妄想しているくらいです。パワーはあったほうがいいけど、それよりも軽さが重要なのです。
このYZF-R125、排気量を250ccにして50psくらい出してくれれば(自主規制もなくなるし)めちゃくちゃ売れる気がします。いや、売れるかどうかわからないけど、ぼくはぜったい買うよ。 -
「涼宮ハルヒの溜息」を読みました 2007-10-10 00:00:00
- 涼宮ハルヒの溜息 (角川スニーカー文庫)
- 出版社/メーカー: 角川書店
- メディア: 文庫
- 発売日: 2003-09
「「涼宮ハルヒの溜息 (角川スニーカー文庫)」」を読みました。
-
「RailsによるアジャイルWebアプリケーション開発 第2版」予約受付はじまる 2007-10-11 00:00:00
- RailsによるアジャイルWebアプリケーション開発 第2版
- 作者/アーティスト: 前田 修吾
- 出版社/メーカー: オーム社
- メディア: 大型本
- 発売日: 2007-10-26
「「RailsによるアジャイルWebアプリケーション開発 第2版」」の予約受付が始まっています。待ち遠しいなあ。
-
バンピートロット2が終わった件について 2007-10-12 00:00:00
-
ユルさんとお出かけ 2007-10-13 00:00:00
今日はユルさんと新百合ヶ丘へお出かけしました。彼女は体調が悪かったので、様子を見ながらのんびりお店を見て回ります。今年はくるぶしくらいまでの短いブーツが流行りなのだそうです。スポーツ品店には、もうスノボーやウエアが登場してました。もうこの季節がやってきたのです。一年が経つのは早い。
アニメイトにも行ってきました。萌えの勉強です。桃井はるこさんが声をやっているアニメを教えてもらいました(もう忘れてしまいました)。「ほら、長門さんがいるよ」と彼女に言われて、理解できる自分を鑑みるに、身の引き締まる思いです(森博嗣さんモード)。
帰ってきてからは、豆乳鍋を作ります。そして失敗しました。とほほ。
プログラミングもちょっとしました。自重しろと言われそうなものを作ってみました。
-
自転車で全力失踪してきました 2007-10-14 00:00:00
ひさしぶりにtokyobikeで出かけました。全力疾走が全力失踪になっていますが、おもしろいのでこのままにしておこう。
【走行距離】 14.99k
m 【最高速度】 42.6km/h
【平均速度】 12.5km/h
【走行時間】 1時間12分3秒
【総走行距離】 141.9k
mユルさんの体調がよくなかったので、すぐに一旦家まで帰りました。物足りなかったぼくは、もうひとっぱしり。ためしに全力疾走してみたのですが、平地でも40km/hオーバーでしばらく走れました。自転車は30km/hを越えると、風に乗っている感がすごくなって楽しくなります。バイクでは味わえないよね、これ。
帰ってからはカレーを作りました。ひさしぶりにシーフード。
サザエさんとか見ていると、ニコニコ動画のコメントを想像してしまうのはなぜだろう。
日曜の朝が物足りなくなった。グレンラガンが終わったせいか。
-
database.ymlにERBが使えます&alias_method_chain 2007-10-15 00:00:00
今日は仕事でdatabase.ymlにERBが使えることを教えてもらった。
<% require '/etc/rails/conf/conf.rb ' %> development: adapter: <%= config.db_adpter %> database: <%= config.db_name %> username: <%= config.username %> password: <%= config.password %> socket: <%= config.db_socket %> ... (略)
としてあげて、conf.rbには
def config Class.new do def db_adpter; 'mysql' end def db_name; 'sample_development' end def username; 'test' end def password; 'test_pass' end def db_socket; '/var/run/mysqld/mysqld.sock' end.new endとしてあげるとOK。
今まではひとりで開発していたのでそれほど気にしていなかったけど、こういうやり方をすればどんな環境でもdatabase.ymlを変更する必要がないですね。
Railsでメソッドをオーバライドするときはalias_method_chainという機能が便利。
class Tsukasa def like 'バイク' end endこれに、事前に標準入力を受け付ける処理を追加してオーバライドします。
class Tsukasa def like_with_question puts "言葉を入力してください" if gets == 'nsr' like_without_question else puts "バイクじゃない" end end alias_method_chain :like, :question endlike_with_questionがlikeメソッドをオーバーライドするもので、like_without_questionががオーバライド前のメソッドを呼び出します。継承だったらsuperとか使えるだろうけど……。alias_mehod_chanはオーバライド前後のメソッドを指定してあげます。
-
ubuntu7.10リリース! 2007-10-18 00:00:00
ubuntu7.10が今日リリースですね。楽しみ。特にれxorg.confまわりがGUIで設定できるようになるらしく、これでデュアルディスプレイにするときも簡単になるのかなあと期待しています。仕事から帰ってきたらリリースされているかな?
-
ubuntu7.10でデュアルディスプレイ 2007-10-19 00:00:00
ubuntu7.10のアップデートには2時間ほどかかりました。デュアルディスプレイの設定が確かにGUIになっています! でも、設定するとなんだかおかしいことに。サブディスプレイをつなげたままXを起動しようとすると失敗してしまいます。仕方なく、起動してからサブディスプレイをつなげることにしました。でも、やっとちゃんとしたデュアルディスプレイ環境になったよ。もっと大きなディスプレイが欲しいな。
最近、ペアプログラミングなんていう洒落たものをやっている。ぼくは初体験なのだけど、見てもらいながらやるのは安心できるし、知らないことをすぐに教えてもらえたりするので一人でやるよりもスピードがあがる。でも、ずっとペアプロやるわけにもいかないんだろうなあ(2人分のリソースを食っているわけだし)。まともにTDDもやっています。昔、Rspecをはてブメールの開発で使ったことがあったけど、ほとんど忘れてしまったし(仕様も変わったし)、今は普通にtest::unitを使っています。TDDも安心できていいな。開発するときの脳の使いかたがスマートになる印象。すばらしいです。
-
Rubyの名前空間に苦しむ。そしてちょっと勉強。 2007-10-20 00:00:00
作ったあるメソッドを使うとき、 attr_accessor みたいな書き方をしたかったのだけど、Rubyの名前空間にちょっとハマってしまった。復習しておこうっと。
それはともかく、attr_accessor はどうやって定義されているのかと思ってちょっと調べてみると、Moduleクラスのプライベートインスタンスメソッドとして定義されていた。ClassクラスはModuleクラスのサブクラスだからか。なので、同じようにやってみる。
test.rbclass Module private def set_special_url(args) define_method :special_url do args end end endとして、こいつをrequireしてやると
#!/usr/bin/ruby require 'test' class Lesson set_special_url :controller => 'test', :action => 'login' def index puts special_url[:controller] puts special_url[:action] end end Lesson.new.index実行結果は、
test login
となった。なるほど。
次にRailsでやってみる。
ジャンプ先のURLを一度設定しておけば、どこでもそれが使えるという機能と、ステートを保持するセッションを持ち、それをインスタンス変数としてアクセスできる機能を持つpluginを作ってみる。module Spoon private def say @word ||= session[:word] || "I'm thinking nothing" end def mind=(word) session[:word] = word @word = word end def thinking(word) self.mind = word end class ::Module private def set_jump_url(args) define_method :jump_url do args end end end endこんな感じ。
Moduleクラスをオーバライドしているのは前述のとおり。::をModuleの頭につけてあげないと、Spoon::Moduleクラスの定義になってしまうので注意。
sayメソッドとmindメソッドは、それぞれ@wordへのアクセサになっている。sessionを使っているのは、アクセスされるたびにインスタンスが生成されるので、@workがそのたびに異なるものになってしまうため。だったらセッションだけでもいい気もするけど、こっちのほうがシンプルだと思う。
thinkingメソッドは、mindメソッドを確実に呼ぶために定義した。selfレシーバをつけてあげないと、mindがメソッドなのかローカル変数なのか、区別がつきにくい(というかコントローラのアクションの中ではローカル変数と判断される)のだ。このあたりは、acts_as_authenticatedをもろに参考にしました。
で、ApplicationControllerでは
class ApplicationController < ActionController::Base include Spoon set_jump_url :controller => 'test', :action => 'index' end
こうしてやる。これで、どのコントローラでも、redirect_to jump_url みたいな感じで、設定したジャンプ先のURLが使えるようになる。
それからふたつのコントローラをclass TestController < ApplicationController def index render :text => say end def set_mind thinking "I'm hungry..." redirect_to jump_url end endclass KaeruController < ApplicationController def index redirect_to jump_url end endこんな感じで定義する。
もしjump_urlをtestコントローラだけで使いたいときは、set_jump_urlをtestコントローラだけで使えばいい。そうすれば、kaeruコントローラではjump_urlが使えない(未定義でエラーになる)。
-
一日に何度も書けるようにしてみた 2007-10-20 00:00:00
kaeruspoonの日記を、一日に何度も書けるようにしてみた。これで追記も見やすいかな。つまり、ただのblog形式なんだけど。もともとブログ形式がいやで日記形式にしていたのだけど、また戻してしまった。
でも、ひさしぶりにソースをみたらけっこうヒドかった。リファクタリングなんて全然してないね(当然テストもない)。また一から作りなおしてみようかな。
-
tokyobikeで多摩川に行ってきました 2007-10-21 00:00:00
今日はtokyobikeで多摩川に出かけました。思っていたよりも近かったです。
多摩川のサイクリングロードは自転車いっぱい人いっぱいで走りにくかった。飛ばしてる人もいたけどちょっと危ないな、と感じました。歩行者に暴言吐いている人も見かけたりして、嫌な気持ちにもなってしまった。もう行かないかも。
【走行距離】 50.42k
m 【最高速度】 36.6km/h
【平均速度】 18.3km/h
【走行時間】 2時間45分31秒
【総走行距離】 192.3k
m 走行距離が30kmを越えると、急激にふとももの疲労感が強くなるみたい。身体は疲れてないのに、ふとももだけが動かない。もっと長距離走りたいんだけどな。 -
Rubyのクラスはオブジェクト 2007-10-22 00:00:00
Rubyの復習の続き。
attr_accessorみたいに、クラス定義の中で呼ばれているメソッドのレシーバは何かというと、その定義しているクラス自身になる。Rubyではこれもオブジェクトだからだ。このオブジェクトはどのクラスから生成されているかというと、Classクラスであり、そのClassクラスはModuleクラスを継承している。
クラス定義中も実際にRubyの処理が実行中のため、attr_accessorがコールされると、レシーバはその定義しているクラス自身になる。こいつにはattr_accessorメソッドが存在しないため、親クラスであるClassクラスに処理が渡され、さらに親のModuleクラスに渡されてそこで処理されることになる。
クラス自身がレシーバということだけど、それはクラス名という形で表現されている。クラス名がクラスのオブジェクトを表している。だからクラスメソッドの定義とはつまり、クラスオブジェクト(これもインスタンスだ)の特異メソッドとイコールになる。ふむふむ。このあたりのことはなんとなくどこかで読んだ覚えはあるのだけど、ちゃんと理解していなかったね。
「2007年10月20日」の日記のSpoonモジュールだけど、set_jump_urlメソッドをModuleクラスのインスタンスメソッドに追加定義しているので、どのクラスでも使えてしまう。それにModuleクラスみたいな根幹クラスにメソッド追加するのはあまりよろしくない。
上記の理解をもとに考えると、ひとつのコントローラ限定で使用したいときは、そのコントローラのクラスメソッドに定義してやればいいことになる。module Spoon ...(省略)... def self.included(base) def base.set_jump_url(args) return unless (args.kind_of? Hash) || (args.kind_of? String) define_method :jump_url do args end private :jump_url end end endポイントは def base.set_jump_url(args) のところ。これでこのモジュールをincludeしたクラスのクラスメソッドに、set_jump_urlを追加定義してやることになる。
あと、重要なのが private :jump_url のところ。これがないとアクションとしてjump_urlにアクセスできてしまうので注意。
このときのjump_urlは、呼出し元のクラス固有のものになるのでクラスが異なれば違う値となる。 -
「聖なる怪物」を読みました 2007-10-23 00:00:00
- 聖なる怪物 (文春文庫)
- 出版社/メーカー: 文芸春秋
- メディア: 文庫
- 発売日: 2005-01
「聖なる怪物 (文春文庫)」を読みました。
-
空気なんて読まなくていい 2007-10-24 00:00:00
「空気を読め」という言葉が嫌いだ。食品業界の一部が長い間、いろいろと偽造を行っていてなかなか発覚しなかったのも、関係者みんなが空気を読んでいたからだろう。「空気」というのは、善悪の判断をさせることなく押し付けられるものであって、村社会的な理不尽さと強制力に嫌悪感を覚える。ぼくは、人から本を勧められたりすると絶対にそれを読みたくなくなるくらいのヘソマガリなので、「空気を読め」なんて言われたら善悪の判断なしにそれを拒絶するに違いない。
-
中学生の女の子から電話がかかってきた 2007-10-27 00:00:00
家に、中学生くらいの女の子から電話がかかってきた。
「あの」とても緊張した声だ。「真中ですけど」
「え?」 真中というのはぼくのペンネームだったりするので、戸惑った。「もしもし?」
「えっと、あの、真中ですけど、ツヨシくんいますか」
電話の後ろのほうで、「ツヨシくんはいませーん」というはしゃいだ声がする。友だちらしい。
「うーん、たぶん電話をかけ間違えてると思うよ」ぼくはいった。
「え、あ、すみませんでした」電話が切れた。
土曜の朝から、青春に触れてしまった。 -
tokyobikeで南町田にいってきました 2007-10-28 00:00:00
-
サービス停止のお知らせ 2007-10-29 00:00:00
ちょっと告知が遅くなりましたが、hatebumailとAsobozeはサービスを停止させていただきました。利用者が少ないというのがその理由。サーバは一台きりだし、リソースも豊富というわけではないので。その分を新しいサービスに回したいのです。
ちなみにmilookに関しては、ユーザがぼくひとりになっても停止することはありません。kaeruspoon自体は、そのうちリニューアルして誰でも同じシステムが使えるようにしようかと考えています。あ、やっぱり招待制にしようかな。 -
はやぶさが戻ってくる 2007-10-30 00:00:00
「はやぶさ」復路第1期軌道変換を完了!。とうとうここまで「はやぶさ」が戻ってきた。地球に帰ってくるまでに必要な軌道変換量がたったの400m/sというところに震えますね。たったの、といえるほどの微小な量とは言えないかもしれないけど、ISASの人たちが「たったの」という言葉を使ったところに気概を感じる。太陽輻射圧のみで姿勢制御するところもカッコいいですね。
それにしても、ISASのこのページ、はてブへのリンクが用意されているのにちょっと驚いた。 -
Filnで仕事しています 2007-10-31 00:00:00
新しい会社に転職してから1ヶ月が経とうとしています。特に秘密にしていたわけではないのですが、Filnというアキバ系SNSを運営している会社でプログラマをやっています。仕事中はアニメの話題とか萌えの話題とか、いろいろと飛び交っています。すごい会社です。おかげで、ライトノベルを最近になってまた読み始めたりしています。
ぼくは今までいわゆるスーツの世界で生きてきて、C言語とエクセルとマネージメントで仕事をしていたのですが、web系の開発を仕事にしたのは初めてです。いろいろと今までにはなかったことばかり。ペアプログラミングもTDDも仕事でやるのは初めてです。楽しい。なにが楽しいって、今まで家に帰ってからとか休日に趣味でやっていたことが仕事になったのだから楽しいに決まっています。小説を書くことが仕事になったことと、ぼくにとっては同義です(どっちも同じくらい楽しい趣味だから)。
朝は10時に出社です。この時間だと、電車も空きはじめています。私服で出社します。これだけでかなり気が楽です。会社は高層ビルの最上階で見張らしがとてもいいですが、仕事中はほとんど意識していません。
仕事はほぼ一日中プログラムです。RubyとRailsを使っています。RubyやRailsで仕事をするようになるとは思っていませんでした。RubyKaigiの頃は、Rubyで仕事ができればいいなあとぼんやり考えていただけでしたが、やりたいことはやろうとすればできるようになるものです。

コメント(
リンク元(8)