Java

json-simpleを使いやすく

ちょっとCassandraをいじっている。内部でJSONを使いたくなったので、Cassandraがもともと使っているjson-simpleを使ってみた。 Object o = (new JSONParser()).parse(jsonString);のように使う。jsonのMapはJSONObjectに、Listは JSONArrayにマップされる。…

App Engine java 1.3.6の新機能 app.yaml

1.3.7も出てしまっているけど、1.3.6で追加された機能の調査のつづき。app.yaml。 app.yaml とは JavaのApp Engineは基本的にサーブレットコンテナなので、サーブレットのお作法でいろいろなことをしなければならない。そのお作法の一つが、サーブレットクラ…

デコンパイリングJava ―逆解析技術とコードの難読化 (Art Of Reversing)

Godfrey Nolan Javaはバイトコードインタプリタで稼働し、アプレットというバイトコードをさらす形での運用を前提としていたことから、Javaの登場の直後から逆コンパイラと逆コンパイラの動作を難しくするための難読化ツールが公開され、発達してきた。いま…

App Engine SDK 1.3.5

1.3.5が正式にリリースされた。Python版ではプリコンパイルが有効になって、ただでさえ結構速かったスタートアップがさらに速くなったりしているみたいだが、Javaに限って言えば今回の更新はそれほど大きくない。Java版のリリースノートはこちら。 タスクキ…

すっきりわかるGoogle App Engine for Javaクラウドプログラミング

宣伝です。拙著がようやく形になりました。AppEngineの本はすでにたくさんあるのですが、1.3.4までをカバーしているものは、(まだ)ないのではないかと思います。 各APIに関してはなるべくそのまま利用できるサンプルを多く含むようにしたつもりです。サン…

App Engine 1.3.4 のOpenID 認証

月刊 App Engine SDK の6月号は1.3.4。Google I/Oではfor business とか、VMware との協業とか、mapper APIとかchannel APIとかもっと面白い話しがあったようだけど、SDK 1.3.4の最大の売りは、OAuth対応とOpenID対応の二つのユーザ認証機構。ここではOpenID…

App Engine 1.3.2 pre

最近,すっかり月一ペースのApp Engineに,1.3.2 pre-releaseがでた.いつもの例に習うと,来週あたりに正式リリースになるのだろう.速いペースで更新されるのはうれしいが,watcherとしては追うのが大変. Blobstore 1.3.1で追加されたBlobstoreは,大容量…

はじめてのSlim3

AppEngine Ja Night 5 お疲れ様でした.こんなイベントをボランティアで開催くださる皆様には本当に頭が下がります.また,会場をご提供いただいたGree様,ありがとうございました.というわけで,今回のひがさんのトークはSlim3のGlobal Transaction. いか…

App Engine 1.3.1

でた.プレリリースが先週出ていて,その1週間後に予定通り本リリース.データストア周りが結構変わっていて,これまで苦労していた部分で苦労しなくて済みそうな感じ. Query Cursor いわゆるカーソルが導入された.RDBだと普通にあるのだけど,データスト…

App Engine の禁止クラス

App Engine ではJREに含まれているクラスであっても,white listに登録されているクラス以外は利用できない.Eclipseのプラグインを使っていると,書いているうちから赤バッテンがでて教えてくれる.それでも,無理矢理デプロイすれば出来てしまう.しかもク…

Scala で Google App Engine

以前ScalaでGoogle App Engineが使えないかと思って,試してみた.そのときには,サーブレットは普通に動くけど,JDOのエンハンサが動いてくれなくて,JDOが使えなかった.今回,ちょっといじってみたらJDOを含めて動かすことができたので書いておく. コマ…

Google App Engine はマルチスレッドで動いているのか?

Programming Google App Engine の93ページ上のあたりに,App Engine の一つのインスタンス上で同時に複数のリクエストをそれぞれのスレッドで処理する「かもしれない (may) 」,だからちゃんとスレッドセーフに書く様に,という趣旨のことが書いてある.実…

App Engine deferred for Java

Task Queue App Engineでは,一つのサーブレットは30秒しか実行出来ない上,スレッドを使うことができない.このため普通の方法では,長時間かかるようなタスクを実行することができない.これを補う機能としてTask Queueがある.Task Queueでは,サーブレッ…

App Engine 1.3.0 とBlobstore

ついこの間1.2.8がでたばっかりなのに,もう1.3.0がでた.ここのところのGoogleのラッシュはすさまじい.クリスマス休暇に入る前に,今年やった仕事を全部リリースしようとしてるんじゃないだろうか. Blobstore 1.3.0 の目玉はBlobstoreというデータストア…

App EngineのLogをXMPPで飛ばす.

Log をリアルタイムで見たい App Engineにはよくできたログコンソールがあり,フィルタリングとかもできるのだが,Webベースの悲しさ,必ずリロードしなければ最新の情報をみることができない.これを解決する素晴らしい記事がこちら.叢雲の歌:XMPPを使っ…

