Zennin's Blog


プログラマやってるZenninのBlogです。Sun SPOTや、iPhoneとEMONSTER(S11HT)の記事が中心になる予定です。702NK(Nokia 6630)・705NK(Nokia N73)、W-ZERO3&アドエスも、契約は解除しちゃいましたが、ハードは使っています。

[Java]Google App Engine for Javaの情報

Google App Engine for Javaの情報を得るために、簡単なプログラムを作りました。
http://zenninhelloworld.appspot.com/gaejsystemソース

JVMについては、

java.vm.version=1.6.0_13
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.vendor=Sun Microsystems Inc.


ということで、特にいじっていないようです。Client VM何ですね?

環境変数が全く表示されないのは、セキュリティのためなのか、そういう環境なのか。

SecurityManagerが独自なのは、あちこちで書かれています。

com.google.apphosting.utils.security.SecurityManagerInstaller$CustomSecurityManager@75c78d



default Localeがen_US、default CharsetsがUS-ASCII、default TimeZoneがUTCなのは、まあそうなのでしょう。

プロセッサ数が1337ということは、1つ1つ別の仮想マシンを使っているわけでもなければ、VMごとに割り振っているわけでもないということなのですね。それにしても、1337って、中途半端な数です。しばらくすると、数字が変わったりするのでしょうか。

メモリは100MBですが、商用化した場合、有償で増やせるのでしょうか。
  1. 2009/04/20(月) 01:03:48|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]Google App Engine for Java

Java版Google App Engineが出たということで、早速試してみました。

http://zenninhelloworld.appspot.com/

”GAEJavaSampleServlet”は、Eclipse Pluginが作るサンプルをちょこっといじったものです。
"GuestbookServlet"と"guestbook.jsp"は、以下のサイトにある"Using the Users Service"と"Using JSPs"そのままです。
Getting Started: Java
  1. 2009/04/13(月) 00:54:24|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]JBoss SeamとRESTeasy

他のプロジェクトで忙しくて、本題のはずのこちらがなかなかさわれていませんが、JBoss SeamでRESTeasyを簡単にさわってみました。

結果的には、以下のサイトを見るだけで、さくっとできてしまいました。
24.4. RESTEasy によるRESTful HTTP Webサービス

JBoss AS 5.0.1GAとJBoss Seam 2.1.1GAをインストールした以外は、やったことは、これだけです。
(1) seam genでプロジェクトの作成
(2) 以下のJarファイルを、JBoss Seamのlibからプロジェクトのlibにコピー
・jboss-seam-resteasy.jar
(3) 以下の3ファイルがデプロイ時にコピーされるように、ANTの設定を追加
具体的には、deployed-jars-ear.list に書き込むだけ
・jaxrs-api.jar
・resteasy-jaxrs.jar
・jboss-seam-resteasy.jar
(4) あとは、上記サイトそのまま

RESTEasy単独で使う場合は、結構面倒くさそうですが、JBoss Seamと連携させたら、めちゃくちゃ楽でした。
URLが、
http://localhost:8080/プロジェクト名/seam/resource/rest/customer/123
から変えたければ、いろいろ大変ですが、これでよければ、設定の変更などもありません。

@GET以外を使う場合などは、こちらを参照すればよいです。
RESTFul Web Services for Java
  1. 2009/04/12(日) 20:27:35|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]P2PとP4PとJBoss seamとRESTeasy

4月から、自社のP2Pパッケージの拡張プロジェクトに配属されました。

プロジェクトの内容としては、P2PをP4P的に拡張するというもの。
P4Pについては、以下の論文に書かれています。
P4P: Explicit Communications for Cooperative Control Between P2P and Network Providers
また、Internet Draftsもいくつか出ています。
Comcast's ISP Experiences In a P4P Technical Trial
P4P: Provider Portal for P2P Applications
P4P Protocol Specification
簡単に言うと、P2Pにプロバイダが持っている情報を組み込むことで、効率的な通信を行わせようというものです。

もっとも、今回行うのは、P4Pの実証実験のための仕組みを作るというもので、本格的にP4Pを実装しようというものではありません。

このプロジェクトでの私の役割は、P2Pそのものではなく、P4Pのためのサーバをこしらえるというものです。
開発言語も環境も好きにしてよいということだったので、せっかくだから、UI部分はJBoss Seamを使うことにしました。いきなり、2.1.1GAを使います。
また、メイン機能は、RESTで情報を返す機能になりますが、こちらは、RESTeasyを使うことにしました。
ちなみに、DBは、MySQL Clusterを使いたいと思っています。

まだ構想段階なのですが、いろいろ遊びたいと思っています。
  1. 2009/04/08(水) 01:33:53|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]クラス構造がまる見えに! UDocでJavaをダイナミックに分析する

クラス構造がまる見えに! UDocでJavaをダイナミックに分析する

さっそく試してみました。以下は、Java SE 6のsrc.zipを解析したものです。
UDocサンプル

"Organize layout"を実行すると、このようにきれいにレイアウトされます。実行するたびにレイアウトが変わりますので、好きなのを選べばいいでしょう。

