タグ

structureに関するkwryのブックマーク (10)

  • Lazyレプリケーションはpush型とpull型のどちらが良いのか - sdyuki-devel

    更新ログをマスタからスレーブに送ることでデータをレプリケーションする、いわゆるログシッピングを、分散データストアに実装する方法について。 ログシッピングは、操作を同時に複数箇所に送信するレプリケーションと比べると、次のような実装上の利点がある: オリジナルに対する変更とレプリカに対する変更の適用順序が一致する オリジナルとレプリカの整合性を維持しやすくなる。設計が簡単になるので嬉しい。 ダブってレプリケーションされない at-most-once。どこまで更新ログを受け取ったかをスレーブ側で管理している前提。 CPUにやさしい バースト的に更新クエリが発生した時でも、レプリケーションクエリの数は(激しくは)増えない。その代わりログに溜まって一度に送信される。バッチ処理はCPUにやさしく、スループットが高い。 一方、更新ログを管理しなければならない欠点があるが、ストレージのデータ構造自体がログ

    Lazyレプリケーションはpush型とpull型のどちらが良いのか - sdyuki-devel
  • Webサービスの設計: ハイパーオブジェクトとトリガー - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Webサービスを設計するための単純明快な方法」の続き、あるいは補足です。 内容: Web APIもWebサイトも同じ トリガーとは トリガーの構造 トリガーについてもっと ハイパーオブジェクトを返すRPC Web APIもWebサイトも同じ 僕の方針は、プログラムが利用するWeb APIであっても、次の原則で設計することです。 API体系は、人がブラウザで閲覧するためのサイトとまったく同じ構造にする。 人間用のサイトを一切作らないときでも同じ原則を適用します。転送オブジェクト(レスポンスのエンティティボディに入るデータ)の形式が(X)HTMLでないときでも同じ原則に従います。 「人間+ブラウザ」用の転送オブジェクトの形式(フォーマット)といえば、もちろんHTMLです。HTMLの最も重要な特徴はハイパーリンクです。ハイパーリンクがWebを形作っているのです。ですから、HTML以外のフォーマ

    Webサービスの設計: ハイパーオブジェクトとトリガー - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 実践的なパターン: テストの容易性を高める設計

    Code download available at:DependencyInjection2008_03.exe(5408 KB) Contents The Inner Dependency Problem Dependency Inversion Dependency Injection Containers Full-Fledged IoC Containers Lifetime Management Auto-Wiring Dependencies Loosen Up for a Change Few would disagree that striving for a loosely coupled design is a bad thing. Unfortunately, the software we typically design is much more tightly

    実践的なパターン: テストの容易性を高める設計
  • MVC2 と Service層の関係 - 討論妄言録

    あんまりひっぱつるもりもないし、言いたいことは言ったので蛇足感たっぷりだけど ^^; id:yugui さんのコメントは全くもって適切だと思う。で、せっかくコメントをいただいたので。前のエントリ「繰り返される MVC model 2 の話 - 討論妄言録」で主張している事を図に起こしてみた。 意図としては、特定のフレームワークに対する意見とかではなくて。あくまでもアーキテクチャとして MVC2 をどう理解すべきか、という点が焦点。 Model = DB の抽象化層とみなすと Model = DB の抽象化層とみなすと Model, View, Contoroller と同レベルに Service が語られることになる (図 1)。これだと、Service が存在しない構成にした場合に、当然ながら、複数のデータオブジェクトにまたがるトランザクショナルな処理を記述する場所が失われてしまう。その

    MVC2 と Service層の関係 - 討論妄言録
  • livedoor ReaderのクローラとStreaming APIなどの話

    How Race, Age and Gender Shape Attitudes Towards Mental Health

    livedoor ReaderのクローラとStreaming APIなどの話
  • Webアプリで動的型付言語や開発管理が流行りIDEが流行らなかった理由などなど - きしだのHatena

    考えてみた。 ここんところ静的型付けなんか不要な空気になってたり、プログラムの内容よりも品質だとか開発管理の話題のほうが盛んだったり、IDEはあると便利だけどなくても大丈夫って雰囲気だったりする理由。 この10年Webアプリケーション花盛りだから、その理由はWebアプリケーションの構造にあるとして考えた。 Webアプリケーションの構造 で、まずはWebアプリケーションの構造。 字が汚いけど、左からブラウザ、アプリケーション、セッション、DB。 赤文字は、左がプログラム実行、右がデータの永続と書いてある。つもり。 Webアプリケーションでは、ブラウザからのリクエストを受けて、プログラムが動き、データベースの情報を処理して返す。 ブラウザ側でプログラムが動くことはあるけど、入力補助程度であまりたいしたプログラムは書かないので、主にサーバー側のプログラムを組む。 このとき、サーバー側のプログラム

    Webアプリで動的型付言語や開発管理が流行りIDEが流行らなかった理由などなど - きしだのHatena
  • ここギコ!: 自分で産んだ全体最適化ソリューションに自分でトドメさした...合掌

    Posted by nene2001 at 14:23 / Tag(Edit): 国盗り PSGI Apache / 0 Comments: Post / View / 0 TrackBack / Google Maps 元記事が見つけられないのだけど、昔ライブドアの誰だったかの記事を読んだことがあります。 記憶でその記事に書かれていたことを書くと、ライブドアでは全サービス共通の会員認証とか、そういう部分をライブラリ的に提供してアプリに組み込むのではなく、Apacheモジュールを作ってアプリより上層で処理しているそうです(ライブドアでそういう事実がないなら、すんません、どっか別の会社と間違えたのだと思います。でも、記憶では100%ライブドアなんだけど)。 理由は、アプリの開発は技術者個々人のもっとも使いよい言語(PerlRubyetc...)で作ることを尊重しているの

  • おさかなラボ / API駆動型開発ってアリかもしんない。

    近年、様々なWebAPIが公開され、利用されるようになったが、MVCからWebAPIを呼び出すWebアプリケーションってコードがとてもスッキリする。 逆に、WebAPIの開発もWebアプリケーションに比べると肩の荷が軽い。API開発者は渡されたデータのハンドリングに専念でき、エラーハンドリングも楽(エラーコードを返せば良いだけ)だからだ。Viewに至ってはデータ構造をシリアライズ(JSONとかXMLとか)するだけですむ。 これって何も外部APIに限らなくても良いのではないか。Webアプリケーションから、ビジネスロジック部を内部専用の(つまりlocalhostからしかアクセスできない)WebAPIとして切り離し、それをWebアプリケーションから呼んでやれば、今よりももっと開発が楽になるのではないだろうか、というのが今日のお話。 WebAPIの開発も当然MVCフレームワークが使われるので

  • 内部WebAPIの呼び出しコスト - MVCモデルの”次” - Tous Les Jours 攻防記

    デブサミ2009でid:secondlife氏が発表されたという資料を見てみました。 http://www.slideshare.net/hotchpotch/deb2009-1023281 はてぶをフルスクラッチでリニューアルした際に、従来のMVCモデルからさらに一歩進んで抽象化を進めたとのことで。 資料中、MVCの発展系として、MVACなる概念が提唱されているのですが、Aは「Applicaiont」??「アプリケーションレイヤの作成」という記述もあるし、たぶんApplicationのtypoですねきっと。 資料からは「データソース層」「サービス層」「アプリケーション層」の3層が「Model」「View」「Application」「Controller」にどう対応するのかよくわからなかったけど、おそらく「サービス層」を担当するのが「Application」なのでありましょう。 そして、「

    内部WebAPIの呼び出しコスト - MVCモデルの”次” - Tous Les Jours 攻防記
  • Webアプリ開発における「内部APIモデル」 - Tous Les Jours 攻防記

    前回の話は、一回のエントリーでは書ききれない内容でした。。以下もうすこし詳しく書き直してみます。 Webアプリ開発における「内部APIモデル」とは、ネットワーク越しに外部サイトのWebAPIを呼び出すかのごとく、自サイト内のリソースに対して内部専用のWebAPIでアクセスする仕組みを導入し、分散処理を行うモデルのことです。典型的なWebアプリでは、データベースがここでいうリソースに該当するかと思います。 図にすると以下のようなイメージです。 今回、Lang-8で実際に「内部APIモデル」を導入してみたので、気づきの点などをこのエントリーにまとめてみました。 ※導入のいきさつについては、前回のエントリーで触れています。 「内部APIモデル」を採用するメリット Webアプリ開発において「内部APIモデル」を採用するメリットは2つあります。 (1)言語やフレームワークの選択自由度が上がる 現在運

    Webアプリ開発における「内部APIモデル」 - Tous Les Jours 攻防記
  • 1