Google Closure Tools

Closure ToolsというものがGoogleからアナウンスされた.JavaScript関連の3つの技術の総称らしい. Closure Compiler Closure Library Closure Templates Closure Compiler JavaScript -> JavaScriptのコンパイラ.変数名を短くしたり,実際には使われていな…

Scala で Google App Engine

Scalaのプログラムは,かなりそのままJavaのクラスファイルとなるので,Google App EngineのサーブレットをScalaで書けるんじゃないかと思っていたが,やってみたら,すごく簡単に書けた. 方法は,こちらのサイトを参考.Eclipseのプラグインを使う. 準備 …

App Engine でメイル受信

1.2.6で追加されたメイルの受信を試してみる.メイル受信機能は,XMPPの受信と同じでWeb hookで実現されている.つまり,メイルが来ると特定のURLに対するアクセスが発生して,それに対応するサーブレットが呼び出される.受信できるメイルアドレスは, 任意…

App Engine 1.2.6

公式ブログによると,1.2.6がリリースされたようだ.主な変更は, ついにメイル受信に対応.予想どおり,Web Hookパターンで書く.任意のメイルアドレスのメイルが受け取れるようなので,いろいろと便利に使えそうだ.また,開発サーバのコンソールから,受…

Google App Engine for Java [実践]クラウドシステム構築

(株)グルージェント App Engine 入門書.こちらは,Javaのみを対象としている.必要な情報が過不足無く書かれていて,なかなかの良書.いま2冊しかApp Engineの日本語の本は無いと思うが,2冊のうちでは圧倒的にこちらがおすすめだ.データストア周りがかな…

アスペクト指向入門 -Java ・ オブジェクト指向から AspectJプログラミングへ

千葉 繁 畏友,千葉先生のご本.あのbogusnews にもとりあげられた,アスペクト指向入門書の決定版.いわゆる教科書的な書き方でなく,ところどころに架空の?学生との対話を挿入する形で非常にわかりやすく書かれている.小学校で授業中に見せられたNHK教育…

Twitter to Google Talk bridge

TwitterをGmailのWebインターフェイス上のGoogle Talkで読み書きできるといいなあと思い,調べてみたところ,Twitterには昔はJabber(XMPP)インターフェイスがあったが,ある時点からなくなったらしい.ちょうどいいので,App Engineで作ってみた. 設計 Twit…

Velocity vs. FreeMarker

JavaのテンプレートエンジンとしてはFreeMarkerを愛用しているのだけど,サイトが今年になってからアップデートされていなかったり,やっぱり世間的にはVelocityであろう,という声もあり,Velocityも調べてみた. Velocity VelocityはApacheのプロジェクト…

Twitter Java API

TwitterはRESTインターフェイスを提供していて,データ形式もRSS,XML,JSONと選べる.したがって,どのような言語からでも簡単にアクセスできるのだが,それでも面倒だという人のためにwrapper APIを書いてくれている人がいる.Java のAPIをググったところ,2…

Google App Engine でメイルの受信

Google App Engine 最大の死角 ここ数ヶ月で急速に整備の進んだGoogle App Engineだが,できて当然なのにまだできていないことがある.メイルの受信だ.メイルの送信はできるし,XMPPの受信だってできるのに,なぜか普通のメイルの受信ができない.Googleに…

XMPP on Google App Engine

XMPPってなんだ? よくわかっていないのだが,インスタントメッセージを標準化しようというプロトコルらしい.こちらに非常によくまとまっているのだが,プロトコルとしてはメイルにかなり近いようだ.アドレスもメイルと同じ表現で,XXX@domain.nameと書く…

新人プログラマのためのGoogle App Engineクラウド・アプリケーション開発講座

掌田 津耶乃 やっと出た日本語のGoogle App Engineの本.著者は,出るのが早いが変な本になってることの多い,掌田 津耶乃氏.以前のJavaFXの本は,出るまえに言語仕様ががらっと変わって,意味が無くなっていた.関係ないが,著者紹介によると,小学生の少…

Google App Engine 1.2.5

でた.これまではPython版とJava版のバージョンは一致していなかったのだけど,こんどから同じ番号になるようだ.Java版は1.2.2からジャンプアップした形. XMPPサポート 今回の目玉.IMのインターフェイス.これを使うと,Google TalkなどのIMにメッセージ…

Google App Engine for Java でBasic認証

Google App Engine for Javaは,Servletをベースとしている.Servletエンジンの多くには,Basic認証が組み込まれていて,設定ファイルを書くだけで使えるようなのだが,設定ファイルの書き方は,個々のServletエンジンに依存しているらしい.Google App Engi…

Google App Engine と Senその後(2)

Google App Engine上で形態素解析機Senを使う試み.ようやくうまく行った.メモリが足りないせいじゃないか,というのは私の間違いで,メモリの問題ではなかった.問題をまとめておこう. App Engineの特性 アップロードできるファイルは1つ10Mバイトまで. 1…