Node.js勉強会@関西 第0回(ハッシュタグは#nodesgw00)に参加してきたので、そのレポートです。
会場は、サントリーアネックスビル。JR大阪駅から地下を通って出たらすぐ着きました。迷わないでいけたなんて・・・
概要
@craftgearさんによるイベント説明とnode.js概要
- node.jsを使ったhello worldでphpと比較検証。100回のリクエスト同時に100リクエスト、やく13、4倍の時間差
- 出来て2年で若いのに、ライブラリに溢れてる。選択に迷う。
- フレームワーク・テンプレート・DBアクセス・テストフレームワーク・機能テスト・認証・ファイルアップロード等、それぞれ複数ある
- 補助ツールCoffeeScript、supervisor
- 認証はauthenがおすすめ
- 各基本機能のサンプルコードの簡単な説明
とにかくライブラリが豊富だし、選択が難しそうという印象。
あと、紹介コードがCoffeeScriptで書かれてたので、パッと見では分かりずらかったです。でもちょいちょい聞くなー、この単語。この辺が参考に良いかな。
今日から始めるCoffeeScript
- JavaScriptにコンパイルできる小さな言語
- コンパイル後はJavaScriptとして動作するため実行速度面ではほぼ変わらない
- 構文がRubyやPythonライク
- ブラウザ用の開発にもサーバサイドの開発にも使える
- forever,daemon
だそうです。
マルチプロセスと永続化
@kumatchさん(Feedtailor inc.)の発表
- Cluster,foreverというモジュールの話
- Cluster,master process ,worker process,
- ライブコーディング、masterプロセスとworkerプロセスの動きを表示。
- 一つのportで複数プロセスが簡単に
- workerプロセスではメモリ空間を共有してない
- 共有するためにはmasterにsendメソッドで値を渡す
- forever,daemon,startメソッドで指定したプロセスが死んだら再度起動してくれる
かなり動きが詳細に見れて分かりやすかったです。あとちょっと怪しい挙動も見れて、node.jsの未熟さもかいま見れましたw
実際に、業務でファイル変換処理にnode.js使っているということ。
ファイル変換時に次のプロセスを待たせてしまうが、node.jsのマルチプロセスで解決しているそうです。
次からLTです。
東京Node学園祭レポート
矢谷重人さん(ファーストサーバ)の発表
- 総勢200名,3000円1日経たず完売
- node.js総本山と業務提携、Node Ninja
- 中学三年生の参加者も!
- プラチナ2枠のスポンサーに20社応募の人気ぶり
- NodeNinjaの開発人員募集w
東京Node学園祭の写真を使っての発表だったので、イベントの雰囲気が伝わってきました。
あと、東京ではnode.jsの初心者向けセミナーは飽きられてるという噂w
node.jsでつくるリバースプロキシ
- 色んなポートに割り振られたアプリケーションに対して、リバースプロキシで一元urlアクセス可能に
- 具体的なソースコードの紹介
コードの量も少ないし、本当に簡単にリバースプロキシができそうな印象持てました。
NodeにおけるCommonJS対応について
@esperia09(Re: Kayo-System) さんの発表
- CommonJS:javascriptをサーバサイドなどで利用する標準仕様(ライブラリではない)
- 実はサーバサイドjsの歴史は古い(1996〜)
- Node.jsがCommonJSに対応してるかというと微妙で、対応しようともしてない
- Nodeはjavascriptのシステムを利用したいが、commonJSはjsの仕様を固めたい、というずれ
結論としては、Node.jsを使う場合は、CommonJSを気にしなくていいっぽいです。
感想まとめ
実際に触ってにないのもあり、具体的なソースをみて動きを把握することは難しかったです。ただ、ライブコーディングしてもらったのもあり、だいぶイメージがつかめました。
実際に、業務で必要とするシーンが今のとこ思いつかないのですが、一部とはいえはNode.jsで出来ることを実際に見れてよかったです。