« 2006年11月 | メイン | 2007年05月 »

2006年12月22日 (金)

ドラゴンのスヌーカーレッスン Part11 [ビリヤード・スヌーカー]

前回に引き続き、今年最後のレッスン会@スヌーカークラブに参加。

今回はダメだったー。なんかダメな回といい回が交互に来てるような気もするが。福田さんとのフレームではレッドもなかなか入らず。やっぱり厚みがわかってないんだなー。福田さんから指摘されたポイントはフィニッシュが流れてしまっているということ。キューの加速とインパクトのポイントがずれている。フィニッシュさえきちんと取れれば、あとは厚みだけだとのこと。その厚みが難しいんだけどね…。

しかしその後他の参加者の方と1フレーム撞いたときはなぜか厚みが見えて、なぜか入った。でも最後のほうになるとまた入らなくなった。なんなんだこれは~。厚みの見方というか、方法論が適当だから安定しないんだろうなぁ。

ちなみに最後のピンクを前回に引き続きまたまたダブルで決めた。そのままラストのブラックも連続ダブルで…と思ったがそれは外した。さすがにそんなにうまくはいかないか~。

投稿者 4bit : 00:41 | コメント (0) | トラックバック (0)

2006年12月17日 (日)

Rails勉強会@東京 第13回&忘年会 [テクニカル]

前回に引き続き、毎月恒例のRails勉強会に参加。今回は日本Rubyの忘年会も開催。

ポジションペーパーは、「URIにidを使いたくない場合」ということで前のエントリそのまま。

前半セッション「AWDwR 2ndを読む」

最初セッション案があまり出ていなかったので、なんとなく僕が挙げた「Agile Web Development with Rails 2nd Editionを読む」が選択されて、オーナーを務めることになった。

しかしやっぱり全部読めるわけはないんで、読む場所は絞っておかなきゃいけないね~。リクエストのあったActiveRecordとActionController(ルーティングとRESTとか)あたりの改訂箇所を中心に読んでいったが、かなりグダグダな進行になってしまって、高橋さんにはだいぶ助けていただいた。ありがとうございました。

後半セッション「RSpec」

後半はもろはしさんにリクエストして前回出られなかったRSpecのセッションをもう一度。RSpecというのはBDD(Behaviour Driven Development)のためのフレームワーク。実行可能な仕様の記述とでもいうのだろうか。詳細はかくたにさん翻訳のチュートリアルを参照。

context "コードが4つともwhiteで、…" do
  setup do
    ...
  end
  specify "blackの判定は4であること" do
    @score.black.should_equal 4
  end
  ...
end

日本Rubyの忘年会2006

総勢50人弱という大人数で盛大に忘年会が行われた。幹事のもろはしさん、Yuguiさん、ありがとうございました。

投稿者 4bit : 23:59 | コメント (0) | トラックバック (0)

2006年12月15日 (金)

URIにidを使いたくない [テクニカル]

Railsでmap.resourcesを使っているとURIが /users/1 とか /articles/99 って感じになる。

でも、URIに数字のid使うのダセeeeeeeeeeeee
/users/tkawa みたいにユニークな文字列が使いたい!!!!
ってことがあるはず。(そもそも内部的な値であるはずのidをURIに使っていいのかという議論もある)

そこでルーティングのidの部分を差し替えられるコードを簡単に書いてみた。

使い方

idの代わりにnameというカラムを使う場合、このように書く。

map.resources :users, :id => "name"

これで例えば GET /users/tkawa というリクエストがあった場合、{ "controller" => "users", "action" => "show", "name" => "tkawa" } というパラメータが渡される。よってfindするときはUser.find_by_name(params[:name])とすればOK。

ただし、ヘルパーメソッドはなぜかuser_path(@user)って書くとうまく動かないので、user_path(@user.name)としなければならない。

でもこれで「URIにはユーザ名を使いたい!」とか「Wiki作るからURIにはページ名使えなきゃ困る!」ってときもバッチリ。

コード

プラグインでもenvironments.rbに直接書き込みでもお好きなようにどうぞ。ってか公開svnレポジトリ作らないとなー。

ActionController::Resources::Resource.module_eval do
  def id
    @options[:id] || "id"
  end
  def member_path
    @member_path ||= "#{path}/:#{id}"
  end
  def nesting_path_prefix
    @nesting_path_prefix ||= "#{path}/:#{singular}_#{id}"
  end
end

投稿者 4bit : 19:23 | コメント (0) | トラックバック (1)

Singleton Resourcesが実装された [テクニカル]

