2011/05/29

ユニコード文字のコードを調べる

追記
Wicket版をGWTで作り直してしまいました。


Wicket + Guiceの勉強をかねてユニコード検索ページを作ってみました。WicketでJavaScriptを1行も書かずにAJAXしてます。

Unicode Infoのページ

開発環境

  • eclipse3.6
  • Apache Maven 3.0.2
  • Wicket 1.5 M3
  • Guice 3.0


Wicket
Web用のフレームワークとしてはWicketを使用しています。
XML設定は最小限で、ほとんどがHTML+Javaで完結するのが非常に書きやすいです。Jettyと組み合わせるとさくさく開発が進められます。
WicketではAJAXもサーバサイドで書けるのですが、AJAXを使うと強制的にStatefulなページになってしまいます。回避する方法がないわけではないのですが、AJAXするならサーバ側Wicket、クライアントjQueryの方がわかりやすい気がします。
また、今回のテーマである「補助漢字」の扱いにバグがあるようで、そのまま出力すると文字化けしました。今回はユニコード実体参照に変換することで回避しています。



実行環境

通常のServletとして作成したので、Amazon EC2のMicro Instance上にTomcat6をインストールして動作させています。本当はApp Engineで動かしたかったのですが、ちょっとハマったので断念しました。

2011/05/11

AWS Tips : availability zone割り当てはアカウントによって異なる

考えてみれば当たり前なのですが、AWSのavailability zoneに付いている名前は論理的なマッピングであり、物理的な割り当てはアカウントによって異なります。
availability zone間の通信は課金対象となるので、複数アカウントを使用する場合には注意が必要です。

AWS関連まとめ

2011/05/06

MVN Tips : Maven + Eclipse

Mavenでビルド環境を構築しても、開発用のIDEは必要です。
IDEとしてeclipseを使用している場合には、m2eclipseによりmavenと統合して使用することができます。主な機能は下記のものです。
  • 依存関係の管理
    • Maven Dependencyという機能により、POMに記述した依存関係をそのままeclipseから使用できます。もちろん、UnitTestも可能です。
      • さらに、JavaDoc、Sourceのダウンロードも行えます。
    • Workspace Resolutionという機能を使うと、依存関係に含まれるプロジェクトをeclipse上で開いている場合には、jar依存ではなく、プロジェクト依存として利用できます。
  • Profileの適用
    • プロジェクトにactiveにするProfileを登録できます。Profileを適用した状態でプロジェクトが構築されるので、開発用の設定などを切り替えるのに便利です。
  • POMからeclipseプロジェクトの設定
    • POMの記述からEclipseのプロジェクト設定を更新できます。
  • WTP Integration
    • Extraに含まれるWTP Integrationを使用すると、eclipse WTPプロジェクトをそのままMaven管理出来ます。
プラグインのダウンロードについてはこちらから。
m2eclipse

基本的には、下記をEclipse Update Sitesとして追加するだけです。

もともとはSonatypeとMavenプロジェクトの創始者であるJason van Zylが作った会社が開発していましたが、Eclipseに移管されました。

2011/04/30

MVN Tips : 標準ディレクトリ構造

Mavenでは標準となるディレクトリ構造が決まっています。
もちろん標準以外の構成を使用することもできますが、標準構成ならPOMの記述もシンプルになるので、可能な限りこの構成に合わせてください。

  • pom.xml
  • src
    • main
      • java
      • resources
      • webapp
    • test
      • java
      • resources
  • target  (svn:ignore)

これに加えて、下記のような開発者用リソースを決めておくと便利です。

  • local-env
    • resources (svn:ignore)
    • default

開発者が手元で変更した設定が誤ってコミットされないように、設定例をdefaultに入れておき、各開発者はそれをresourcesにコピーして使用するようにしています。

ソース

Maven関連まとめ

2011/04/26

MVN Tips : 安定したビルドと柔軟なビルド

あるMavenプロジェクトを何回ビルドしても同じ結果が得られることを、ビルドが安定していると呼びます。逆に、ビルドした時点で新しい成果物を取り込むビルドを柔軟なビルドと呼びます。

ビルドの安定性を決めるのが、バージョンの指定方法です。
  1. 特定バージョンを指定
    • 1.0
      • 同じバージョンが更新されることはないため、ビルドは安定します。
  2. バージョンのレンジ指定
    • [1.0,)
      • 1.0以上
      • 特定バージョン以降のすべてのバージョンアップを取り込みます。
    • [1.0,2.0)
      • 1.0以上、2.0未満
      • 特定バージョン以降のマイナーバージョンアップを取り込みます。
  3. SNAPSHOTバージョンを指定
    • 1.0-SNAPSHOT
      • SNAPSHOTバージョンは同一バージョンのまま更新されます。
ビルドの安定性と柔軟性はトレードオフの関係にあるため、臨機応変に使い分けてください。