以下斜め読んだ内容

pseudo translation of useful posts, book reviews, remarks,etc. twitter: feeddict

Tyke Lewis「Klout.comの裏側(node,express,underscore,backbone,handlebar,less,jquery)」

2011.10.4のエントリ

The Tech Behind Klout.com « Measuring Online Influence: The Official Klout Blog

informativeなところは少ない。が、node公式ブログで言及されてたので斜め読んだ

以下斜め読んだ内容
  • 2010.05:リニューアル、リデザイン
  • UX/UI
  • フロントエンド
  • kloutのUXのデザインについての技術的サマリー

旧ver

  • dataドリブンな会社としてスタート
  • api提供が最初のプロダクト
  • LAMPスタック。pはphp
  • その後
    • ユーザ数成長、機能追加、サイトのパフォーマンス改良
  • リファクタリングしないと無理、と判断
    • 白紙からはじめたい、いい技術使いたい、イノベーション、柔軟に開発できる基礎ほしい
  • twitterのリデザイン、nodeの人(ryan)、Yehuda Katzに刺激うけた

nodeの世界に

  • V8、サーバサイドJSに足りなかったイベントドリブンなIO
  • expressでルーティングやコンテンツネゴシエーションもシームレス
  • 同時接続、cpu利用もテストしたら効率的だった
  • クライアント/サーバーどっちもjsでかける
  • よその会社でnodeが利用されてるのは知ってたけど、たいていはapi提供が多かった
  • 全部をnodeでという勇気ある会社はゼロだった
  • 若い技術に賭けるのはリスク
  • Kloutとしてはnodeが未来の明るいアーキテクチャだということを示したいとも思っていた
  • ryanとjoyentはKloutの開発を初期からサポートしてフィードバックをどんどん受け取ってくれた
  • 現在Kloutのデータセンターではサーバー2台で16のnodeインスタンスを動かしてる
  • 数万単位の同時接続をキビキビさばいてる

クライアントサイドアプリケーション

  • Kloutのサービスはクライアントサイドアプリケーションとして動く
  • backbone.jsはMVC使える。これを使ってる
  • 動作の流れ
    • ブラウザにページがロード
    • nodeサーバーとブラウザが通信開始
    • json使う
      • スコア、トピック、チャートのデータ
  • サイト巡回中は、必要な部分のみリフレッシュされる
  • htmlテンプレートにはYehuda KatzのHandlebars.js
  • cssはLESSつかう

オープンソースがんがんつかう

  • node、connect/express
  • backbone.js/handlebars.js/underscore.js/jquery
  • redis
  • 先端のテクノロジーを使い続けるのは労力使う
    • リターンはでかい。UXを向上できる