「Railsのmap.resourcesに単数形リソース必要じゃん~」って2ヶ月前から言っていてプラグインとか作ったりしていたのだが、それが通じたのか(偶然だけど)Rick OlsonがSingleton Resourcesを実装してくれた!(Changeset 5701

A singleton resource is global to the current user visiting the application, such as a user's /account profile.

そうそう、そういうことなんだよ~。やっぱり考えることは同じだね。

使い方

routes.rbに、map.resourcesと違って単数形で書く。

map.resource :account
# map.resourcesと紛らわしいので注意

すると、こんな感じのルーティングが生成される。

HTTPメソッドとURLAccountControllerのアクションヘルパーメソッド
GET /account show account_url
account_path
GET /account;edit edit edit_account_url
edit_account_path
PUT /account update account_url
account_path
DELETE /account destroy account_url
account_path

ちなみに、ヘルパーメソッドの*_urlと*_pathの違いは、前にRails勉強会で「よくわかんないけど*_pathに変わってきてるみたい」とか言っていたのだが、調べてみると*_urlがスキーム・ホスト名などを含んだURL(http://example.com/account)で*_pathがルートからのパスのみ(/account)になる。

これでセッションに存在する単数リソースや、現在ログイン中のユーザに紐づくリソースも表現できるようになった。めでたしめでたし。

投稿者 4bit : 12:34 | コメント (0) | トラックバック (0)

2006年12月09日 (土)

土曜夜はスヌーカー [ビリヤード・スヌーカー]

会社の同期の友人に車を出してもらい、スヌーカーを撞きに行った。前回に続いて3回目なのだが、いつも行っていたドリームショット武蔵村山本店のスヌーカーテーブルが撤去されてしまったので、今回は東大和市にあるROOTSに行った。

調子はまずまず。第1フレーム、ポツポツとカラーボールも入り始め、ものすごいフルーク(まぐれ)でレッドが入った後、ブラウン-レッド-ブラックとつながり13点ブレイク達成。

第2フレーム、疲れが出てきたのか最初から全然入らずゲームが進まない。ボールの厚みが全然わからない(これは実はドラゴンのレッスンのときもそうだった)。やばいと思って、ポケットから狙いのボールまでボールの幅のラインを引くイメージを持ち直してやってみたら、とたんにボールが入り始めた。今までいかに適当に撞いていたかっていうことなので反省。そしてなんと今度はフルークではなくレッド-ブラック-レッド-ピンクの15点ブレイク達成! 僕個人としてのハイエストブレイクだし、1日2回も2ケタブレイク出したのも初めて。これはもしかして上達しているのか?それとも今までがひどすぎたのか?いずれにしてもとてもいい気分。メシがうまかった。

投稿者 4bit : 23:49 | コメント (0) | トラックバック (0)

2006年12月08日 (金)

ドラゴンのスヌーカーレッスン Part10 [ビリヤード・スヌーカー]

だいぶ間があいたけれど、スヌーカークラブでのレッスン会に参加。前回ブログに書くのを忘れたので、今回が10回目の参加。

相変わらずヘタクソなんだけれど、今回はカラーボールもポットできたし、福田さんとのフレーム以外にも他の参加者の方と2フレーム撞いたりして、ひさしぶりにたっぷり楽しめた。

今回一応新しいキュー(ただし安物)なので滑りもよくグローブを使わずにすんだ。思いがけず回ってきた福田さんとの2フレーム目の最後、それまで福田さんがダブル(プールでいうバンクショット)をバチバチ決めていたので、これは最後ダブルを返すしか!と思って狙って撞いたら見事に入った。まあまぐれっていえばそれまでだけどこういう瞬間はうれしいね~。

投稿者 4bit : 00:54 | コメント (0) | トラックバック (0)

2006年12月03日 (日)

第6回スヌーカージャパンオープン・アダムカップ [ビリヤード・スヌーカー]

今年は新宿サムタイムでの開催ということで観戦しに行った。サムタイムは一段高くなっているギャラリー席のようなところがあってとても見やすい。パンフレットも配布されていて、さらに前のクロスタイトリーのときと同じようにビデオカメラで撮影もされていてかなり豪華な雰囲気。

2回戦で40~50オーバーブレイクが飛び出したりして、レベルの高い大会だった。福田さんは病み上がりで体調が悪いらしかったが。

しかし次の用事のためセミファイナルまでしか見られなかった…。後ろ髪をひかれる思いで退席。

追記:福田さんが優勝!これで大会4連覇。本当におめでとうございます。

投稿者 4bit : 22:44 | コメント (0) | トラックバック (0)