Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

appengine

Google App Engineの新料金に自作ウェブサービスを最適化した話

巷で議論を呼んでいるGoogle App Engine(GAE)の料金改定ですが、拙作ウェブサービスtwistoireも当然対象となります。どのくらい課金されるようになるかというと、こんな感じ。 だいたい5$/day、つまり150$/month……高い!高いよ!で、なぜこんなに課金され…

appengine-mapreduceをプログラムから実行する

以前使ったappengine-mapreduceをプログラム内から実行する方法をまとめています。revision 150を対象としていますので、お使いのrevisionが新しすぎて使えない場合は公式資料を参照願います。 設定を作成する まずは処理を実行するための設定を行います。こ…

twistoireの障害報告ならびに対応のご説明

昨日未明から本日11時にかけて自作Webサービスtwistoireに障害が発生し、サービスを提供できませんでした。ユーザの皆様にはご迷惑をおかけしました。 簡単ではありますが、以下に障害内容を報告いたします。 障害内容 フォロワーが5,000を超えるアカウント…

AppEngine-MapReduceをGAE/Jで使ってみた

*1 ということで@twistoireの管理用にAppEngine-MapReduceのrevision150を使ってみた。 用意されている公式ドキュメント読めばわりと問題なく使えるが、まだまだ洗練されてはいないので細かいところで苦労する感じ。以下に使うまでの流れをまとめる。 jarを…

bulk loaderによるダウンロード速度はデータ数依存?(追記あり)

メモ。新しいKindをバックアップ対象に加えたところ、従来バックアップしていたKindに比べて格段に時間がかかった。新しくバックアップしたKindは総データ量は小さいのだが、件数が格段に多い。Google App Engineのbulk loaderは、データ量よりもデータ数に…

GAE/JでHTTPSの利用を強制するときの注意点とTips

Google App EngineではHTTPSを使うことができます。また、web.xmlにsecurity-constraintを記述することによって、HTTPSの利用を強制することもできます。 設定方法については公式サイトに載っているのですが、HTTPSの強制をCronやTask Queueと併用する場合に…

GAE/Jデプロイ環境のDatastoreからデータをローカルにバックアップする

今ベータテストしているtwitter bot(というかウェブサービス?)にひと通り機能がついたので、いよいよ“ベータ”を取り外そうかという段階に来ています。 ただ正式公開となると怖いのが、セキュリティとデータロス。セキュリティはHTTPSの導入とSecretToken…