東京node学園祭 2013に参加してきました

ぜんぜんnodeに触ったことが無いけど,東京node学園祭に行ってきました.

ブログを書くまでが学園祭とのことなので,いままで続いてました. 何を書けばいいかわからないけど,メモったことを書いておきます.

もし,間違っているところがあったら訂正お願いします.

セッション

参加したセッションはこちら.

  1. 基調講演(@meso)
  2. Grunt, Yeoman, Bower(@yosuke_furukawa)
  3. Node.jsを選ぶとき,選ばないとき(@tricknotes)
  4. Node.jsで学生向けe-learningサイトを作った話(吉田徹生)
  5. WebRTCを始めよう(がねこまさし)
  6. 無限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地獄を根本的に解決する策があったら?

Stream

  • Streamはより早く,一貫性のあるものになる
  • v0.10との後方互換性は100%たもたれる

Domain

  • エラーを継続追跡できる仕組みにします
  • エラーハンドリングの仕組みをユーザ拡張で作れるようにする

ModuleSystem

  • 変更なし.完成された.

AltJS

Binary Addon

Cとかで書いてコンパイルして使うアドオン.

  • v0.12ではV8のAPIが著しく変わったため,基本的に動かない
  • opensslはzlibなどとの組み合わせも難しい
  • 今この問題に取り組んでいる

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に

  • GitHubAPIをとにかく叩く必要があった
  • Rubyでマルチスレッドきつい
  • リアルタイム通知はSocket.IO

その他

あまり,node.jsもrubyもわからないから,深く理解できなかったが,crawlerとかはnodeがよさそうなのは分かった.

スライド


Node.jsで学生向けe-learningサイトを作った話(吉田徹生)

サイト紹介

  • スタディタウン: 首都圏の過去問の解説映像
  • PHP+FuelPHPで作っていた(Fuelは結構触りやすかった)

フレームワーク候補

  • 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とかに出るのもどうなんだって話だけど)