« October 2006 | Main | December 2006 »

Sunday, November 12, 2006

PS3

playstation.comをあてにしていて,結局予約できなかったので,半分諦めていたのだけど,当日抽選で販売するところがあると言うことなので,新宿までいってみた.

最初に9時~というビッグカメラへ.
ついたのが確か9時15分くらいだったんだけど,もう長い列が出来ていて,抽選の受付を閉め切っていた・・・.

もう1つ,9時半~というソフマップへ.
雨が降っていた&12kgの子供をだっこで行ったので,移動が結構大変.
で,ついたらこっちも長い列.
まだ並べたので並んだところ,少し前の方で60G版はオシマイ.
まぁ,20Gでも仕方ないか,ってことで20Gの抽選券をゲット.

その後デパートで他の買い物をした後,結果を見に行ってみたら,当選していた♪
当選結果の番号から推測すると,確率的には10倍強くらいだった模様.

で,ソフマップの店員に,D端子ケーブルってPS2の使えます?って聞いたら,PS3は全部新しくなってます,と回答がきたので,PS3用のD端子ケーブルを買おうとしたら,品切れ.
ヨドバシへ再度移動して,ケーブルを買おうと店員に聞いたら,PS2と同じですよ?とか言われて,そのまま返ることにした.
(正解はPS2と同じでOK.ソフマップの店員が間違い・・・)

PS3は,渡されるときに重いので気をつけてください,って言われたけど,ホントに重い.
持って帰るのが大変でした...

----

いろいろあって,最初AVケーブルでつなげてプレイしたのだけど,その感想は画面がちょっと綺麗になった,という程度.
やっぱりHD画像じゃないとPS3の意味はないぽい.

D4でつなげて,音も5.1chドルビーで再生するようにしたら,かなり違う.
普通に映像がかなり綺麗になっている(PS2のFF11からPC版FF11へ移行したときと同じ感じ)

あと,意外だったのが,5.1chの音がかなり良い感じということ.
リッジレーサーなんかでは抜かれるor抜かすときの音がちゃんと前後から聞こえてくるので,臨場感が全然違う.

PS3でゲームするなら,HD対応TVと5.1ch/7.1chは必須かも.

ゲームは,リッジ,源氏,ガンダムを購入.

ガンダムはNORMALでは難しすぎて,4回連続で最初のステージで敗北.EASYでやっと勝てた・・・
これはガンダム好きじゃないと微妙かも.
リッジは今まで通り.
源氏は普通のアクションという感じ.