解析元は、ソースファイル(上のようにzip圧縮してても可能)の他、クラスファイル、JavaDocファイルも使えます。ですから、ソースが無くても使えるわけです。

1つ残念なのが、直接イメージファイルに落とせないことです。ですから上では、画面をキャプチャしています。あるいは、印刷が使えますので、PDFに落とすという手も良いかもしれませんが。

ちょっとした解析にはおもしろいと思います。

  1. 2007/03/20(火) 22:46:43|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]Javaアプリケーションの作成(4)

Netbeansのスキーマからエンティティクラスを作成する機能ですが、idが以下の設定になってしまいます。

@Id
@Column(name = "ID", nullable = false)
private Integer id;


本当は、こうなって欲しいのに。

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;



手で直すしかないのでしょうか。
  1. 2007/03/08(木) 21:50:52|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]Javaアプリケーションの作成(3)

Java Persistence API + H2徹底解説 - EJBじゃなくてもDBへ永続化」で紹介されていたのは、エンティティクラスを作って実行すると、勝手にDB上にテーブルが作成されているという方法。まさに、「永続化」。やり方は違うけど、従来のHibernateでのトップダウンアプローチ似ですね。

一方、Netbeansでは、DBのスキーマからエンティティクラスを作成することも、簡単にできます。これは、従来のHibernateでのボトムアップアプローチですね。

先月まで、Hibernateを使用したプロジェクトに参加していました(他プロジェクトと並行してですが)。そこでは、Excelのテーブル定義書からスキーマ作成用DDLとHibernateのマッピングファイルをVBAマクロで作成し、マッピングファイルからHibernate SynchronizerでエンティティクラスとDAOクラスを作成していました。最初は、スキーマからHibernate Synchronizerでマッピングファイルを作成していたのですが、いろいろ不都合があって、途中で変更しました。

通常のプロジェクトの場合、スキーマが先でエンティティクラスは後ということになりますので、やはり、ボトムアップにせざるを得ないと思います。

では、今回はどうするか。
まず、テーブル定義書を作るつもりはありません。面倒なので。会社で使っているのを持ってくれば楽ですが、さすがにそんなことはできないので。
最終的にはまだ分かりませんが、しばらくは、トップダウンとボトムアップの混在で行こうかなと思っています。
  1. 2007/03/08(木) 01:29:53|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java] Javaアプリケーションの作成(2)

JPAの実装に何を使うか悩みつついろいろ調べたら、こんな記事を発見。
Java Persistence API + H2徹底解説 - EJBじゃなくてもDBへ永続化

これによると、NetBeans 5.5がTopLink Essentialsを含んでいるということ。NetBeans 5.5は、先日、705NKアプリを作るためにインストールしたばかりなので、これを使うことにしました。

さっそく、上の記事のH2部分をApache Derbyに変更して実行してみました。変更点は、以下の通りです。
・使用するJarファイルはderby.jar
・JDBC URLは"jdbc:derby:db/sample;create=true"
・JDBC Driverは"org.apache.derby.jdbc.EmbeddedDriver"
・JDBC User/Passwordは無し

これで、普通に動きました。
  1. 2007/03/07(水) 23:44:11|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]Javaアプリケーションの作成(1)

ふと思いついて、Javaでアプリケーションを作成することに。

Javaアプリケーションで、DBを使いたいので、何を使うか考えた結果、今回はこれに決定。
・DBMS Apache Derby
・DBアクセス方法 JPA(Persistence API)
ちっちゃなアプリケーションなので、OracleやMySQLのようなサーバ型ではなく、組み込み型のDBを選択。その中で何を使うか悩みましたが、どうせなら、Java SE 6で同梱となったJava DBがよいかなと思いました。ただし、Java DBは、Early Access版という位置づけのようなので、今回は元となったApache Derbyを使うことにします。
DBアクセス方法は、O/Rマッピングを使うことは最初に決めたのですが、その中で何を使うか悩んだ結果、せっかくなので、JPA(Persistence API)を使うことに決定。JPAの実装に何を使うかは、これから悩みます。
  1. 2007/03/07(水) 22:19:43|
  2. Java
  3. | トラックバック:0
  4. | コメント:0

[Java]S2

某巨大掲示板より

811 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/26(日) 14:07:35
これでイインジャマイカン
Chura → S2Scaffold
Teeda → S2Jsf2
Uuji → S2Dao2
Kuina → S2Jpa
Kijimuna → S2Eclipse
Seasar → S2Spring


817 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/26(日) 16:50:41
>>811
すげ〜よくわかった。
感動した。
あとは
ぶり→S2Workflow
tuigwaa→S2Cybozu
Dolteng→S2Eclipse2
にしてくれればいいな。



確かに。
  1. 2006/12/10(日) 19:18:26|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
次のページ

プロフィール

Zennin

Author:Zennin
Twitter: zenninblog

IPv4枯渇時計

TopHatenar

あわせて読みたい

あわせて読みたい

カレンダー

10 | 2009/11 | 12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

最近の記事

カテゴリー

最近のコメント

最近のトラックバック

月別アーカイブ

逆アクセスランキング

ブログ内検索

Googleブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

Amazon

Google

Rakuten


アクセスランキング