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 タグ:

GAE/J (Google App Engine for java) で 拡張log4jを使う(日本時間)

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

先日、GAE/J (Google App Engine for java) で log4jを使うの続きです。

こんな素敵なエントリーを発見!
GAE/Jでlog4jの日付を日本時間で出力する。- 今週のキャリッジさん

GAEの管理コンソールの[Logs]の表示を日本時間にする事は出来ないけど、ログ出力の中身を日本時間にする事は出来る模様。

logging.apache.orgから、apache-log4j-extras-1.0.tar.gz を取ってきて、解凍した apache-log4j-extras-1.0.jar を、war/WEB-INF/lib にコピーして、eclipseのビルドパスに追加しました。

それから、src/log4j.properties を修正します。

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
↓
log4j.appender.A1.layout=org.apache.log4j.EnhancedPatternLayout

log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%F:%L] - %m%n
↓
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}{Asia/Tokyo} %-5p - %m%n

war/WEB-INF/appengine-web.xml 書いときます。

<system-properties>
	<property name="org.apache.commons.logging.Log" value="org.apache.commons.logging.impl.Log4JLogger"/ >
	<property name="java.util.logging.config.file" value="WEB-INF/classes/log4j.properties"/>
</system-properties>
カテゴリー: Google App Engine, java タグ: