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
- 新たなnode導入事例
- 40名規模のスタートアップKlout
- ソーシャルメディア版スカウターやってる
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を向上できる