2010年11月19日のブックマーク (8件)

  • 47,000件のbatch putを16秒で処理 - GeekFactory

    以前に 大量のエンティティを処理するデザインパターン - GeekFactory を紹介しましたが、シングルスレッドのバッチ処理なのでスループットが頭打ちになる問題がありました。コンカレントに処理する方法を思いついたので実装してみました。 シングルスレッドではこんな流れでした。 S3QueryResultListでn件のエンティティを取得する。 エンティティをバッチ処理する。 t秒以内であれば上記を繰り返す。 次のタスクにカーソルを渡す。 ここで、エンティティを取得するタスク(Splitter)とエンティティをバッチ処理するタスク(Mapper)を分けてみます。 Splitterタスク S3QueryResultListでn件のエンティティを取得する。 エンティティをmemcacheに入れて*1、Mapperタスクに渡す。 t秒以内であれば上記を繰り返す。 Mapperタスク memcac

    47,000件のbatch putを16秒で処理 - GeekFactory
    tdtsh
    tdtsh 2010/11/19
    GAE datastore
  • 大量のエンティティを処理するデザインパターン - GeekFactory

    データストアにある大量のエンティティを処理したい場合、クエリ結果を複数のタスクに分散して処理する必要があります。クエリ結果のカーソルを次のタスクに引き継ぐパターンをテンプレート化してみました。 基的な流れはこんな感じ。 タスクが実行される。 件数制限付きのクエリを実行する。 abstract query() 結果リストを処理する。 abstract run(List) タスク実行経過時間が6秒以内*1の場合は2に戻る。 すべてのエンティティを処理済みの場合は終了する。 結果リストのカーソルをパラメータに保存し、次のタスクをenqueueする。 使い方はこんな感じ。 QueryTask をextendsする。 query() にクエリを書く。 protected S3QueryResultList<Hoge> query() throws Exception { return Datast

    大量のエンティティを処理するデザインパターン - GeekFactory
    tdtsh
    tdtsh 2010/11/19
    GAE datatore
  • GAEで行こう! Slim3に正式にEclipseプラグインを組み込みました。 #slim3 #s3plugin #appengine

    稲垣です。こんにちは。 Slim3の日語ディスカッショングループにはすでにひがさんからアナウンスがありましたとおり、 EclipseプラグインをSlim3に正式に組み込みました。 ダウンロードサイトのURLはひがさんにアナウンスして頂いたものから少し変更させていただきました。 すみません。下記のとおりです。 http://slim3.googlecode.com/svn/updates/ 既に古いURLからプラグインをインストールした方も、できるだけ上記URLからインストールし直して 頂ければと思います。 既に古いURLからプラグインをインストールした方は一旦プラグインをアンインストールする必要が あります。アンインストールは下記の手順で行ってください。 1.[Help]-[About Eclipse]で[Installation Details]ボタンを押下。 2.「Slim3 Pro

    tdtsh
    tdtsh 2010/11/19
    gae slim3 eclipse
  • OS10.6でmavenの場所 - memoっとく

    こちらもOSインストールと同時に入っていますが、 こんな感じ 「/usr/share/maven」は、「/usr/share/java/maven2.2.1」へのシンボリックリンク。 よって、 「/usr/bin/mvn」とは、 「/usr/share/maven/bin/mvn」で、 「/usr/share/java/maven2.2.1/bin/mvn」 のこと。 若干わかりにくいぞ。 antも同じかんじだな。バージョンアップしたりしたら、ここにダウンロードしてきて、シンボリックインクをそちらに張り替えれば、PATH設定はそのままでバージョンを切り替えられるという寸法だ。そういうことなんですよね。

    OS10.6でmavenの場所 - memoっとく
    tdtsh
    tdtsh 2010/11/19
    mac maven
  • 最近のRESTの進化。バージョン番号、状況報告、プロダクトとしてのAPI

    RESTの時代がやってくるのだ、という記事を1つ前の「時代はRESTへ。SOAPの終わりを象徴する、Webサービス標準化団体のWS-Iが活動終了」で紹介しましたが、そのRESTも使われ方が進化してきているのだ、ということを、その記事の中でとりあげたProgrammableWebのJohn Musser氏が公開しているの資料の中で解説しています。 3つ紹介しましょう。 バージョン番号の組み込み 最近のREST APIにはバージョン番号がURIに埋め込まれるようになったとのこと。 利用者に状況報告 レイテンシーがどうなっていて、正常稼働しているかどうかといった報告を利用者に対してきめこまかく報告するようになったと。APIに依存した外部サービスが増えたためでしょうね。

    最近のRESTの進化。バージョン番号、状況報告、プロダクトとしてのAPI
    tdtsh
    tdtsh 2010/11/19
    REST
  • 時代はRESTへ。SOAPの終わりを象徴する、Webサービス標準化団体のWS-Iが活動終了

    SOAP、WSDL、UDDIなどを基盤とするWebサービスの標準化を行ってきた団体WS-I(Web Services Interoperability Organization)が、2002年からの約8年間の活動に幕を下ろしたことを正式に発表しました(参考:WS-I Completes Web Services Interoperability Standards Work(pdf))。 WS-Iは、WS-*と総称されるWebサービスのさまざまなプロトコル策定に取り組んできましたが、複雑すぎるといった評判がつきまとい、また策定そのものにも予想以上の時間がかかったことなどで、当初の想定ほど普及に至りませんでした。 そのSOAPに代わり、ここ数年サービス間をつなぐAPIとして存在感が高まっているのがREST(Representational State Transfer)と呼ばれるアーキテクチ

    時代はRESTへ。SOAPの終わりを象徴する、Webサービス標準化団体のWS-Iが活動終了
    tdtsh
    tdtsh 2010/11/19
    json
  • mixiアプリで課金を導入する際に注意すべき4つのこと : LINE Corporation ディレクターブログ

    こんにちは。モバイルディレクターのカワムです。 ライブドアでは2月より順次モバイル、PCにてmixiアプリをいくつか展開していますが、その中の占いアプリにて10月よりモバイルペイメントプログラム (以下、mPP) を開始しました。 PV・UU単価の広告収入を得られる「アドプログラム (mAP)」と違い、mPPはユーザからの個別課金での収入となります。 mixiペイメントプログラム(mPP)は、弊社が提供するソーシャルアプリケーションプロバイダー様向けビジネスサポートプログラムの1つです。 mixiペイメントプログラムにご参加いただいたくと、アプリ内のデジタルコンテンツへの課金を「mixiポイント」または「mixiクレジット払い」で決済していただくことができます。プログラムを使用して消費された「mixiポイント」または金額に応じた収益を得ることが可能です。 参照元:mixi Develop

    mixiアプリで課金を導入する際に注意すべき4つのこと : LINE Corporation ディレクターブログ
    tdtsh
    tdtsh 2010/11/19
  • 株式会社マイクロアド

    マイクロアドはデータとテクノロジーをかけ合わせたマーケティングプラットフォームを提供する会社です。「Redesigning the Future Life」という想いを掲げ、広告やコミュニケーションだけではなく、人々の未来の暮らしそのものを再デザインしてまいります。

    株式会社マイクロアド
    tdtsh
    tdtsh 2010/11/19