映像と音が良くなって,ゲーム自体は今までと同じような感じなので,SDで見ているとPS2とあまり違いがわからないかも(^^;

リッジと源氏はモーションセンサに対応しているんだけど,これは全然使えない...
個体差もあるのかもしれないけど,左に倒しているのに右に認識されたりとかある.
(もしかして不良品かも・・・)

3本とも,HDDにインストールすると,ロード時間を短縮できるようなので,インストールした.
そのほか,トロのニュースソフト(?)とかおまけをいくつかDLしたら,HDDの残りが3.5G・・・
まぁ,インストールしたものはアンインストールしても良いけど,家族4人で使うような場合は,インストールできるソフトに限りが出て喧嘩になるかも?と思ってしまった.(^^;

そんなわけで,土日はゲームして終わりそうです.

| | Comments (3) | TrackBack (0)

Sunday, November 05, 2006

Tripletail風のサンプル

Catalyst::Manual::Tutorial::Basicsと同じことをTripletailを使ってやったのでその感想とか
に関して,Tripletailでの例がでていたけれども,ちょっと良い例ではないと感じたので,その点について書いてみる.

せっかくTripletailの話題を出してもらっているのにちょっと申し訳ないのだが(^^;
TL風はこんな感じ,ってことで読んでもらえると嬉しい.

・フレームワークを使うなら…

フレームワークの良いところは,その作法というか,考え方に沿ってコードを書けば,簡単に目的を実現できるところにあると思う.

何を想定しているかは直接書いてあるわけではないけれど,たとえばTripletailでは,O/Rマッパは使わない想定だし,dispatchが関数の分岐をやっていることから,モジュールを細かく分ける想定でも無いというのは予想できると思う.

Tripletailで同等のものを書いてみるのなら,Tripletail流(?)にサンプルを組んでみた方が,両者の違いが良く理解できるかと…

というわけで...

・Tripletail風で書き直す

以下のような感じになった.

動いているもの

http://pepper.sherry.jp/mikage/books.cgi
http://pepper.sherry.jp/mikage/hello.cgi

ソース

http://pepper.sherry.jp/mikage/source/

・Tripletailの特徴とか

関数は,わたしのやり方でDoとDispの2種類に分けている.
そのため,books.cgi の DoList は単にDispListを呼んでいるだけだけど,これは以下のような方針で分けているため.

DoXXX は,リクエストされた内容の処理と,次画面への遷移を行う.
例えば,データを入力した場合,そのデータのチェックを行い,ダメならエラー画面のDispXXXへ,OKならDBへの書き込みを行い,結果表示の画面のDispXXXへ,という処理を行う.

DispXXXは,XXXで表される画面の表示を行う.

今回は,単に表示するだけなので,DispXXXだけ,という感じ.


上のサンプルを見ればわかるとおり,モジュール化などはせず,
CGIファイルにベタで書いていく手法をとっている.
この手法のデメリットはいろいろあると思うけど,メリットとしては
ファイル数や行数を削減できるところ.

他の例と比較すると,

フレームワークファイル数行数バイト数 備考
Catalystの場合4260317876画像・DB ・テストファイル・POD部分・ヘルパースクリプトは除く
TripletailでCatalyst風の場合2847212003テストファイルは除く
Tripletailで普通に書いた場合81782599自動化テストは考慮外

となっていて,ファイル数も行数もきわめて少ない.

Catalystなどはほとんどをヘルパースクリプトが作ってくれるので,最初の構築はこの量は気にならないかもしれない.
ただ,サイトを構築して,その後保守していく場合は,自分が書いた部分だけを見るのは難しいと思うので,結局全ファイル・全ソースを見ていく必要が生じてしまうはず.
そうなったとき,大変じゃないのかな?というのがわたしの感触.
実際に運用してみた訳じゃないので,実際のところは知らないけれども.

こういうやり方は10人を超えるような大規模案件には通用しないとおもうけど,数人くらいのプロジェクトなら効率がいいんじゃないかと思っているところ.
(実際に比較した訳じゃないので,感覚でそう思ってるだけ)

・テンプレートエンジン

テンプレートエンジンに関しては,他のエンジンとは違って,HTML側にロジックを入れられないような仕様になっている.
これは,設計時の社内事情(^^;などが大きく影響しているわけだけど,HTMLに関してはプログラマ以外が編集することを前提に考えたため.
プログラムはわからないけど,ロジック入りのHTMLをうまく編集できる,って人もいるとは思うけど,うちの状況はそうではなくて,IF文すら入れると厳しい,とか言われたりしてた.

その結果,HTMLの中には,文字列を展開するタグと,ブロックを作るタグだけ,という極めて限定的な仕様になったのです.

ただ,結果として,お客様に納品するような場合に,簡単な修正などをお客様がやりやすい環境になっているので,この方針は今後も維持するつもり.

プログラマが個人でサイトを作るような場合,HTMLもプログラマがいじることになるので,そういうケースでは使い勝手が悪いと感じるとは思うけれども・・・

でも,慣れればそんなに面倒ってほどでもないし,テンプレートエンジンの書き方とPerl言語の書き方の2種類で考えなくて良いので,ある意味楽な部分もあると思う...

・サポートDB

現在MySQLだけ.今のところ他のDBを使う必要性に迫られていないので・・・というのが原因だったり.(^^;

----

追記

POD部分が多く含まれているのでフェアではないという指摘をいただいた.

確かに中を覗いてみると,POD部分がかなり多い.
というわけで,削除して計測し直した.
また,script/ 以下にヘルパースクリプトのようなものがあったけど,これも対象外にした方が適切のように思えたので,カット.

その結果
48 -> 42ファイル
1141 -> 603行
29197 -> 17876バイト
となった.

| | Comments (2) | TrackBack (0)

« October 2006 | Main | December 2006 »