アーカイブ

投稿者のアーカイブ

Google App Engine for Java で Google Data (GData) API を使う 1

2010 年 3 月 11 日 tdtsh コメントはありません

Google App Engine/Java (以下 GAE/J) のアプリケーションから、Google Calender とか、Google Mapとか、Picasa Web Albums とかと連携したい。

なんでも、Google Data (GData) APIなるものを使えば良いらしい。

Google Data (GData) APIとは

GData APIとはなんでしょう。
Google Data (GData) APIのサイトによると、
「Google DATA API では、Web 上のデータを読み書きするシンプルな標準プロトコルを提供します。」ということです。

サポートされているGoogleのサービスは、こんなにあります。(2010年3月現在)


Google Data (GData) API クライアント ライブラリ

GAE/JなのでJava版を使いますけど、phpやJavaScriptでもイケるので簡単に試せますね。

Downloads – gdata-java-client – Project Hosting on Google Codeからライブラリをダウンロードします。
サンプルは要らないので、gdata-src.java-1.40.3.zip にしましたが、ライブラリが欲しいだけならどっちでもいいです。

ダウンロードしたzipファイルの、gdata/java/lib に、たくさんjarファイルがあります。
利用したいGoogleのサービスに対し、jarファイルの名称から何が必要かなんとなく想像がつきますね。

gdata-analytics-2.1.jar
gdata-analytics-meta-2.1.jar
gdata-appsforyourdomain-1.0.jar
gdata-appsforyourdomain-meta-1.0.jar
gdata-base-1.0.jar
gdata-blogger-2.0.jar
gdata-blogger-meta-2.0.jar
gdata-books-1.0.jar
gdata-books-meta-1.0.jar
gdata-calendar-2.0.jar
gdata-calendar-meta-2.0.jar
gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-codesearch-2.0.jar
gdata-codesearch-meta-2.0.jar
gdata-contacts-3.0.jar
gdata-contacts-meta-3.0.jar
gdata-core-1.0.jar
gdata-docs-3.0.jar
gdata-docs-meta-3.0.jar
gdata-finance-2.0.jar
gdata-finance-meta-2.0.jar
gdata-gtt-2.0.jar
gdata-gtt-meta-2.0.jar
gdata-health-2.0.jar
gdata-health-meta-2.0.jar
gdata-maps-2.0.jar
gdata-maps-meta-2.0.jar
gdata-media-1.0.jar
gdata-photos-2.0.jar
gdata-photos-meta-2.0.jar
gdata-projecthosting-2.1.jar
gdata-projecthosting-meta-2.1.jar
gdata-sidewiki-2.0.jar
gdata-sidewiki-meta-2.0.jar
gdata-sites-2.0.jar
gdata-sites-meta-2.0.jar
gdata-spreadsheet-3.0.jar
gdata-spreadsheet-meta-3.0.jar
gdata-webmastertools-2.0.jar
gdata-webmastertools-meta-2.0.jar
gdata-youtube-2.0.jar
gdata-youtube-meta-2.0.jar

gdata/java/deps にも、こんなんいてはります。

google-collect-1.0-rc1.jar
jsr305.jar

疲れたから次回に続きます。

カテゴリー: Google App Engine, java タグ:

Picnik が Google に買収された

2010 年 3 月 4 日 tdtsh コメントはありません

Picnik が Google に買収された。

Google、クラウド画像編集サービスPicnikを買収 – スラッシュドット・ジャパン

日本ではあまり知名度高くないかもしれないけど、愛好家として嬉しいような残念なような複雑な気持ちです。
Firefoxにプラグイン入れておけば、ブラウザのスクリーンショットとる時とかに非常に便利なので、これを気に普及してくれたら良いと思う。

カテゴリー: web タグ:

ゲームクリエイターとソーシャルアプリケーション

2010 年 3 月 1 日 tdtsh コメントはありません

先日、昔在籍したゲーム開発会社のメンバとの懇親会に参加しました。

私自信はゲームをクリエイトする能力も立場でも無かったんですが、何故ゲーム開発会社に行ったのか?と問われると、大げさに言うと、日本の国際競争力の向上に繋がりそうだ、という想いがあったんですね。私なりにですが志をもっちゃってた訳です。

ゲーム開発に携わる人は、プレイヤー(開発者、クリエイター)として非常に優秀な人が多いです。

日本のこういう人達のスキルとパワーが、もうちょっとソーシャルアプリケーションにシフトしてくれたら、もっとブラウザのプラットフォーム化が早まり、Google様の野望実現が早まったりしながら、ウェブの世界でも日本の存在感も高まるんじゃ無いかなぁ、なんて思いました。

