はじめに
初めまして Node.js 日本ユーザグループ(Nodejs.jp) のJxck_です。
東京Node学園祭2011は、アジアで初めて開催される Node.js の大規模なカンファレンスです。
本特集では、学園祭までの期間に4回にわたって Node.js の魅力と Nodejs.jp のこれまでの活動、そして学園祭の内容などを紹介させて頂きます。
第1回目の本記事では、発足して約1年になる Node.js 日本ユーザグループの活動と、今年の学園祭に海外から招待したスピーカー、Ryan DahlとGuillermo Rauchの2人について紹介したいと思います。
Node.js 日本ユーザグループ
Node.js 日本ユーザグループは、2011年8月に@mesoによって発足された日本のNode.jsコミュニティで、2011年9月24日現在811人の会員が参加しています。
コミュニティにはもともと別の言語をやっていた人も多く、これまでクライアントサイドの JavaScript を書いていた人ばかりではないのが特徴です。
さまざまなバックグラウンドを持った人々が、それぞれ色々な目的でNode.jsを使っているため、勉強会などではとても刺激を受けることができます。
(たとえば、日本で初めてNode.jsのコアコミッタになった@koichikは、これまでJavaのSeasarプロジェクトなどで活躍していました)。
これまでの主な活動は、東京Node学園という勉強会の開催になります。
第1回の開催では、公開直後にATNDが埋まるほど多くのエンジニアの興味を集め、“ECMA Script5”や“非同期プログラミング”“Nodeのテスト手法”などNode.jsにまつわる多くのノウハウを共有しました。また、LTでは“マルチプレイヤーゲーム”といった、いかにもNode感あふれる作品や、“KinectとNode.js”を組み合わせた飛び道具的な発表など、興味深い発表があり、会場を沸かせました。
2回目は、Node.jsの48時間耐久ハッカソンであるNode Knockoutというイベントに向けたアイデアソンという位置づけで、参加者をグルーピングし「Node.js を使ってどんな面白いことができるか?」を熱く議論しました。成果発表では“NodeとDOMを絡めたゲーム”や“ファイルを扱うユーティリティ”など興味深いアイデアが発表されました。
Node Knockout の開催自体は今回で2回目ですが、初年度の日本からの参加者が@mesoさんだけだったのに対し、今年は日本から10チーム程度の参加者があったようです。
ハッカソンの結果はNode.js Knockout Winners!で見ることができます。
他にもGoogle Groupのメーリングリストでは、“Node.jsを使っていて困った”といった質問や、“Node.jsはどんなところに使えるか?”といった議論まで、幅広い話題がやり取りされています。興味のある方はぜひ登録し、「このコード書いてて困った」や「こんなモジュールの作った」など、気軽に投稿してください。
東京Node学園は今後も約2ヵ月に1回程度のペースで定期的に開催していく予定ですので、興味が有る方はぜひ参加してください。
スピーカー紹介
今回、東京Node学園祭2011には海外から2人のエンジニアを招待し講演を依頼することになりました。
以降はこの2人の開発者について簡単に紹介したいと思います。
Ryan Dahl
Ryan DahlはNode.jsの生みの親です。
学生時代は数学を専攻する傍ら、OSS の開発にも関わりRubyサーバなどを実装していたそうです。彼はあるとき、「簡単にスケーラブルなネットワークプログラミングをするための環境」として、Node.jsを開発し、それをJSConfなどで発表しました。
Node.jsはイベントループという仕組みを使うことで単一のプロセスで多数のI/O処理を実行することができるため、「リアルタイムWeb」といった多くのネットワークI/Oを必要とするアプリケーションでの効果を期待され、多くのエンジニアの注目を集めました。
彼が Node.js を開発した経緯は「node.js とは何か」シリーズを読むとよくわかります。
現在彼は、Joyentという会社に在籍し、フルタイムでNode.jsの開発に従事しています。
わりと夜型なタイプなようで、Githubのコミットログを見ると夜中に作業することも多いようです。
日本に来て、日本のエンジニアと交流することを非常に楽しみにしており、日本では「電車に乗る」「ラーメンを食べる」を希望していましたw
Guillermo Rauch
Guillermo Rauchは、Socket.IOの生みの親です。
Socket.IOはNode.jsのリアルタイム通信モジュールであり、Node.js界隈では非常に有名なモジュールです。
基本的にはサーバとプラウザの間でWebSocketを用いた通信を非常に簡単に扱うことができるモジュールなのですが、Socket.IOの凄いところは、もしそのブラウザがWebSocketが使えなかった場合はXHRやFlashといった別の通信方法に、自動的にフォールバックしてくれることです。これにより、同じコードのままIEを含めて多くのブラウザを扱うことができます。
もともとNode.jsは、WebSocketのような多数のリクエストが発生する処理と相性が良いため、多くのエンジニアがこれを用いてNode感たっぷりなリアルタイムWebアプリケーションを実装しています。
また、Guillermoは若くしてオンライン教育支援サービスを提供するLearnBoostというスタートアップ企業のCTOでもあります。 LearnBoostには同じくNode.jsで有名なWebアプリケーションフレームワークであるExpressの作者として有名なTJ Holowaychukも在籍しています。
Guillermoは、TJのExpressと協力して「リアルタイムWebアプリ界のRails」を目指して開発を進めるそうです。
まとめ
簡単ですが、Node.js 日本ユーザグループと今回、東京Node学園祭のために来日してくれるRyan DahlとGuillermo Rauchについて紹介させていただきました。
10月29日は、ぜひ2人の発表を聞きに学園祭に足を運んでいただければと思います。