開発環境クライアント(Windows実機)のセットアップ

(時間経過に伴い、現在は以下の手順等が変更・洗練されています。最新の情報はサポートwikiにてご確認下さい。)

  • 通常使用しているWindows機を使用する。
  • Mavenをインストール。
  • Eclipse SDK 3.2.2をインストール 。

Eclipseプラグインは厳選して下記の通り。あれこれも入れると酷い目に遭う*1。これでも多いんだけどなぁ…。

プラグイン 概略 導入 参考文献
Pleiades 日本語化する。純正のNLよりもコレ。 Download EclipseWiki解説
WTP Webアプリ開発用プラットホーム。 更新サイト EclipseWiki解説 @IT解説
ThinkIT解説
stackasterisk解説
Codezine解説
m2eclipse Maven2との統合。
ChuraではSysdeoとの相性イマイチ。
Sysdeo使用の場合は不採用。
更新サイト @IT解説 TECHSCORE解説
m2eclipse日本語化 上記の日本語化。本家も必要。 Download  
Subclipse Subversionとの統合。 更新サイト EclipseWiki解説
CheckStyle コード品質管理。 更新サイト EclipseWiki解説
CheckStyle日本語化 上記の日本語化。本家も必要。 Download  
FindBugs コード品質管理。 更新サイト EclipseWiki解説 @IT解説
PMD コード品質管理。 更新サイト EclipseWiki解説 @IT解説
ThinkIT解説
Limy コード支援、コード品質管理
日本語プロパティエディタ
更新サイト  
Aptana JavaScript/CSS/HTMLエディタ、
FTP/SFTPクライアント。
更新サイト  
DBEdit DBとの統合。 Download EclipseWiki解説 @IT解説
stackasterisk解説
ClayDBModeling DBモデリングツール。DDLも吐ける。
GEFに依存。
  EclipseWiki解説 @IT解説
stackastersik解説
Dolteng
Diigu
Kijimuna
S2Dao
DBLauncher
Seasar使い用。
S2Daoを使うならば、Diigu不要。
更新サイト
3.0 3.1
3.1beta 3.2
SeasarWiki解説

ちなみにLimyは、エラーで使えない機能(レポート機能など)がいっぱい。何故だろう。(最後に、ログのスタックトレースを)Javadocアシスト機能とプロパティエディタ機能だけでも有効なので、とりあえずの採用でした。コード品質管理のプラグインは複数採用してありますが、コーディングしつつ使用感を見て、絞る予定です。

以下は、惜しいところで導入見送り。いずれ使うことがあるかもしれないのでメモとして。

プラグイン 概略 導入 参考文献
SysdeoTomcat Tomcatとの統合。WTPを使うので不採用。 Download EclipseWiki解説
舞姫 不要コンテキストを休止し、
Tomcat起動の高速化。Sysdeo用。
更新サイト EclipseWiki解説
HTML Editor その名の通り。Aptanaで代用可。 Download stackasterisk解説 @IT解説
プロパティエディタ native2ascii要らず。Limyで代用可 更新サイト EclipseWiki解説

Limyでレポート作成しようとした時のスタックトレース

!ENTRY org.eclipse.core.jobs 4 2 2007-04-15 04:34:29.726
!MESSAGE "レポート作成" 中に内部エラーが発生しました。
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: 1
	at org.limy.eclipse.qalab.ant.CoberturaCreator.createJunitElement(CoberturaCreator.java:191)
	at org.limy.eclipse.qalab.ant.CoberturaCreator.createMainTarget(CoberturaCreator.java:159)
	at org.limy.eclipse.qalab.ant.CoberturaCreator.appendCoberturaElement(CoberturaCreator.java:93)
	at org.limy.eclipse.qalab.ant.CoberturaCreator.exec(CoberturaCreator.java:48)
	at org.limy.eclipse.qalab.ant.BuildXmlCreator.createElement(BuildXmlCreator.java:85)
	at org.limy.eclipse.qalab.ant.CreateBuildXml.makeFiles(CreateBuildXml.java:67)
	at org.limy.eclipse.qalab.action.CreateReportAction.doAction(CreateReportAction.java:54)
	at org.limy.eclipse.common.AbstractJobAction.doActions(AbstractJobAction.java:116)
	at org.limy.eclipse.common.AbstractJobAction$1.run(AbstractJobAction.java:67)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

