qsonaのブログ

プログラマーです。

東京Node学園祭2015 にて発表を行います

2015/11/7(土)に東京Node学園祭2015が行われます。会場は今年も弊社サイバーエージェントのオフィスになります。

nodefest.jp

さて今回、「Node.jsでのゲームサーバ開発 愛すべきバッドノウハウ3選」というタイトルで登壇させていただくことになりました!

ここでは少し発表内容の背景を説明したいと思います。

弊社のゲーム部門では、サーバサイド開発にJavaとNodeを利用しています。開発者や事例が育ってきたこともあり、最近では新規開発にはほぼNodeを利用しています。
Nodeそれ自体の動作や開発のスピードに関して、困ったことはほとんどありません。(Nodeは普通のサーバ開発に十分適している、と私は考えているゆえんです)

さて、プログラミングには、一般的に良い/悪いとされている設計手法や原則が存在します。しかしながら、新卒で入社後、実際にゲームサーバ開発に従事したとき、必ずしもそれが実践されていないと感じることがありました。

最初は単に疑問に思うだけでしたが、(当然経験の深いエンジニアが多い中、新卒の自分などでは思い至らないことばかりなわけで、)そこから約2年の開発経験を通して自分なりに考えてたり試してきた結果、少なくとも「JavaScript」「Node.js」「ゲームサーバ」というコンテキストにおいて必ずしも"悪"と切り捨てられるものばかりではなく、良いあるいは致し方ない面がある、というふうに納得できるものが多くありました。
(単に直すべきポイントもあり、実際にこの1年ほどの開発で改善してきたものもありますが、それは今回の話では触れません。)

そのようなものを、今回「愛すべきバッドノウハウ」と呼び、そのうちのいくつかの事例に対して極力深い考察を与え、話したいと思っている次第です。中には自分が考案したバッドノウハウも含まれます(笑)

私自身、新卒でサイバーエージェントに入社して以来、仕事としてはNode.jsでの開発しか行ってきませんでしたし、プログラミングに対する一般的な考え方を十分に身につけているとはいえませんから、少し背伸びした発表になってしまうでしょう。
それでも、国内でのNode.jsサーバ開発実績としては最大に近い規模であろう我々の開発現場の工夫を、なんとかして発信していきたいという思いから、今回発表させていただくに至りました。

ところで、今回のタイトルは「・・・愛すべきバッドノウハウ3選」とありますが、現在自分の頭の中にあるものは、大〜小あわせて10個くらいあります。その中でより興味深いものを選んで3つ程度にする予定ですが、個数は少し前後するかもしれません。発表を作る上でさらに深く考えるうちに、もしかしたら単なるバッドノウハウに消化されてしまうものもあるかもなぁ、と思っています。それはそれで自分にとっては有意義なことですが。

自分の経験が、Node + ゲームサーバ開発なので、タイトルではそこに限定していますが、おそらくNodeサーバ開発全般に共通する話が70%くらいになると思います。

また、話の流れ上、タイトル通りのバッドノウハウだけでなく、Node+ゲームサーバにおける通常のノウハウ(グッドノウハウ?)も少し紹介できるかなと思います。

というわけで、興味のある方は聞きに来て頂けたら幸いです。
(なお、東京Node学園祭の参加者募集開始は10/13(火)0時からです。)