« 2006年08月 | メイン | 2006年10月 »

2006年09月30日 (土)

なぜか鎌倉 [にっき]

ぶらっと鎌倉に行ってきた。一応親戚の家に行くという目的はあったが。で観光なんだが時間の都合で大仏は見に行けず、鶴岡八幡宮にだけ行った。

鶴岡八幡宮って駅からメチャクチャ近いのね。意外と若い人も多くてにぎわっていた。鎌倉みやげといえば鳩サブレー。買って帰りました。おわり。

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

2006年09月29日 (金)

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

きのうはスヌーカークラブ福田さんのレッスン会。

いやー、今回はダメだった。最初1人で練習していたときはけっこうまっすぐ撞けるし、「お、これは調子いいかも」とか思っていたのだが、いざ福田さんとのフレームになると、何回かチャンスは回ってきたのだがレッドが入らない、もしくは入ってもカラーに出ない(単にヘタ)。そうこうしてるうちに福田さんがクリアランスの65点ブレイクを叩き出して終了。半年前に続いて2回目の60+ブレイクを食らった(笑)。すごい。

福田さんからは、レッドが穴前に残ったシチュエーションからのチェックサイド(逆ひねり)でブラックへの出し方を教わった。ていうかまだまだレベルが低いので、通常のシチュエーションでは見越しが恐くてひねれない…。でも穴前のときぐらいは考えないといけないな、と思った。

忘れてしまっていた福田さんへの質問は、レール際の撞き方(いわゆる土手撞き)、ブリッジの組み方はどうするのかなということで、それは他の方も同じ質問をされていて指導されていたので、それを見てけっこうわかったつもり。

あとキューももっとまともなのを買わないとね、ってのもある。来月ノートパソコンも買う予定だし、金がない~!

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

2006年09月28日 (木)

scaffold_resource_generator [テクニカル]

Edge Railsに、scaffold_resource_generatorというリソース(map.resourcesで指定するもの)用のscaffold generatorが新しくできた(Changeset 5147)。これを使えばコントローラとモデル(とマイグレーション)を一気に作ってくれるというシロモノ。

使い方

ruby script\generate scaffold_resource <リソース名> [カラム名:型名] ...

第3引数にリソース名(※単数形であることに注意)、第4引数以降にテーブルのカラム名と型名を“:”で区切ったものを並べていく。型名はマイグレーションで指定するものと同じ。例えば、AWDwR本のDepotアプリケーションのproductを作るならこんな感じ。

ruby script\generate scaffold_resource product title:string description:text image_url:string price:float date_available:datetime

これでモデルとマイグレーション、さらに通常のscaffoldのRESTバージョンともいえるコントローラ(ProductsController)とビュー、テストの雛形が生成される。生成後にroutes.rbにmap.resources :productsを書くのを忘れないように。こっちは複数形。

前のmap.resourcesの紹介記事の中では通常のscaffoldを使うパターンを紹介したが、これからはscaffold_resourceで一発になりそうだ。個人的には通常のscaffoldがリソース対応に書き直されるのかなと思っていたが、別にリソース専用のscaffoldができたということは、Railsで作る全部がリソースになるのではなく、リソースの場合とそれ以外の場合とを区別して使ってねという意図の表れなのかもしれない。とはいえ、個人的には全部リソースというのがすっきりして好きなんだけどね。リソースにするとActiveResourceでアクセスできるというおまけもつくし。

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

2006年09月25日 (月)

Rails勉強会@東京 第10回 [テクニカル]

祝第10回。前回に引き続きRails勉強会に参加。

ポジションペーパーは、「DepotにABDを適用してハマった」ということで前のエントリそのまま。

いつもノートPCなし(すげえ古いのしか持ってない)で参加しているのだが、今回は特にノートなしでは厳しかった。前半セッションは「Rails1.2を先取り」でChangesetをひたすら読んだ。後半セッションは「AWSに挑む」でActionWebServiceのソースを読んだ。

Rails1.2はなんかかなり早く出る予定らしくて、map.resourcesばかり見てたけどActiveResourceとかresource_feederだとかscaffold_resourceだとかいろいろあるらしくて、今後のRailsの方向性に注目してる身としてはちゃんと追っかけないとやばい。

AWSは正直ぜんぜんついていけてなかった…。個人的にRESTafarianではあるけど今後仕事でSOAPとかもやりそうなのでこのへんは理解しておかないといけないのだが…。まあ実際やるときはJavaでやることになると思うけど。

