タグ

ブックマーク / kazuk-i.hatenadiary.org (6)

  • Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記

    jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ

    Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記
  • RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記

    という題で、RubyKansai勉強会#43で発表させていただきました。 使用したスライドは以下です。 Async Programming on Ruby View more presentations from Kazki Matsumoto. 発表でも紹介しましたが、非同期WebフレームワークであるCrampがすごく使い易い。使い方については以下のチュートリアルが参考になります。 http://m.onkey.org/2010/1/7/introducing-cramp また、非同期Webフレームワーク上から利用するための、ロックしないGearmanクライアントをEventMachine上で実装しています。 http://github.com/KazkiMatz/em-gearman-client ひどく荒削りな状態ですが、お役に立てば。

    RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記
  • Twitterがスケールに苦しむ理由 - スケールするサイトのアーキテクチャ考

    Twitterのスケール関係で、面白い記事を発見したのでまとめ。 一時期「スケールしない」とか「動作が不安定」だとか言われ続けていたTwitter。5月ごろにslashdot.jpでも話題になっていた。論調は総じて「Twitterがスケールしないのは、Rubyを使っているから」というもの。 ところが同じ5月、「Why Can't Twitter Scale? Blaine Cook Tries To Explain(なんでTwitterってスケールしないの?)」という、blog紹介記事がSilicon Alley Insiderに掲載される。記事の元になったblogエントリは、Twitterの前チーフアーキテクトだったBlaine Cook氏によるもの。Cook氏によれば、TwitterのスケールとRubyは何の関係もないという。 Why Can't Twitter Scale? Blai

  • memcached活用は、格納オブジェクトの”粒度”がキモ

    最近じゃmemcachedを活用してデータベース(RDB)の負荷を下げるって話、そこらじゅうから聞こえてくるけれど、memcachedの活用は、格納オブジェクトの”粒度”(granularity)がキモだと思ってます。 memcachedは、KeyとDataをペアで格納して、Keyが与えられると、関連付けられたDataを返すだけのシンプルなシステム。PerlPHPの連想配列と同じ。このmemcachedをRDBのキャッシュとして活用してやる場合、memcachedに格納するキャッシュデータの単位、”粒度”をどう設計するかが重要になってくる。 RDBの場合、格納されるデータはRow(レコード)単位。じゃぁキャッシュもRow単位で作ってやればいいのかといえば、それではうまくいかないケースもたくさんある。RDBでは専用の問い合わせ言語であるSQLを使って、 SELECT * FROM hoge

    memcached活用は、格納オブジェクトの”粒度”がキモ
  • RubyKansai#34 - Tous Les Jours 攻防記

    昨日開催されたRubyKansai#34で、発表させてもらいました〜。 使用したスライドは以下のものです。 ActiveResourceが面白すぎる件View more OpenOffice presentations from kazuki83. 初めてSlideShareにupしてみた。 SlideShareってフロントエンドにはRailsを使ってるっぽいかも。。

    RubyKansai#34 - 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