基礎から始めるWebアプリケーション開発・3

引き続き、現状報告3日目。今回は、Cubby - ようこそを試すに当たって詰まったところや分かったところを中心に。

実際の話、こうやって書くこと自体多少なりとも時間はかかっちゃいます。ですが、分かってないと自覚しているからこそ他の人に自分の現状を知ってもらうということは大切だと思うので。


Maven

さすがに、Cubbyチュートリアルを試すために、ここ数日で何度も何度もMavenコマンド叩いていると何となく分かってきたような…気のせいですね、きっとw

プロジェクトの雛形作りはCubby - セットアップCubby Project - 2分間チュートリアルの通りに。ただ、今回はS2Daoを使う予定なので、最後の確認のときにいったん「N」を選んでやる。デフォルトだとS2Daoをサポートしない設定になるので。

雛形が作成できたら、(JDBCドライバを設定するために)作成されたディレクトリの中にあるpom.xmlを修正。今回のデータベースには手軽に404 Not Foundを使用しようと思っているので、Maven Repository Searchの記述を転記する。

<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <version>1.1.115</version> 
</dependency>

あとは昨日と同様に、jdbc.diconを使用するデータベースに向けて設定してやると。

SMART Deploy

SMART Deployのパッケージ構成に従ってJavaクラスを配置してやると、自動でコンテナに登録してくれるっぽい。これが分からず、サンプルのdiconファイルを片っ端から調べたり無闇にdiconファイルを作成してみたりと、無駄なことをやってました…orz。ありがとうございます>id:y-babaさん

ちなみに、標準のパッケージ構成に従っているとクリエータ(creator.dicon)でパッケージ内を自動で読み取ってコンポーネント定義を作成しているの・・・かな?S2Containerのリファレンスを見る限りでは、そう読み取れたけど・・・。

アクションのテスト

Cubby Project - アクションユニットテストのやり方が載っているので、これも試しておく。

一点引っかかったのは、@RequestParameterの可視性。publicフィールドにしておいたつもりがいつの間にかパッケージプライベートになっていて、S2Container側でテスト値セットをする際にうまくセットできていなかったみたい。小一時間ほど悶々していましたが、ヘルプを求めたら一瞬で解決しました…orz。ありがとうございます>ussyさん

Subversion on Eclipse

これは家に帰ってから。EclipseからのSubversionの扱い方とかを自分専用のリポジトリで試してみる。ま、(ローカルPCにですが)これは以前もやったことあったので、そこまで苦労せず。確認程度に留める。

Cubbyプロジェクトの初期インポートの単位だけど、以前の人がやった跡を見ると、作成されたファイル全部丸ごとコミットでも大丈夫そう、多分。あー、けどほんとはtargetディレクトリとかは無視するようにした方が、お作法的にはいいのかな・・・?

【追記】
どうやら、targetディレクトリの中にclassファイルは入っているけど、Subversionの管理対象にはなっていないみたい。これがどこかの設定を読み込んでなのか、そもそもSubversionデフォルトの動きなのかはまだ調べきれてません。後者はないとは思うけど・・・

参考:MavenプロジェクトをSubversionで管理する場合のポイント|Ouobpo


明日以降

とりあえず、明日からは技術調査だけでなく実際に進めていこうかと思います。まずは、YukiWikiMini Homeを参考にして。

もちろん、Cubbyの詳細だとかデータベースのテーブルとかはどう設計するのとか細かいことは色々あるのですが、一歩踏み出さないといつまで経っても進まないような気がしたので。

ただちょっと不安なのは、S2Container本体についての理解度。正直、CubbyとかS2Daoの裏でごにょ×2やってくれるものだというぐらいの理解しかないんですよね。このまま進んでいくと、はまったときにはまりそう。ま、公式ドキュメントを頭から追っていくのもしんどいし、はまったらそのときに考えるか。。。


余談

Cubbyのデフォルトで作成されるサンプル画面。「Cubby」じゃなくて「Cuuby」になってますw

f:id:ikikko:20090707014037p:image

しょーもない揚げ足取りでスイマセン・・・><