*1:重いわ、更新に時間かかるわ、依存関係が複雑なので怖くてアンインストールもできないわ…。何度eclipseを1からセットアップしたことか。

開発マシン群の構成

群とはいえ、VMを使ってるので、実際は2機。

開発環境クライアント(Windows実機) → セットアップ手順

ワークスペースとなるマシン。いつものWindowsマシンに色々つっこむ。
以下のマシンにはSSH経由でアクセスする。

仮想マシン制御サーバ(Linux実機 - vmhost) → セットアップ手順

VM制御専用機。他には何もやらせてません。
もしかしたらそのうちDNSやらせるかも。

ステージングサーバ(Linux仮想 - www) → セットアップ手順

ステージング用のサーバ。JDK要りますよね?(要らないってこたぁないですよね)

開発環境サーバ(Linux仮想 - develop) → セットアップ手順

開発の補助をしてくれるサーバ。複数人で開発するようになったら、ここを解放すればよいわけだ。
Subversionで構成管理(ソースコード管理)、Tracで問題管理(情報共有)。継続的結合(CI)に関しては、何を採用するか検討中。

データベースサーバ(Linux仮想 - database) → セットアップ手順

データベース。開発環境クライアントとステージングサーバ、どちらからもアクセスされる。

仮想サーバ

というわけで、今日一日、Xenの事ばっかり調べてました。これ難しいです(汗)
今まで、Linuxディストリビューションは、なんとなくFedoraCore3を使っていたのですが、Xen3.0の導入事例がWeb上にあまり無い…。
なんとかDomain-0を作れた気がするんですが、xendを起動すると、ネットワークでやりとりができなくなりました。なんじゃこりゃー。

続きを読む

開発作業環境の整備

スケーラブルWebサイト」を読んでいて考えました。

とりあえず一人単独で開発を進めるにしても、Subversionなどのバージョン管理システムを利用した方が良いらしいです。
これから先、複数人での開発に入る時にも有用であることは明らかですし。ということで、サーバ環境の整備を考えました。

現在、クライアントマシン(作業マシン)としてはWindowsマシン1台を使用し、各種サーバ機能(Web鯖やDB鯖)をLinuxマシン1台で担っている環境です。

しかし、Subversionやテスト環境(上記の本の中でステージングと表現されていた環境)は本番環境と分けて構築すべきです。また、将来サービスの規模が大きくなった時には Webサーバ・Tomcatサーバ・DBサーバを、それぞれ別のハードウェアに分割する必要も出てくると思います。
現在の環境(1台のマシンに全てのサーバ機能を混在)のまま開発を進めてしまうと、後の分割が困難になってくることが予想できますね。

しかし、最初から数台のマシンを動かして開発を進めるのも現実的ではない。というかそんなにハードウェア持ってないですし。

続きを読む

AntとMavenとEclipseと…

Apache Projectには、AntやMavenっていうツール(?)がありますよね。結構有名なツールですよね。しかし恥ずかしながら、詳細には何をしてくれるツールなのかはよく分かっていません。現在の所の理解では、「自動的にコンパイルしてくれるツール」という所…かな?

昔から使われているツールにmakeっていうのが有りますけど、その延長線上にある、まぁとにかくコンパイルしてくれるツールです、と。

私はIDEEclipseを使用しているんですが、必要なファイルは全部Eclipseが処理してくれるので、Eclipseを使っている以上、あまりこれらのツールは必要無いのではないか、と思っていた、というか思っているんですが、各方面で話しが出てくるので、これはこれで便利なツールなんでしょうねぇ。EclipseMavenプラグインなんてのも有ることですし…。自分が知らないだけで、実はすごい便利なツールなんだろうな…。

ということで、ちょっと興味がわいたので、ごちゃごちゃ言わずに色々勉強してみることにしますw

…とりあえずこの辺り読もうっと…。↓