HTML5を使えば、SketchPadみたいなアプリケーションも実際に作れる訳だし、手っ取り早くFlushだって良いんです。
OpenSocialに準拠しといてとりあえずmixiアプリでもイイし、なんならfacebookアプリで3憶人のマーケットへ参入してもイイ。

個人的には、アプリやろうぜ!by GMOみたいな動きがもっと盛り上がってもいいのになぁ、と思っています。

カテゴリー: management, web タグ:

javax.imageio.ImageIO で gif画像 の write (とリサイズ関係)

2010 年 2 月 26 日 tdtsh コメントはありません

たまたまImageIOを触る機会があって始めて認識した事なんですが、javax.imageio.ImageIO で gif 画像を扱う時、JDK5まではreadが出きてもwirteが出来なかったんですね。

「Java SE 6完全攻略」第13回 GIFファイルの書き出し – IT Pro

よくよく考えたら判ることだったんですけど、2004年頃まではUnisys特許絡みがあったので、書き込み出来なくしてたんですね。

ImageIO と絡んでgifとかの画像のリサイズとか調べてたら、イイ感じのサンプル発見したのでメモ。

今まで AffineTransformOp を多用していたのですが、「早いけど、荒い」方法だったんですね。どうりでリサイズ後のベクター画像が汚いわけだ・・・

Image Javaテクニカルサンプル集さんの、ここここここ

多分ここのコードは物凄く再利用されているんだろうなぁ。
そういう意味では、目立たないけどすごい社会貢献だと思います。

私も見習いたいと思います。

カテゴリー: java タグ:

GAE/J (Google App Engine for Java) で Struts を動かす

2010 年 2 月 9 日 tdtsh コメントはありません

GAE/J (Google App Engine for Java) で Struts を動かす

GAE/J でも Struts は動く

GAE/J では Spring を始め、いわゆる「重い」フレームワークは避けたい。

今後オレオレフレームワークを作るのか、Slim3等に移行するのかは、まだ決めかねています。

当面は Spring は兎も角、使い慣れた Struts と Velocity を使うことにします。

Velocityは先日やりましたから、今回はStrutsです。

先人の知恵、こちらや、こちらを参考に、環境を作ります。

因みにWill it play in App Engine – Google App Engine for Java | Google Groupsによると、Struts1系は 1.2.28 で COMPATIBLE となっています(2010年02月09日現在)。

 


ダウンロードとインストール

Apache Software Foundation の Strutsのサイトからダウンロードします。ライブラリだけで良いので、struts-1.3.10-apps.zip をダウンロードして解凍します。

解凍して出来た struts-1.3.10/lib/ の中身を全部、ワークスペースのプロジェクト下の war/WEB-INF/lib/ にコピーします。

eclipseを起動して、war/WEB-INF/lib/ の下にコピーしたjarファイルを、[CTRLキー]を押しながらポチポチと選択していきます。それらを右クリックして、[ビルド・バス(B)] – [ビルド・パスに追加(A)]をクリックします。

念のため、プロジェクトの[参照ライブラリー]にそれらが追加されている事を確認します。

 


web.xml に追加

WEBアプリケーションの設定ファイル( web.xml )に、Strutsのマッピングとかを追加します。(プロジェクト下の war/WEB-INF/にあります)

ベタに書くならこんなかんじです。
※load-on-startup は一応書いてますが、GAE/Jでは無視されます

<servlet>
	<servlet-name>action</servlet-name>
	<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
	<init-param>
		<param-name>config</param-name>
		<param-value>/WEB-INF/classes/struts-config.xml</param-value>
	</init-param>
	<load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

 


log4j.properties に追加

ロギングはlog4jを使ってます。
Struts関係のデバッグログとかが多くて困るので、追加したライブラリ関係のロギングをWARNに変更する設定を追加しました。

log4j.logger.org.apache.struts=WARN,A1
log4j.logger.org.apache.commons=WARN,A1

勿論、アペンダー(A1)は環境にあわせて適宜変えて下さい。

 


struts-config.xml を作成

Strutsの設定ファイル (struts-config.xml)をプロジェクトの src/ に作ります(ビルドしたら、war/WEB-INF/classes/にコピーされます)。

フォーマットとかは割愛しますが、encoding に UTF-8 を明示的に指定して上げるのが、文字化け対策としての作法の様です。

こんな風に。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
        "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
    <form-beans>
	.
	.
	.

 


appengine-web.xml に追加

Google App Engine設定ファイル(/war/WEB-INF/appengine-web.xml)に設定を追記し、セッションを有効にします。

    <sessions-enabled>true</sessions-enabled>

これをしないと、「Session support is not enabled in appengine-web.xml」とかがいっぱい出て動きません。

カテゴリー: Google App Engine タグ: