GAE + GWT プログラミングメモ

Google App Engine とGoogle Web Toolkit のメモ

GWTでWeb Storageを利用する

GWTではWeb Storageを利用するためのAPIが用意されている。(ただし、Experimental API)http://kumo2ji.appspot.com/ では、実験的にCellBrowserのWidthをユーザーごとに記憶するために利用している。 CellBrowserの幅を変更した場合、次回以降はその幅で初期…

今期放送されているアニメ情報の取得

http://kumo2ji.appspot.com/現在作成中のアニメ情報収集サイトでは、今期放送されているアニメを毎期入力している。最初は手作業で追加していたが、面倒になってきたので、ある程度自動化した。 自動化する際に アニメ番組表 API | アニメマップ のAPIを利…

更新情報をつぶやくTwitter Botを作成

http://kumo2ji.appspot.com/現在作成しているサイトでは、GAEのcronを使って、定期的にPixivの新着、公式ツイート、RSSの取得、Amazonの取得を行っている。 この取得した件数をつぶやくTwitter Botを作成した。 140文字制限があるので、140文字を超える場合…

アニメ情報収集サイト機能追加

http://kumo2ji.appspot.com/ Twitter項目の追加 ファンアート項目の追加

Twitter APIを利用するためのJavaコード

JavaでTwitter REST API v1.1のリクエスト - GAE + GWT プログラミングメモ で書いたコードを整理した。 活用したサイト http://kumo2ji.appspot.com/ アニメ感想サイトまとめ(メイン画面) - GAE + GWT プログラミングメモ Twitterクラス public class Twitt…

Slim3のMemcacheを利用してDatastoreアクセスを少なくする その2

Slim3のMemcacheを利用してDatastoreアクセスを少なくする その1 - GAE + GWT プログラミングメモ の続き 活用したサイト http://kumo2ji.appspot.com/ アニメ感想サイトまとめ(メイン画面) - GAE + GWT プログラミングメモ overwrite実装 上書き保存のため…

Slim3のMemcacheを利用してDatastoreアクセスを少なくする その1

GAEでは、DatastoreへのRead、Writeともに課金されているので、なるべく減らしたい。 Memcacheを使えば、レスポンスを速くしつつ、Datastoreへのアクセスを減らすことができる。 活用したサイト http://kumo2ji.appspot.com/ アニメ感想サイトまとめ(メイン…

アニメ感想サイトまとめ(メイン画面)

GAE、GWTの勉強用に作っているアニメ感想サイトまとめがある程度形になった。 http://kumo2ji.appspot.com/index.html 機能 左に配置しているGWTのCellBrowserでアニメを選択すると、中央のCellListに選ばれたアニメの記事を表示する。 同時に右端のAmazonも…

JavaでTwitter REST API v1.1のリクエスト

概要 GAEでTwitterのREST API v1.1を使って色々情報を取得する方法を書いていきます。 有名どころでtwitter4jというものもありますが、GAEだからかうまくいかなかったので、 素でリクエストを投げます。 Twitterアプリケーション登録 以前のTwitter APIバー…

GWTのPlaceとActivity

作成中のアニメ特化アンテナサイト 雲の中の2次 ブラウザの履歴に残るようにする GWTはAjaxでクリックイベントを処理するので、ブラウザの履歴に残らない。 ただ、通常の感覚としては、リンククリックしたらブラウザの戻るで戻ってほしい。 そこで、GWTでは…

GAE + GWT環境構築

GAE + GWTプログラミングの環境構築メモ 作成中のアニメ特化アンテナサイト 雲の中の2次 Eclipseダウンロード Eclipse 日本語化 | MergeDoc Projectで32bitもしくは64bitのJava Full Editionをダウンロードする。 Eclipse設定 ダウンロードしたzipを解凍し、…

Datastoreのテスト

作成中のアニメ特化アンテナサイト 雲の中の2次Datastoreのテストを記述する方法が用意されているので、これを用いて、GAEのテストを記述する。1. 必要なビルドパスを通す。 GAEプロジェクトを作った初期状態では、テスト記述に必要なビルドパスが通っていな…

Cron+TaskQueue+Backendsで定期実行

作成中のアニメ特化アンテナサイト http://kumo2ji.appspot.com/Cronはタスクを1時間に1回、1週間に1回など定期的間隔で実行するための仕組み。 TaskQueueは時間のかかるタスクをいくつかのQueueに分割して実行するための仕組み。 BackendsはFrontendと別に…

MemcacheでDatastoreへのアクセスを減らす

GAE

作成中のアニメ特化アンテナサイト http://kumo2ji.appspot.com/ GAEではDatastoreへのRead、Writeの回数に対して、課金している。 なので、Datastoreへのアクセスはなるべく減らしたほうがよい。 Memcacheを使えば、応答性を上げつつ、Datastoreへのアクセ…

タスクキューによるタスク実行

GAE

GAEは一つの処理を30秒以内に終わらせなければならないため、時間のかかる処理はタスクキューを使って分割実行する必要がある。キューの登録はWEB-INF以下にqueue.xmlを作って登録する。 rateは追加されたキューの実行間隔。 1/sであれば、1秒に1回のペース…

GWTでブラウザバックを実行する

GWT

GWTでブラウザバックを行うためには、HyperlinkとHistoryを使う。 まずは適当にUiBuilderでUIを作る。 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> <ui:style> </ui:style> <g:HTMLPanel> <g:VerticalPanel> </g:verticalpanel></g:htmlpanel></ui:uibinder>

条件を指定してDatastoreから情報を取得する

GAE

Datastoreにキー名"http://otanews.livedoor.biz/"、 "title"プロパティ"萌えオタニュース速報"のEntityを登録した状況のとき、 "title"を指定して、Entityを取得する。 Entity entity = new Entity("blog", "http://otanews.livedoor.biz/"); entity.setPro…

Keyを指定してDatastoreから保存情報の取り出す

GAE

http://kumo2ji.hatenablog.com/entry/2013/07/23/194931 Datastoreに保存した情報はKeyを指定して取り出すことができる。 KeyはKeyFactory.createKey(Kind名, キー名)で作る。 entityに登録したプロパティはgetPropertyで取得することができる。 getPropert…

DatastoreへのEntityの保存方法

GAE

GAEではNoSQLのDatastoreにデータを保存する。 Datastoreにデータを保存するためには、Entityを作り、DatastoreServiceのputに入れてやる。EntityはKind名とキー名を指定してnewする。 これで、Datastoreで識別可能な名前をつけたことになるので、 保存した…