Node.js勉強会@関西 第0回に参加してきた

2011/11/19

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でつくるリバースプロキシ

@kamiyanさん,発表資料

  • 色んなポートに割り振られたアプリケーションに対して、リバースプロキシで一元urlアクセス可能に
  • 具体的なソースコードの紹介

コードの量も少ないし、本当に簡単にリバースプロキシができそうな印象持てました。

NodeにおけるCommonJS対応について

@esperia09(Re: Kayo-System) さんの発表

  • CommonJS:javascriptをサーバサイドなどで利用する標準仕様(ライブラリではない)
  • 実はサーバサイドjsの歴史は古い(1996〜)
  • Node.jsがCommonJSに対応してるかというと微妙で、対応しようともしてない
  • Nodeはjavascriptのシステムを利用したいが、commonJSはjsの仕様を固めたい、というずれ

結論としては、Node.jsを使う場合は、CommonJSを気にしなくていいっぽいです。

感想まとめ

実際に触ってにないのもあり、具体的なソースをみて動きを把握することは難しかったです。ただ、ライブコーディングしてもらったのもあり、だいぶイメージがつかめました。

実際に、業務で必要とするシーンが今のとこ思いつかないのですが、一部とはいえはNode.jsで出来ることを実際に見れてよかったです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です