Skip to content

Instantly share code, notes, and snippets.

@Layzie
Created November 18, 2012 02:12
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Layzie/4102901 to your computer and use it in GitHub Desktop.
Save Layzie/4102901 to your computer and use it in GitHub Desktop.
学園祭2012

東京Node学園 学園祭2012

基調講演

途中から参戦…

  • Streamムズい

    • 後方互換性を行かしつつはムズかしい
  • streams2

    • 今までと違ってdataイベントの代わりにプッシュ通知のようにしてくれる
    • ReadableWritableが分かりやすく
    • _read_writeで拡張可能
  • もうそろそろ(12月?)に0.10

http:/j.mp/stream2-nodefest http:/j.mp/stream2-nodefest-pdf

Nodeコアの歩き方

大津さん

https://speakerdeck.com/shigeki/nodekoafalsebu-kifang-nodefalsekai-fa-nican-jia-siyou-node-dot-js

  • 0.8から変更
  • libevlibeioが削除

Nodeのファイル構成

  • gypはもともとChrome用のビルドツール

JavaScriptとC++の出会い

  • gypの中でjs2c.pyで、asciiに変換

Bootstraping with node

目的

1万円とNode.jsで収入源を作る

Bootstraping

  • 予算:1万円
  • 第一目標:サービス開始
  • 第二目標:黒字

目標を実現するため

  • 自分で作る
    • 自分の勉強になる
  • 時間の限り
    • 夜・週末しかない
    • 収入がない状態で動けない
    • 心理的な問題も

Nodeで解決できる理由

  • 軽い
  • 単純なコード書ける
  • モジュールとコミュニティ

Cloud

AWSとHerokuの比較

  • セットアップ
    • Heroku
  • アップタイム
    • AWS
  • リリース作業
    • Heroku
  • コスト
    • Heroku +1 / AWS +5
  • スケーラビリティ
    • 引き分け?

Service

  • Git: BitBucket
  • DB: MongoHQ
  • Loggint: PaperTrailApp&Loggly
  • Email: SendGrid
  • Analytics: Mixpanel
  • Monitoring: Pingdom
  • Support: Desk.com&Olark + redis

Production

https://github.com/mathrawka/node-express-starter

  • 本番環境でのログはマジ大事
  • エラーメッセージをメールで送信
  • 例外状態の通知
    • データベースのエラー
    • 絶対あるはずの情報を取得できない
    • エラー送信をゆるく設定
    • 問題ないようだったら、メール送信しない

Test

  • pow-mongodb-fixturesでMongoDBのテストデータを(動的にも)作れる

Best Practices

  • やらないとけないことに集中
  • Analyticの作戦と実施
  • メールの送信はkueのワーカーで
  • 長いタスクはkueのワーカーで

layering distributed systems

@substack

https://github.com/substack/nodefest-2012

  • browserling
    • 分散ブラウザテスティング

secure-peer

ライブコーディングきた

  • npm-json

dnode

scuttle butto

kye/valueでサーバーとクライアントの結果整合性を取るようにするモジュール

Untitled

Mikeal Rogers

  • requestモジュールの作者

Nodeはなぜ成功したのか

simple patterns

  • function(error, result){};という基本のコールバックパターンがシンプルで秀逸
  • コールバックを違うAPI間で受け渡しができるのはシンプル
  • npm で3番目に使われるasyncモジュールを使っても、見た通りのコードが見た通りに動く

Streams

特にモバイルなんかでは重要になる

module.exports = function() {};

別名substackモジュール

frameworks?

frameworks is sucks.

シンプルなモジュールの組み合わせでモジュールを作るのも使うのも使いやすくなってるのが、nodeのエコシステム

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment