タグ

ブックマーク / hidemon.hatenadiary.jp (7)

  • High replication option for App Engine - hidemonのブログ

    ずいぶんさぼってしまって、1.4.1もリリースされるというのにちゃんとフォローできていないのだけど、これはちょっと面白いので書いておこう。App Engineにhigh replication optionが追加された。 High Replication Option App Engineでは、通常マスタ・スレーブ型でバックアップを取っていた。ユーザのデータはマスタのデータセンターに書きこまれ、さらに背後にあるスレーブのデータセンターにコピーされる。このコピーは非同期に行われるので、書き込みにはそれほど時間がかからない作りになっている。そのかわり、スレーブでの書き込みがすぐに成功するとは限らないので、スレーブに書き込む前にマスタが落ちてしまうと、データが巻き戻ってしまうことがありうる。 これに対してHigh replication optionを使うと、より多数のデータセンターに対して同時

    High replication option for App Engine - hidemonのブログ
  • Google App Engine for Java でBasic認証 - hidemonのブログ

    Google App Engine for Javaは,Servletをベースとしている.Servletエンジンの多くには,Basic認証が組み込まれていて,設定ファイルを書くだけで使えるようなのだが,設定ファイルの書き方は,個々のServletエンジンに依存しているらしい.Google App EngineはいまのところJettyを使っている.なので,Jettyの流儀に従って設定ファイルを書けばひょっとしたらBasic認証を使えるのかもしれないのだが,いつJettyじゃなくなるかわからないのでちょっと怖くて使えない.ということで,Python版にひきつづき自前で実装してみた.なんか,こんなことをしなくてももっといい方法があったではないかという気がするが,これも勉強だということで,気にしない. Filter Servletにはフィルタチェインという概念がある.実ロジックのかかれているSer

    Google App Engine for Java でBasic認証 - hidemonのブログ
  • Scala で Google App Engine - hidemonのブログ

    Scalaのプログラムは,かなりそのままJavaのクラスファイルとなるので,Google App EngineのサーブレットをScalaで書けるんじゃないかと思っていたが,やってみたら,すごく簡単に書けた. 方法は,こちらのサイトを参考.Eclipseのプラグインを使う. 準備 下記の手順で環境をセットアップする. Google App Engine のプラグインをEclipseに導入する. ScalaのプラグインをEclipseに導入する.方法は,こちら. App Engineのプロジェクトを作成する. パッケージエクスプローラのプロジェクト名上で,右クリックでコンテクストメニューを出し,Scala-> Add Scala Natureを選択.これによって,作成したプロジェクトScalaが使えるようになる. ここまでで,App Engine開発サーバでScalaが実行できるようになる.

    Scala で Google App Engine - hidemonのブログ
  • Google App Engine はマルチスレッドで動いているのか? - hidemonのブログ

    Programming Google App Engine の93ページ上のあたりに,App Engine の一つのインスタンス上で同時に複数のリクエストをそれぞれのスレッドで処理する「かもしれない (may) 」,だからちゃんとスレッドセーフに書く様に,という趣旨のことが書いてある.実際のところどうなのか,調べてみた. テストプログラム いたって簡単.static で乱数値を生成して保持しておく.これがインスタンスのIDの代わりになる.で,10秒休む.開始時刻と終了時刻とIDを出力する. public class UpTest extends HttpServlet { static double val = Math.random(); @Override protected void doGet(HttpServletRequest req, HttpServletResponse

    Google App Engine はマルチスレッドで動いているのか? - hidemonのブログ
  • Google App Engine 1.3.6 のNamespace API - hidemonのブログ

    先日プレリリースされていたApp Engine 1.3.6が正式にリリースされた。今回の目玉は Namespace APIによるマルチテナント ブロブストア上の画像の高速サムネイル化 カスタムエラーページ データストアの1000エントリ制限の解除 小ネタとしては Java でもapp.yamlが使えるように 管理コンソールからタスクキューが停止できるように 管理コンソールのダッシュボードのグラフが30日分表示されるようになった ブロブストアでContent-Rangeヘッダが利用可能に とりあえず、今回はNamespaceによるマルチテナント化についてだけ。 NamespaceManager API 一つのアプリケーションを、異なるデータセットに対して動作させることを簡単にできるようにするAPIです。つまり名前空間Aと名前空間Bに対して異なるデータセットを用意し、それぞれ独立に動作させるこ

    Google App Engine 1.3.6 のNamespace API - hidemonのブログ
  • オープンソース徹底活用 Slim3 on Google App Engine for Java - hidemonのブログ

    ひがやすをさんと小川信一さんによる。Slim3は、App Engine上で動くウェブアプリケーションフレームワーク。タイトルに反してSlim3の話は結構少なく、全7章のうち、2章と6章のみがSlim3関連。ページ数にすると1/3程度。Slim3はフルスタックのウェブアプリケーションフレームワークなのに、Slim3のデータストア関連機能にしか触れていない。それでいいのか!という気もしないでもないけど、その割り切りのおかげで7月末の発売が可能になったということで。 こののすごいところは、App Engineのキモであるデータストアまわりを、ほぼ完全に解説しているところ。私のでは、分量やターゲットの関係で踏み込めなかったあたりを網羅している。さすが。そのかわりApp Engineの他のAPIには全く触れていない。このあたりも見切りがいい。 これまでは、google IOのビデオをネチネチ何

    オープンソース徹底活用 Slim3 on Google App Engine for Java - hidemonのブログ
  • App Engine 1.3.4 のOpenID 認証 - hidemonのブログ

    月刊 App Engine SDK の6月号は1.3.4。Google I/Oではfor business とか、VMware との協業とか、mapper APIとかchannel APIとかもっと面白い話しがあったようだけど、SDK 1.3.4の最大の売りは、OAuth対応とOpenID対応の二つのユーザ認証機構。ここではOpenIDでの認証のしかたを書いてみる。 リクエストを送るには3rd partyのライブラリかなんかが必要なんだろうと思って、いろいろ調べたり試したりして、数時間を無駄にしたのだけど結局わからず、twitterでつぶやいたら @shin1ogawa さんに1分後に教えていただいた。 ありがとうございました@shin1ogawaさん!そして、おそるべしtwitter。。。 OpenID の動作 OpenID はFederated Identity と呼ばれるものの一つで

    App Engine 1.3.4 のOpenID 認証 - hidemonのブログ
  • 1