Google App Engine

slim3を使ってて、ここはこうだったら良いのになーとか思ってた事

すごーくお世話になって、勉強させてもらったslim3に、あーだこーだ言うのはちょっと気が引けるけど、せっかくなので勇気を出して書いてみる。 と言っても、しばらくGAEから離れているのであんまり出てこないですが、とりあえず出てきた3つ。 1.ModelQuery…

クラウド時代の新しいソートアルゴリズムTask Queue Sortを発明しました.

Task Queue Sortは, Google App Engineの並列処理の仕組みTaskQueueを使ってソート処理を行う,クラウド時代の新しいソートアルゴリズムです. (クラウドソートとも言う) ネタ元 http://d.hatena.ne.jp/gfx/20110519/1305810786 http://www.yuyak.com/1339 h…

ActionScriptからTwitterAPIを使いたい時にGoogle App Engineをプロキシにすれば簡単

ActionScriptからTwitterAPI使う時は、クロスドメイン対応の為に、phpでプロキシ作ったりするらしいけど、 BlazeDSとTwitter4jでプロキシ作るのも良いんじゃないかな。 S3BlazeDS使えばGoogle App Engineでも動くし、 BlazeDS使えばRemote呼び出しできるので…

jsonengineをJSONじゃなくてAMFで使ってみた

jsonengineを使えばサーバーサイドのコーディング不要でGoogle App Engineをデータストアとして利用できるけど、 JSONなのでJavaScriptからだと使いやすいけど、ActionScriptだとちょい使いにくい。ような気がする。 ASでもJSON扱うライブラリはあるけど、Cl…

Google App Engineでも柔軟に階層構造データを扱えるかもしれない-入れ子集合モデル

ここでいう階層構造とは木構造の事です。 Google App Engineで階層構造のデータを扱う場合 いろいろアプローチはあると思いますが、たとえば、 自己参照をつかって親のキーを保持する場合だと、 GAEはRDBMSのようなサブクエリや、OracleのCONNECT BYのような…

Google App Engineでシリアライズのチューニング

GAEアプリって結構Objectのシリアライズ使うことあるよね?(俺だけ?)転置インデックスとか、ビュー(クエリの結果をまるごとシリアライズして1エンティティに保持してるやつ)とか、 結構いろいろと使ってるんだけど、微妙に遅いので速くならないかなーと…

AIR for Android + Google App Engine で簡単Androidアプリ開発

※Androidに関しては今後勉強して行きたいと思っている超初心者です。一応念の為。 11/8にAndroidの会に初参加してきました。 日本Androidの会11月の定例イベント http://android.siprop.org/index.php?%CA%D9%B6%AF%B2%F1%2F2010%C7%AF11%B7%EE%A4%CE%A5%A4%…

GAE/JのデプロイをAntで自動化

Eclipseプラグインのデプロイボタンだと設定ファイルを手動で置き換えるのが面倒くさい GAE標準のAntだとパスワード聞いてくれない(たぶん)&パスワード保存の有効期限切れた時に面倒くさい(たぶん)&てか、保存されるの嫌(俺だけ?) <target name="update_version_1" depends="compile"> <antcall target="update"> <param name="VERSION" value="1" /> </antcall> </target> <target name="update"> </target>

Google App Engine1.3.8のcountもlimit付けるとやっぱり超速くなりました

GAE1.3.8のcountについて window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.co…

Google App EngineでlimitをつけるとQueryが超速くなる件について

appengine ja night11で紹介した裏技1について、もうちょっときちんと測定した結果を書いときます。 limit無し測定で使ったプログラム List<Key> keys = null; log.info("log 0."); keys = Datastore.query(getMeta()).query().asKeyList(); log.info("limit無し</key>…

S3BlazeDSのパッチ当て方法について考えてみた

現在S3BlazeDSは、BlazeDSがGAEでも動くように、オリジナルのソースにパッチ当てて配布してます。 これだとBlazeDSのバージョンアップの度にいちいち対応する必要があって面倒くさいです。 ということで、 パッチ当て対象クラスのラッパークラスを作って対応…

S3BlazeDSでのHotReloading対応を考えてみた

S3BlazeDSのHotReloading対応についてちょっと試してみた S2BlazeDSっぽくJavaFactory等を継承して何とかできそうな気がしてたけど、あと少しうまくいかないところがありました。 やってみた事 S3JavaFactory作成 package flex.messaging.factories; public …

S3BlazeDSでDatastoreのKeyのシリアライズ対応しました

まだ正式にバージョンアップしていませんが、DatastoreのKeyのシリアライズ対応をコミットしました。 http://code.google.com/p/s3blazeds/以前書いたこちらの記事から少々パワーアップしていまして、 Namespace対応と、Flex側でEntity Group作成ができるよ…

Google App Engineで全文検索 、階層カテゴリ検索(Googleさん、StorageのNumber of Indexesを増やしてくださいorz)

Google App Engineで全文検索、階層カテゴリ検索のデモ作りました。 追記 appengine ja night #11の発表の録画をこちらで視聴できます。 http://kissrobber.appspot.com/gae_full_text_search/ とりあえず、データ件数は10000件ちょいのデモですが、速いです…

Google App EngineとFlex間(BlazeDS)でDatastoreのKeyを送受信

普通にやってもAMFでキーを渡せないみたいです。 キーの値がnullになってしまう。BeanProxyってのを実装すればオブジェクト変換をごにょごにょできる事がわかったので GAEのKey変換を作ってみました。 Java側でKeyを変換するKeyProxyクラス slim3に依存して…

配列パラメータでslim3のValidatorを使いたい

slim3はパラメータ名のサフィックスにArrayを付けたら配列パラメータとして処理してくれるのはいいんだけど、Validatorは配列として処理してくれない。で、配列でValidatorを使うためのバリデータのラッパーを作ってみた。 public class ArrayValidator impl…

Slim3のcontrollerでDIコンテナっぽく?テストする方法を考えていたけど必要なかった件

Slim3でDIコンテナっぽくテストする方法 - テツ日記 のひがさんのコメント読んでから 「モックとか無くても良くね?」 って感じなんだけど。 一応自分もcontrollerをテストする仕組みを作ってたので晒してみる。 ServiceLocatorでDIの代わりをさせようと思っ…

Google App Engine(GAE)のURL FetchでUser-Agentを指定する方法

結構ハマった。 GAEではユーザーエージェント指定できないとか、できるとかで。 http://d.hatena.ne.jp/periwnkl/20090517/1242536700 これじゃ出来なかった。 headers={'User-Agent': 'ユーザーエージェント'}) ↓ headers={'user_agent': 'ユーザーエージェ…

Google App Engine(Java)でオレオレ証明サイトにfetchできなそうなのでPythonで作った。

http://d.hatena.ne.jp/kissrobber/20090528/1243532094 Pythonだったら何の問題も無くURL fetchできた。

Google App Engine (Java)からオレオレ証明サイトにHTTPSで接続したい

できる? だれか教えて。

Google App Engineのバージョン

バージョンって Administration > Versions で自分で切り替えてあげないといけない。 何で更新されないのかわからなくてしばらくハマった