タグ

設計と*あとで読むに関するkitokitokiのブックマーク (7)

  • グーグルが構築した大規模システムの現実、そしてデザインパターン(1)~MapReduce編

    グーグルが「Evolution and Future Directions of Large-Scale Storage and Computation Systems at Google」(グーグルにおける、大規模ストレージとコンピュテーションの進化と将来の方向性)という講演を、6月に行われたACM(米国計算機学会)主催のクラウドコンピューティングのシンポジウム「ACM Symposium on Cloud Computing 2010」で行っています。 グーグルはどのようにして大規模分散システムを構築してきたのか、そして、そこからどのようなことを学んだのかが語られていますし、後半では大規模分散システムのデザインパターンという、非常に興味深いノウハウも公開している、非常に情報量の多い講演です。 その講演の内容を、全部で4つの記事、MapReduce編、BigTable編、教訓編、デザイン

    グーグルが構築した大規模システムの現実、そしてデザインパターン(1)~MapReduce編
  • Webサービスの設計:Webの状態遷移図の描き方 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    前置きも書いたことだし、実質的な話を進めましょう。 以前の2つの記事をザッと読んでおいて欲しいのですが、ホントに大事なところはこのエントリー内でも繰り返します。 Webサービスを設計するための単純明快な方法 Webサービスの設計: ハイパーオブジェクトとトリガー 内容: 画面遷移とはクライアント側の状態遷移のこと アクションが起動して結果を返すまで ハイパーオブジェクトとしての状態 アクションノードの内部構造 リクエスト辺と内部辺の切断 ログイン処理の例 状態遷移をモジュールにする 状態遷移モジュールの意義 画面遷移とはクライアント側の状態遷移のこと ここで状態遷移と呼ぶのは、Webクライアント(典型的な例はブラウザ)の状態遷移のことです。サーバー側の状態(リソース状態)は、今は考えないので注意してください。クライアント側の状態をアプリケーション状態と呼ぶこともあります(あんまり適切な用語

    Webサービスの設計:Webの状態遷移図の描き方 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Webサービスを設計するための単純明快な方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「Webサイト」、「Webアプリケーション」、「Webサービス」、「Web API」などの用語の区別はそれほど明確でもないし、きっちり区別して使うのもめんどくさいので、ここでは、これらを総称してWebサービスと呼んでしまうことにします。 山陽平さんは、その著書『Webを支える技術』のなかで、人間がブラウザを使って利用するWebサイトとプログラム向けのWeb APIを区別すべきではないと述べています。この点は僕もまったく同感・同意です。 人間が相手となると、視覚的な効果や装飾、JavaScriptを使った操作性などにフォーカスが向けられ、Web APIとはまったく別物のような印象を与えます。しかし、各ページが持つべき情報やページ遷移の有向グラフ構造などは、相手が人間でもプログラムでも同じだと思うのです。そんな事情で、Webページの機能的/情報的なエッセンスを表現したHTML文書をクリーンH

    Webサービスを設計するための単純明快な方法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Shibu's Diary: 中間データ形式について考える

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 by oschene under CC @voluntasに、SQLiteをプログラミング言語間の中間ファイルに使っている、ということを言ったらちょっとビックリされたので、僕なりの中間ファイルに使う基準とかを軽くまとめてみます。あんまり厳密なベンチマークとかは取ってません。フィーリングで書いてます。 SQLite Pythonをはじめとして、多くの言語でデフォルトで使えちゃったりする、オンメモリRDBです。Rubyも早く同梱してくれればいいのに。出力したデータの一部だけを利用するような、ランダムアクセスの場合は効率がいいです。 読み込むプログラムは、作成したデータの一部しか利用しない ちょっと凝った検索がしたい ちょっとした構造体並のデータ構造が表現したい。型も 表形式のデータ

  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • Latest topics > 他のアドオンと衝突しないように心がけたいし、心がけて欲しい - outsider reflex

    Latest topics > 他のアドオンと衝突しないように心がけたいし、心がけて欲しい 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « ツリー型タブとVimperatorが衝突する Main 中学生男子のおっぱいへの情熱に溢れた青春映画「おっぱいバレー」 » 他のアドオンと衝突しないように心がけたいし、心がけて欲しい - Apr 17, 2009 「次のエントリで書く」なんて予告じみたことを書いてはみたものの、どうも話がまとまらない。もう、思ったことを箇条書きで書くだけにする。 現実的に言って、1つのアドオンであらゆる人のニーズを満たすことは不可能だと思うし、そういう方向での努力はしない方がいいとも思う。何でもかんでも……と際限なく詰め込んで

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

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

  • 1