懇親会ではJavaのグチの話になったりして、「XMLを設定ファイルに使うのはやめよう!」という僕と同じことを考えている方がいたりした(笑)。

次回までにはノートPCを購入している予定なのでやっと持っていけるかなー。

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

2006年09月21日 (木)

DepotにABDを適用してハマった [テクニカル]

RailsによるアジャイルWebアプリケーション開発(通称AWDwR)」にサンプルとして載っているDepotアプリケーションにABDを適用して作り直したらどうなるだろう?というのを少し前にやっていたのだが、意外なところでハマったのでメモ。

テーブル設計はもともとのがこんな感じ。典型的なマスタ・ディテール形式。
DepotのER図

ABDを適用したら、このようになる(はず)。line_itemsからFKが消えて、FKを集約したorder_activitiesというテーブルができる。
ABD適用版DepotのER図

LineItemクラスではこんな感じで has_one :through 使ってる。Yuguiたんプレゼンツ

class LineItem < ActiveRecord::Base
  has_one :order_activity
  has_one :product, :through => :order_activity
  ...
end

問題は、CartというDBには載らないクラスの存在。このオブジェクトはセッションに入っていて、内部にLineItemの配列を持つ。その使い方は、カートに商品が入るたびに、すでにある商品ならすでに入ってるLineItemのquantityを+1し、新しい商品ならLineItemをnewして入れるという感じ。そして、注文を確定するときにOrderを作ってそこにCartに入っていたLineItemをまとめてくっつけて一気にsaveするのだ。つまりCartに入っている間はLineItemはsaveされていないというのがポイント。

さて、もともとのテーブル設計ならLineItemにはproduct_idが入っているので問題ないのだが、ABD版では入っていない(FKがないんだから当然だが)。そこで has_one :through でproductをたどれるようにしたいのだが、LineItemはsaveされていないからidが無い! よってOrderActivityが作れないのだ。ガーン。

かといってLineItemをsaveしてしまうのも、CartがDBに入ってない単なる一時データなのにその中にあるLineItemがいちいちDBに入るってのはどうなんだ、と。さてこういうときどうするのが一番いいのでしょう?

まあ端的に言えばDB上にないデータの関連はたどれませんよってだけなのだが、ActiveRecordはnewして一時的にsaveせずに使うという使い方もけっこう想定されてるような気がする。それともレアケース?

あと直接関係ないけどDepotアプリのREST適用版ってのも試作していて、そっちはなかなかいい感じ。AWDwRの将来の版ではこういうのが載るようになるのかな。

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

2006年09月04日 (月)

Northern Ireland Trophy [ビリヤード・スヌーカー]

今さらだけど今シーズンのワールドスヌーカートーナメントのメインツアーが始まってました。ノーザンアイルランドトロフィーが先月の13日~20日まで。決勝はロニー・オサリバン対ディン・ジュンウィというすごいカード。そしてなんとディンが勝っちゃったのです。すごい!すごすぎる!

そして、YouTubeにその決勝のビデオが全フレームアップされている! 消されるかもしれないのでぜひぜひ今のうちに見るべし! さらに準決勝のドミニク・デイル対ロニー・オサリバン戦もあるよ。

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

2006年09月02日 (土)

Bonkers 16 [HARDCORE MUSIC]

Bonkers 16
Bonkers 16
posted with amazlet on 06.09.02
Various Artists
Resist (2006/07/10)

Bonkersの最新盤。7月10日にリリースされていたのだけど、ここ1ヶ月ぐらい自分の中でヘビーローテーション中。いちばん最初の“My Direction”がいきなりいい曲。そして、CD2のSharkey & CLSM feat. Kutskiがいい感じ。今までのBonkersでは正直Sharkey MixはNewstyleな感じがして敬遠していたのだが、聴いてみたらかなりいいじゃん。これはただの食わず嫌いだったのか、自分の好みが変わったのか…。もちろんCD1、CD3もおすすめ。

いつも4枚組だったのが今回3枚組に減ったのだけど、その分密度がぎゅっと詰まった感じでおすすめです。

Disc 1: Hixxy & Re-con
07. STATIK - I got a feeling (Darren Styles Remix)

Disc 2: Sharkey, CLSM and Kutski
21. MARC SMITH & GAMMER - One With The Beat

Disc 3: Scott Brown and Gammer
12. Scott Brown - Go Berserk

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