2009年6月1日月曜日

NetBeans IDE 6.7 RC1 リリース

NetBeans IDE 6.7 RC1 がリリースされました
ダウンロードはコチラです
ダウンロードできるパッケージは日本語を含む、マルチリンガル版となっています

いつも通りのスプラッシュは以下のようになっています



バグ等、お気づきの点がありましたら、MLへの報告お願い致します

2009年5月31日日曜日

NetBeans IDE で Google App Engine for Java (1)

誰も書いていないようなので書いてみます
NetBeans での Google App Engine for Java(以下、GAEj) 用アプリケーションの開発についてです
元ネタはココココです

09年5月31日現在、 Eclipse や IntelliJ IDEA 用の GAEj サポートプラグインが公開されていますが、残念ながら NetBeans 用はありません
(正確には開発中なのですが、詳細は次回書きたいと思います)
しかし、 NetBeans のビルドが Ant ベースなので、 GAEj の配布パッケージ内に含まれる build.xml を組み込んで実行することができます

今回の例では、 以下の環境にて説明を行います

・NetBeans IDE Dev (Build 200905280201)
・Java: 1.6.0_13
・appengine-java-sdk-1.2.1

また、説明は Google App Engine SDK for Java に含まれているデモアプリケーションの Guestbook を使用して行います
SDK 内の demos/guestbook を任意の場所にコピーしてください

1. プロジェクトの作成

メニューより「ファイル > 新規プロジェクト」と選択し、新規プロジェクト作成ウィザードを開きます

2. プロジェクトの選択

「カテゴリ」リストは「Java Web」、「プロジェクト」リストは「Web 自由形式アプリケーション」を選択し、「次へ」ボタンをクリックします

3. 名前と場所

「場所」は事前にコピーしていた guestbook ディレクトリに設定します
その他の項目は、「場所」設定後に自動で設定されるかと思います
内容を確認し、「次へ」ボタンをクリックします

4. 構築と実行のアクション

ここでは設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

5. Web ソース

ここも設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

6. ソースパッケージフォルダ

ここも設定値はデフォルトのまま変更せず、「次へ」ボタンをクリックします

7. Java ソースのクラスパス

「Jar/フォルダを追加」ボタンをクリックし、SDK ディレクトリ以下にある下記ファイルを指定します
・lib/user/appengine-api-1.0-sdk-1.2.1.jar
・lib/user/orm/datanucleus-appengine-1.0.1.final.jar
・lib/user/orm/datanucleus-core-1.1.0.jar
・lib/user/orm/datanucleus-jpa-1.1.0.jar
・lib/user/orm/geronimo-jpa_3.0_spec-1.1.1.jar
・lib/user/orm/geronimo-jta_1.1_spec-1.1.1.jar
・lib/user/orm/jdo2-api-2.3-SNAPSHOT.jar
・lib/shared/geronimo-el_1.0_spec-1.0.1.jar
・lib/shared/geronimo-jsp_2.1_spec-1.0.1.jar
・lib/shared/geronimo-servlet_2.5_spec-1.2.jar
設定後、「完了」ボタンをクリックします

8. build.xml の修正
プロジェクト作成後、プロジェクトウィンドウ内に Guestbook プロジェクトが表示されるので、ツリーを展開し、 build.xml をダブルクリックして開きます

ファイル2行目の propertiy 要素の location 属性値(デフォルトでは"../..")を、 appengine-java-sdk のインストールディレクトリの絶対パスに設定し、保存します


9. 実行
プロジェクトのアイコンを右クリックし、表示されるメニュー内から「実行」を選択します

「出力」ウィンドウに開発用サーバ起動のログなどが表示されます

"The server is running at http://localhost:8080/" と表示されたら、ブラウザにて "http://localhost:8080/" へアクセスしてください

Guestbook アプリケーションが表示されるかと思います
(サーバを停止するには出力ウィンドウの停止ボタンで可能かと思いますが、停止しない場合はプロセスを Kill してください)

以上が実行までの手順となります
次回はデバッグについてと、現在 Kenai 上で開発されている NetBeans 用 Google App Engine サポートプラグインの紹介をしたいと思います

2009年4月30日木曜日

NetBeans IDE 6.7 Beta リリース

NetBeans IDE 6.7 Beta がリリースされました
ダウンロードはコチラです

今回もマルチリンガル版ですので、日本語化された状態になっています
いつも通りのスプラッシュは以下のようになっています
(M3では6.5.xと同じでしたが、 Beta は変わっています)



Beta 時点でも Mac 用新ルック&フィールを旧版に戻す方法は実装されていないようです
機能フリーズポイントは既に過ぎているので、 6.7 では新ルック&フィールで使用するしかないようです
(該当機能を見つけれていない可能性もありますので、ご存知の方は教えて頂ければうれしいです)

6.7 の正式版のリリースは6月後半にスケジューリングされています
バグ等お気づきの点がありましたら、 ML 等にポスト頂ければと思います

2009年3月17日火曜日

NetBeans IDE 6.5.1 リリース

NetBeans IDE 6.5.1 がリリースされました
ダウンロードはコチラです

主な変更点は以下の通りです
(メーリングリストより抜粋)

・同梱の GlassFish v2 UR2 が GlassFish v2.1 に変更
・08年12月、及び09年1月のパッチ取り込み
・JDK6 Update 12 やその他のバグ修正対応

詳細は上記リリース情報を参照してください
最後にいつも通りのスプラッシュです



今回、JDK6 Update 12 の不具合はじめ、多くのバグ修正が行われているようなので、バージョンアップすることをおすすめします

2009年3月13日金曜日

NetBeans 6.7 の新機能(1)

