GAE

Chrome ExtensionでGAEのChannel APIを使えるようにしてみる

Chrome ExtentionでGoogle App EngineのChannel APIを使ってみよう思い、channel.jsを読み込もうとしたらエラーが。 Uncaught Error: URI chrome-extension://oejekmbenpogkdncmmjlnjebpinjcnac/_ah/channel/xpc_blank is invalid for field ppu channel.js…

GAEのChannel APIでリアルタイムWebアプリ

GAE

SDK 1.4.0で使えるようになったChannel APIを使ってRetrospectiveappを実装してみる。 前回はPusherを使ってWebSocketで通知していたのがChannel APIを使ってCometで通知されるようになるだけ。 WebフレームワークはBottleを使用。 デモ:http://5.latest.my…

Google App EngineでDELETEリクエストを発行するときの注意点

$.ajax({type:"DELETE", url:'/hoge'}); こんな感じでGAEサーバにDELETEリクエストを送ると、ローカルでは正常に動くのに本番環境では400がでる><。 原因 調べてみるとDELETEリクエストがbodyを含んでいると駄目ってことになっている模様。 Indeed, when t…

Puhser + Google App EngineでリアルタイムWebアプリ その2

「WebSocketで目指せ“リアルタイムWeb”!」で取り上げられているRetrospectiveappのサーバサイド(Heroku + Sinatra)をGoogle App Engine + Bottleで実装してみる。 クライアントサイドは元ネタとほぼ同じ。 デモ : http://myretrospective.appspot.com/ Mod…

appengine-rest-serverの出力形式をJSONに限定

GAEでRESTサービス作りたいなーと思ったときに一番最初に目につくのはappengine-rest-server。 中々使いやすいと思うんだけど、デフォルトの出力形式がxmlなのどうにかしたい!というわけで改造してみる。 1625行目からのメソッドdoc_to_output(self, doc)を…

GAE上で動くブログエンジンまとめ

Google App Engine(for Python)で動作するブログエンジンをまとめてみました。 cpedialog http://code.google.com/p/cpedialog/ デモ:http://blog.cpedia.net/ bloggart http://github.com/Arachnid/bloggart デモ:http://bloggart-demo.appspot.com/ Bloog…

辞書をGoogle App EngineのDatastoreに突っ込む

Datasotreに辞書を入れたいなーと思う。 問題は辞書型用のプロパティクラスが用意されてないこと。 これを解決するために pickleで辞書をバイナリ化 BlobPropertyのモデルを作る Blobにバイナリを入れる を行えばおk。 こんな感じですな。 class DictModel(…

cron

GAE

放置してたらcronが動いてた。 寝る。

Google App EngineでCronが動かない

GAE

Google App Engineを初めて見た。初めて見たのは良いけれど、cronで躓く。 Hasn't run yetってなんでだろうか。・cron.yaml cron: - description: jobs url: /cron/job schedule: every 5 minutes どこがアレなのかな・・・。