Meteor Fan (日本語情報)

JavaScriptフレームワークMeteorに関していろいろ紹介する日本語情報サイト

UCBでのMeteorの講義

UCBで行われたMeteorの講義の動画が公開されています。とても勉強になるのでぜひ参考にしてください。

講師はMeteorのco-founderのMatt Debergalisです。講義メモが公開されているので、それを紹介します。

CS 294-101でのMeteor講義メモ

Meteorの設計アイデアの多くはhttps://www.meteor.com/projectsに記述されている。

  1. よいシステムデザイントしてBSD。実装要素は、プロセス実行スケジューラ、ソケット、システムコール、仮想メモリ、mbufメモリ管理。何がプラットフォームに必要か。Unix vs Multics.

  2. アプリケーションアーキテクチャの歴史。メインフレーム(例: IBM 360 / 3270)、クライアント/サーバ(例: Win32)、 Web (例: LAMP), クラウド/クライアント。ソフトウエアが実行される場所の変化。シンクライアント対シッククライアント、データ転送対表現形式転送。技術による変化(低価格CPU、インターネット常時接続、モバイル)。変化に合わせて新しいアーキテクチャ。

  3. モダンなUI/UXに必要なもの。モバイル。即時更新。コラボレーション。更新ボタンなし。すべて「リアルタイム」/「リアクティブ」システムに必要。HTTP時代とは異なる。

  4. 4つの質問: 1 - データをどう動かすか; 2 - データはどこから来るか; 3 - データをどこに置くか; 4 - データをどう使うか

  5. DDP - 分散データプロトコル。データ転送に関するもの。HTTPとRESTの問題点。WebScokets。Publish/Subscribe。RPC。EJSON。認証。クライアントとサーバの分離。 https://www.meteor.com/ddp https://www.meteor.com/ejson

  6. Livequery - 観測可能なデータベースクエリ。Mongoでpoll-and-diff方式対Oplog tailing方式。他のデータベース(Redis, SQL)での戦略。 https://www.meteor.com/livequery https://www.meteor.com/blog/2013/12/18/david-glasser-on-scaling-meteor-with-the-mongodb-oplog

  7. フルスタックデータベースドライバ。ミニデータベース。同形API。分散キャッシュ。遅延補償。 https://www.meteor.com/full-stack-db-drivers https://www.meteor.com/mini-databases

  8. Blazeとリアクティブテンプレート https://www.meteor.com/blaze

  9. クライアントでの汎用リアクティビティ。Tracker。Autorun。 https://www.meteor.com/tracker https://github.com/meteor/meteor/wiki/Tracker-Manual

  10. これらをすべてまとめる。autopublishとすばらしいスクリーンキャスト。 https://meteor.com/screencast

時間が余れば

  1. JavaScriptの並行処理とパフォーマンス。Fibers。 https://github.com/laverdet/node-fibers http://wiki.ecmascript.org/doku.php?id=harmony:generators

  2. パッケージ。単一読み込み対複数読み込み。バージョン解決。A* vs SAT. https://www.meteor.com/version-solver http://minisat.se/ https://www.npmjs.com/ http://bundler.io/

  3. 同質ビルド。 https://www.meteor.com/isobuild