6.7 にて個人的に気になっている(期待している)新機能を紹介したいと思います
なお、 紹介した機能が最終的なリリース版に含まれるかは現時点では不明ですので、ご了承下さい

今回は JUnit の機能追加です
以前、メーリングリスト でも話の挙っていた、 JUnit 実行結果のプログレスバーが実装されました
(JUnit 3.x系、4.x系ともに利用できます)



ちなみに、失敗したテストを右クリックすると、メニューが表示されるのですが、今回から新たに "View Difference" というのが追加されました
これは、期待値と結果値の差異を比較するウィンドウを表示してくれます



この差異の比較ですが、日本語では正確に判定できていないようです
以下は英語の場合です



次は日本語の場合です



JUnit の結果出力では正常に差異を判定できているので、 NetBeans 側のモジュールの問題かと思われます

最後に、 JUnit の機能追加そのものに関することではないのですが、TestCase のファイル単体を実行する場合、以前はそのファイルを選択し、"ファイルを実行"("Run File")で実行していたのですが、6.7からは、テスト対象となるクラスを選択し、 "Test File" というメニューを選択するよう変更になりました
また、 TestCase ファイルそのものを実行するときも、 "Test File" を選択します
(以前のように"ファイルを実行"("Run File")では、main メソッドがないと警告されます)

テストパッケージをいちいち開かずに実行できるようにするための配慮かと思うのですが、 TestSuite を作成していたり、 任意のクラス名で TestCase を作っている場合、かえって煩雑な処理になるように思います

JUnit テスト結果のプログレスバーは以前より要望もあり(自分でも以前作っていましたし)、実装自体はうれしいのですが、従来の UI のままでは詰め込みすぎている感があります
PHPRuby ではコードカバレッジが実装されるようなので、 Java でも JUnit 実行結果の UI 調整と併せて実現されたらと思います

2009年3月1日日曜日

Ubuntu に Apache CouchDB をインストールする

先日構築した Ubuntu サーバに Apache CouchDB をインストールします
Apache CouchDB は Erlang で実装された、ドキュメント指向のデータベースです

Ubuntu 用パッケージが用意されています
(09/03/01現在、若干古いバージョンの 0.8.0 が提供されています)
以下のコマンドのみでインストール可能です
(ソースからインストールを行いたい場合は、コチラを参照すると良いかと思います)

$ sudo apt-get install couchdb


erlang など必要なパッケージが入っていない場合は依存性解決により一緒にインストールされます
インストール完了後、CouchDB を起動します

$ sudo /etc/init.d/couchdb start


起動後、正常に稼働しているか、以下のコマンドで確認します
(curl がインストールされていない場合は別途インストールしてください)

$ curl http://localhost:5984/


実行後、以下のように表示されれば、正常に稼働しています

{"couchdb":"Welcome","version":"0.8.0-incubating"}


デフォルトのままでは外部からアクセスできないので、"/etc/couchdb/couch.ini" を以下のように編集します
なお、セキュリティ等を考慮した設定ではありませんので、サービスとして公開する場合は適時変更を行ってください

[Couch]

ConsoleStartupMsg=Apache CouchDB is starting.

DbRootDir=/var/lib/couchdb/0.8.0

Port=5984

;デフォルト値
;BindAddress=127.0.0.1
;変更後
BindAddress=0.0.0.0


また、データファイルやポート番号などを変更したい場合も同ファイルを変更します
その他、ファイアーウォールが動作している場合はその設定も行ってください

変更後、CouchDB を再起動します
起動後、外部から以下の URL にアクセスすると、CouchDB のユーティリティ画面が表示されるかと思います

以上で CouchDB のインストールと初期設定は終了です

2009年2月28日土曜日

D945GCLF2 でサーバ環境を作る


以前使っていたサーバ機がさすがにへたってきたので、D945GCLF2 に入れ替えてみました
性能は高くないものの、搭載されている Atom 330 がデュアルコアと Hyper-Threading により、擬似的にクアッド CPU のように動作します
メモリ(2GB)と併せても1万円で収まるという CP の高さも魅力的です
(価格は店舗やメモリのメーカーによって異なりますが…)

昨晩、仮組→動作確認→本組とトラブルも無く、拍子抜けしてたのですが、インストールに大きな罠がありました
サーバ機なので、インストール後はさほど光学ドライブを使うことがないこともあり、内蔵ドライブはつけていませんでした
ブータブルな USB-CD ドライブを持っていたので、今回も同様につないでインストールを試みたところ、ドライブは回るのですが、全くブートしてくれません
BIOS を確認する限りでは、ドライブは認識できているようですが、ブートまでできていないようです
各所にて、 BIOS が原因で外付け USB ドライブからブートできないという報告が確認できましたので、 Intel のサイトから最新の BIOS のダウンロードし、更新したのですが、状況は変わりませんでした
更に BIOS の設定をいろいろと変更し、一晩費やして発見したのが、下記手段でした

1. BIOS の設定にてブード順を変更、 USB 接続ドライブからブート可とする設定を行う
2. 外付けドライブ接続、インストールディスクを入れて、本体を起動する
3. "F2" を押して、BIOS 画面を表示する
4. 外付けドライブの回転がおさまったら、 BIOS 画面を閉じる(このとき、変更は保存せずに終了する)

上記の手順でブートすることができました
おそらく、外付けのドライブからブートする前に HDD へブート順が移るのが原因のようです
(BIOS 画面にてブート順が変更されるまでの時間を稼ぐことにより上記問題を回避)
ブートしてしまえば、インストールは特に問題なく終了しました
(ちなみに入れたのは Ubuntu 8.10-server)
これから、このサーバ機を使っていろいろと試したいと思います