GAE

#ajn16 のUSTREAMと関連ページ

行けなかったのでUSTREAMで見る。注目はyanzmさんのGWT。 内容 セッション1 「Favapp紹介/GWTのUiBinderとか」発表者:あんざいゆき(@yanzm)さん http://y-anz-m.blogspot.com/ 参考URL: こちら 概要:GWT 2.0 から追加された UiBinder を使って Favapp …

リストプロパティのINフィルタを別プロパティでソートするにはカスタムインデックスが必要

リストプロパティpersonKeysへのINフィルタを、プロパティlatestFavDateによるソートで並べ替えようとしたら頭がこんがらがったのでメモしておきます。 List<Boke> favBokes = Datastore.query(meta).filter(meta.personKeys.in(keys)).sort(meta.latestFavDate.de</boke>…

App Engineのユニットテストにて任意の例外発生を試す

GAE

タスクチェインの実装をしていると、テスト環境でもDEE発生をシミュレーションしたくなるのが人情というものです。 shin1ogawaさんのエントリでは下記のように説明されています。 テストのためにAppEngine環境を起動するには、大きくわけるとApiProxy.setEnv…

Yokohama App Engine

GAE

試しに重ねてみたところ、完全に一致したのでご報告します。

タスクチェーンによる30秒制限を超えた処理を試す

タスクチェーンについてよくわかっていなかったので、実験してみました。 実装にあたっては下記を参考にさせていただきました。 Togetter - 「タスクキューのチェインについて」 Togetter - 「タスクキューのチェインについて2(Mapper APIで代替も検討?)…

Slim3なProjectの依存関係を図に

Javaでの日付の扱いについておさらい

@Test public void utilDateの実験() throws Exception { Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH"); assertThat(dateFormat.getTimeZone(), is(TimeZone.getTimeZone("Asia/Tokyo"))); assertThat(dateForma…

同一トランザクション内でエンキューできるタスクの上限

GAE

App EngineのTask Queueにおいて、エンキューはトランザクション内でも行える。 Queue#add(Transaction, TaskOptions)を使う。 複数タスクの追加をtx内で試してみたところ、TransactionalTaskException(以下、TTE)が発生してエラーとなった。 Caused by:com.…

TaskQueueのコード修正

GAE

TaskQueueで500 Server Error - 理系のためのTIPS集に対していただいた指摘を踏まえ、一部修正。 private final int MAX_NUMBER_OF_TASKS = 100; @Override protected Navigation run() throws Exception { FileItem fileItem = requestScope("formFile"); I…

App Engineのエンティティ設計メモ

GAE

はてなスターみたいな要件のエンティティ設計は? はてブとか、はてなスターみたいに、特定のリソースに対してユーザーがブックマーク(fav)したりしなかったりする要件について。(twitterのfavは、ツイートとアカウントがひもづいてるので、ちょっとケー…

TaskQueueで500 Server Error

GAE

下記コードにて3000行のテキストファイルのputを試みたところ、プロダクション環境で500 server Errorとなった。ファイルアップロード - Slim3 日本語サイト(非公式) FileItemで受け取ったテキストファイルを1行ずつqueueにaddするController public class …

Kotori Web JUnit Runner(ktrwjr)のインストール

GAE

先週のbpstudy33でshin1ogawaさんが紹介されていた、bufferingsさんのktrwjr。プロダクション環境でJunitのテストケースを実行できるようにしてくれます。 インストールしてみた手順のメモ。 maven便利 KotoriWebJUnitRunner - ktrwjr - A junit runner for …

app engineのエンティティグループ

GAE

エンティティグループはリレーションではない 祖先とか親とか子とかいう単語が出てくるので誤解しがちだけど、エンティティグループは、1:多のようなリレーションを表現するものではない。 トランザクションによりACID特性を保障したいときに設定するもの…

app engine ja night kansai 2「Query & Index」メモ

GAE

bpstudy33と同日に開催されたajnk2について、@bufferings さんのUST録画をみながら理解したことをメモ。Cacooで描かれたという図がすごく見やすく、わかりやすかったです。bufferingsさんのブログにpdfとustへのリンクあり。 #appengine ja night in kansai …

BPStudy #33 後半(Slim3)のメモまとめ

BPStudy #33に参加させていただきました。前半は @kazunori_279 さんによる Google I/Oの貴重な最新レポートでした。 しかし私は前提知識が足りなかったため、ざっくりと理解するのがやっとでした。もったいないので、あとで復習したいと思います。 #appengi…

Slim3でhttpメソッドとControllerをマッピングする

前回、Slim3における拡張子付きURIのマッピングを試した。 今度は、同じURLへのリクエストについて、httpメソッドがGETならGetController、DELETEメソッドならDeleteControllerが呼ばれるみたいな感じで、httpメソッドとControllerを一対一にしたら、RESTful…

Slim3における拡張子付きURIのマッピング

CoolなURIでJSONを返すURLはどう表現するか 内部的には「/user/get?id=12345&type=json」となるようなURI(idが12345のユーザ情報のJSON形式)を、Cool URIではどのように表現するのが適切か悩んでいた。「/user/json/12345」や「/user/12345/json」はなんか…

App Engine SDKを導入したEclipseが起動時に固まる現象

GAE/Java開発で困っていた現象なのですが、twitterで回避策を教えてもらいました。 具体的な操作をメモとして残しておきます。 現象 Eclipseを起動すると、ステータスバーに「Updating ... gine」と進捗バーが表示された状態でフリーズする。 強制終了して、…