東京node学園祭 2013に参加してきました
ぜんぜんnodeに触ったことが無いけど,東京node学園祭に行ってきました.
ブログを書くまでが学園祭とのことなので,いままで続いてました. 何を書けばいいかわからないけど,メモったことを書いておきます.
もし,間違っているところがあったら訂正お願いします.
セッション
参加したセッションはこちら.
- 基調講演(@meso)
- Grunt, Yeoman, Bower(@yosuke_furukawa)
- Node.jsを選ぶとき,選ばないとき(@tricknotes)
- Node.jsで学生向けe-learningサイトを作った話(吉田徹生)
- WebRTCを始めよう(がねこまさし)
- 無限LT大会
基調講演(@meso): TheFuture of Programming in Node.js
Nodeの二代目リーダーと言われている Isaac Schulueter さんがMLに投げたメールの話.
Nodeの今後
callback
- 非同期処理を記述するデファクトの方法で在り続ける
- generator, promiseは興味深いがあくまでもユーザ拡張の領域(hotだがコアに入れない)
- ECMAScript 6(Node.js v0.11.4以降)でオプションをつけるとつかえる
- Bert: callback地獄を根本的に解決する策があったら?
- Isaac: 後方互換性を守る
Stream
- Streamはより早く,一貫性のあるものになる
- v0.10との後方互換性は100%たもたれる
Domain
- エラーを継続追跡できる仕組みにします
- エラーハンドリングの仕組みをユーザ拡張で作れるようにする
ModuleSystem
- 変更なし.完成された.
AltJS
- TypeScriptやCoffeeScriptはコアに入れない
Binary Addon
Cとかで書いてコンパイルして使うアドオン.
New Language Features
- v8に言語仕様が取り入れられ,nodeにもやってくる
- しかし,自動的にenableにはしない
VM module
- VMはモジュール化され,contextifyモジュールの特徴をコアに取り入れる
Child Process
- 子プロセスの同期実行が可能になる
Roadmap
- v0.12がでたら使ってもらいます
OSS
- これらの決定は民主主義的意思決定に基づくものではありません
- しかし,意見を取り込む多くの余地がある
- 作り方ったらforkして好きなの作るといい
- OSS For the Win (FTW)
その他
StrongLoop というNodeディストリビューションやMeteorとかいうのがあるらしい. コミュニティとかに所属した経験がないので,こういうやり取りがなされてるのかーと思った.
スライド
Grunt, Yeoman, Bower(@yosuke_furukawa)
Yeomanとは
- デベロッパーサポートツールの集合体(Yo,GRUNT,BOWER)
- Yeomanのよさ: 簡単にgeneratorが作れる
- yomania: generatorを作るまの下準備をしてくれる(
npm install yeomania -g
) - generator-generator: generatorを作るgeneratorひな形を作ってくれる
その他
そういえば,昔に社内勉強会でやったことを思い出した. こういうツールは使っていかないと覚えないので,使っていきたいなあと思う. けど,構造とか使い方とか覚えないといけないから,初動のコストが高い気がする.
おすすめ
スライド
Node.jsを選ぶとき,選ばないとき(@tricknotes)
今日の話
- Node.jsとRailsを比較しNode.jsの正しい使い方をみていく
- Node.jsはRailsに影響を受けている部分が多い
- 対象者: Node.js以外の選択肢を知らない方,Node.jsをあまり使ったことがないかた
RubyをやめてNodeに
その他
あまり,node.jsもrubyもわからないから,深く理解できなかったが,crawlerとかはnodeがよさそうなのは分かった.
スライド
Node.jsで学生向けe-learningサイトを作った話(吉田徹生)
サイト紹介
フレームワーク候補
- flation
- サーバとクライアントで同一フレームワーク
- 情報が少ない
- Matador
- twitterをサウ制したObvious社が作成
- Connect.jsを利用
- ViewにはSoyNodeを利用
- 選定時はベータ版だったので使わなった
- SoyNodeを利用 (ClosureTemplatesの一つ)
- express
- デファクト
- 情報豊富
package
- ejs(ViewTemplate)
- config($NODE_ENVによってconfigファイルの読み替え)
- async(非同期処理を簡単に扱う)
- node-uuid(被りたくない数字とか作るの便利)
- aws-sdk(AWSを利用するため)
- ua-parser-js(ユーザーエージェントでコードの出し分け)
- nodemailer(SMTP,SES,Sendmailで簡単に利用できる)
スライド
WebRTCを始めよう(がねこまさし)
ちょっと,デモとか面白くて,全然メモってませんでした. でも,簡単に映像とか音声とか渡せたりしてWebRTCは面白そう.
その他
- WebRTC: Web Real-Time Communication
- socket.ioのURL指定はなぜhttpなのか?
- httpハンドシェイクをして情報を伝えるため
スライド
まとめ
nodeのことは殆ど知らなかったけど,新しく知る事が多くて楽しかったです. 台風の影響で,懇親会が中止になってしまいましたが,かわりにビールとピザを楽しみながら無限LT大会が開かれました. 空腹時にビールを飲んだおかげで,少し体調が悪なってしまいましたが,楽しかったです.
勉強会とかカンファレンスとかに出て毎回良かった思うのは,「よし,やろう」とモチベーションがすごい上がることです. なぜか,全然知らない分野でもモチベーションが上がります. なので,最近モチベーションが落ちてきたなーと思う人は,なんでもいいからイベントに参加してみるのもいいと思います.
また,node Knock Outもあるので,Nodeの勉強をしようと思いました. (node使ったこと無いのに,学園祭とかnodeKOとかに出るのもどうなんだって話だけど)