Nodeまみれ!東京Node学園祭2016に行ってきた!【#01】

まさくに


Nodeまみれ!東京Node学園祭2016に行ってきた!【#01】

DSC00191

こんにちは、バックエンドエンジニアのまさくにです。

先日、渋谷で行われた東京Node学園祭2016に参加させていただきました。その熱狂の二日間をお伝えできればと思いますが、まずは素晴らしい体験をさせていただいたことについて、スタッフの方々、ゲストスピーカーの方々、それから参加者の皆様に、はじめにお礼を申し上げます。思うに、ここから先、相当長くなりますので、ここで伝えておかなければ!
 

今回は同じバックエンドエンジニア Kazさんと一緒に赴きました。

Kaz Kaz
LIGの分類上はバックエンドエンジニア。ただ分類関係なく、有用、無用問わずよく知ってるし、よく喋る。弱点はサブカル系。Wikipediaを眺めるのが生きがい。

 

東京Node学園祭2016とは

DSC00095

I Love Node!

東京Node学園祭2016の二日間を体験してきた僕に、まずは結論を言わせてください。

東京Node学園祭2016とは、Nodeアベンジャーズの熱狂と汗と涙と脳汁にまみれた祭典であったと。ある者はガチガチの業務に、ある者は趣味やゲームに、ある者はクレイジーな発想の実現にと、枚挙にいとまがない偉業を伝え聞く熱い二日間であったと。Nodeはそれらの兵たちの夢を叶えるに足る、柔軟でパワフルな環境であったのだと。

Thank You, Everyone. Thank You, Node.

僕からのレポートはこれがすべて!

以上です!

Thank You! Thank you, so much!
 


 

はい。では。ここで終わると各界から普通に怒られそうなので、改めて東京Node学園祭2016についてレポートをさせていただきます。
 

東京Node学園祭2016とは、Node.js日本ユーザグループ主催で日本最大のNodeカンファレンスです。今年はJSONの開発者でもあるDouglas CrockfordさんをはじめとするJavascriptの世界の著名人をお迎えするなど、広く、深い内容のカンファレンスでした。そのボリューミーな内容から、会場にはConnecting The Dots:渋谷とCyberAgentのイベントスペースをお借りするという規模感で、さらに同イベント初めての2days開催! 自分たちは両日参加させていただきました。とにかく休日の朝が早いということに、得も言われぬ緊張感を持って臨みましたが、参加できて本当に良かったです。
 

さて、東京Node学園祭2016とはどんなイベントだったのか。
プログラムを順にのぞいていきましょう!

Opening

DSC00063

「Node School」と「Node Discussion」の二つの会場があり、どちらに参加するかを選びます。自分は「Node Discussion」に参加するのでそちらの席へ座ることにしました。この時点で会場となったDotsには人があふれており、これから大きな祭典が始まるのだという期待が否が応でも高まります。

満を持してNode.js日本ユーザーグループ 代表の古川陽介さんが登場。僕はお会いしたのは初めてなのですが、会場を包む緊張感をいい意味でリラックスさせる不思議な力を持っていました。

DSC00059

Be More Global
Be More Interactive

古川さんがES2017やフロントエンドの激流にも負けぬよう、上記のように学園祭のモットーをお話しされました。今年はそのモットーを体現するかのごとく、著名な方々を招いてのイベントとなっています。古川さんのお顔はとても嬉しそうで晴れやかでした。ここまで大きなイベントです、開催に漕ぎ着けるまで、本当にさまざまな調整を行われたのでしょうね……。時折、今年が何回目の学園祭かお忘れになっていたので、自分もあえて数えていません。「5回? 5回目かな?」ということでした。

Node School

DSC00075

Node SchoolはWorkshopperというライブラリを用いてのJavascript勉強会でした。自分はこちらには参加できなかったのですが、Node Discussionを行っている横で黙々と自らの知見を深めるさまは、まさにエンジニア集団そのものですね。メンターの方々もいらっしゃって、疑問点をいつでも聞ける環境が整っていたようです。日本のNode.jsの最先端で、大勢がキーボードを無心に叩くという光景は鬼気迫るものがありました。
 

Node Discussion

DSC00070

先のDouglas Crockfordさんをはじめとしたゲストスピーカーを巻き込んで、Node.jsのGoodなところ、Badなところ、そしてWishlistを付箋紙に参加者が書き出して討論するという豪華絢爛なイベントが開催されました。僕の目の前にJsonを作った人がいる……。「いつもお世話になっています」と、心のなかで深く謝礼を述べて席につきます。ちなみにディスカッションは基本英語でしたが、僕は生まれつき英語が話せないので、イベント全体を通して通訳の方々に大変お世話になりました。
 

DSC00109

DSC00087

ディスカッションはNode.jsに感謝を抱きながら、日本のコミュニティそのものの内省を促す清い空気がありました。この辺りが、ユーザーグループ主催であることの醍醐味だったと思います。「日本人は何か問題が発生したとき、Twitterにつぶやくばかりではなく、もっとオープンな場で英語も恐れず話し合うべき」ということに、自分自身、釘を刺された気分でした。それを通訳していただきながら聞く、という不甲斐なさも含めて。
 

PayPal / Braintree Workshop

DSC00111

次のプログラムはワークショップ形式で、実際にPayPalの岡村さんに手ほどきをいただきながら、PayPalで疑似決済(※Sandbox環境)をするという夢広がるものでした。nodeのExpress+Braintreeで決済を実装するというものでしたが、Expressに少し記述するだけでPaypalで振り込まれる事実を目の当たりにし、なんだかおかしくなりそうでした(※Sandbox環境)。「こんなに手軽に決済ってできたっけ?」という素直な驚きがありました。

いつか実際にお金が振り込まれるように頑張りたいと思いますので、その際はよろしくお願いいたします。

▼資料はこちら!

 

Code and Learn

DSC00131

再びNode.js日本ユーザーグループ 代表の古川陽介さんが登壇。「Node.jsのコードに貢献しよう」というモットーのもと、Node.js本体に対してプルリクを実際に投げるという恐るべき参加型のプログラムだったのですが、参加者の何人かは実際にNode.jsのコントリビューターとなれたようです。自分はなれませんでした。どんな小さな修正だとしてもNode.js本体の改修とテストを行う必要があるので、開始と同時にNode.js本体であるC++のソースコードのビルドから始まり、ざわつく参加者が印象的でした。皆さんご存知のことと思いますが、python3.5の環境ですとビルドができないこと、またmakeには15分くらい時間がかかるのでご注意いただきたいことを、自分の体験談としてここに付記いたします。

またコミットやプルリクの書き方は、Node.jsに限らず実務でも気をつけたいポイントが山盛りのワークショップでした。

▼資料はこちら!

 

 

Lightning Talks

マージされた者、されない者、ビルドができない者、マージがリジェクトされた者と、なかなか死屍累々という様相を見せていたCode and Learnをくぐり抜け、プログラムはLTに移行します。この頃になると誰も熱気にあてられて、うわ言のように「Node……Node……」と呟き始めていました。LTの爽やかな風が心地よかったです。
 

TASTING ES2017

DSC00150

もうすぐECMAScript2017が確定するということで、株式会社グッドパッチのよしこさんによるES2017の味見体験談でした。ここでは、ES2017で追加される新しい仕様の説明がありました。目玉として、Async Functionsが業務にも使えてとても便利だと歓喜されていたことと、「ケツカンマがOKになるケツカンマがOKになる」と大変喜ばれていたことが自分のなかでは深く印象に残っています。

http://yoshiko-pg.github.io/slides/20161112-nodefes/

Node.js イベントループを調べてみた

DSC00156

Node.jsのイベントループについて、人に教えるために知見を深められたという、codeArts株式会社のまさくらさんによるイベントループの調査結果発表でした。「JavascriptのV8レイヤーではなく、libuvがイベントループを提供している」とのことで、さらに「OSごとに仕組みは違うだろう」ということでした。イベントループ内部でポーリングをしているというのも、自分にとっては驚きであり、Node.jsの底知れぬ深さとパワーを感じることができました。日々、感謝しながら一万発のキーボード突きを行いたいと思います。

(スライドを見つけることができませんでした。どなたか情報いただけますと!)
 

Electronで製造ラインアプリ開発

DSC00161

製造ラインにElectronで作成されたアプリケーションを導入し、改善をされたという株式会社永和システムマネジメントの村上さんによる発表でした。シリアル通信をするために、使ってみたかったElectronを採用されたということで、そのつまづきポイントなど参考になるお話ばかりでした。ここまで書いておいてアレなんですけど、普段自分は業務でJSを使うことがあまりないので、「JSを触り始めて一年、大きくはまるところはなかった」ということに非常に勇気づけられました。

Node.jsに縁のない職場でNode.jsを使い始めるための戦術

DSC00164

誰もが共感する”業界あるある”じゃないでしょうか。株式会社ラクスの鈴木さんによる「Node.jsを業務に持ち込むための戦略的イロハ」でした。やはり「実際のプロダクトから使うにはハードルが高い」、「採用やサブプロジェクトなど周辺領域を攻めて落として懐柔して洗脳しろ」というものでした。「上司のJavascript感が世紀末」は、本イベントで生まれた名言のひとつだったと思っています。

LIGですか? ええ、僕の口からはなんとも言えません。弊社は何かその辺のことについては比較的自由があるはずです。ブログ書きますからね。ええ。

 

Node.js × Babel で AWS Lambda アプリケーションを開発する

DSC00168

コーチ・ユナイテッド株式会社の久須さんによる「LambdaでNode.jsを動かしてみた」発表。「Lambdaを模すためのドライバを作っておけば、ローカルでも開発が問題なくできて、フロントエンドやサーバーのNode.jsと同じような開発スタイルを保てる」というのが大変魅力的です。npm scriptsでLintやビルドを行い、圧縮してLambdaに送れるようにするというのが小さいことながら重要だと思いました。そういう小さいストレスって、気づかず精神を汚染するじゃないですか……。

Node.jsではじめるTDD

DSC00173

株式会社リクルートテクノロジーズの伊藤さんの発表。ESの最新化に沿ってプロダクトを改変していくのは非常に勇気がいることだと思います。リファクタ――それは使い方を誤ると、危険な薬じゃないですか。非常に魅力的に思えるし必要なことですけど、やはり不安ということで、ふるまいを検証しながら進めることができるTDDで心に落ち着きを、という発表でした。「言語の進化が早いJSにこそTDDを」という言葉に大変共感しました。


 

Node.js with WebRTC DataChannel

DSC00176

ブラウザでターミナルが動いてました。ブラウザでターミナルが動いたんですよ。どよめく観衆。WebRTCの技術を使うことによって、WebブラウザとNode.jsのアプリケーションがP2P通信を行えるようになるとのことで、会場内のWi-Fiを通しつつ、お手元の二台のPC間のP2P通信でターミナルが動いていたのです。インフォコム株式会社のがねこさんの発表でした。「きっと、もっと楽しいことができるはず!」というお言葉でスライドが終わるのですが、いや、なんかNode.js怖いな……もう……。アイディア次第で本当になんでもできるんだなということを、驚きとともに見せていただけました。

 

まとめ

一日目の会場この熱気、少しでもお伝えすることができたでしょうか。体験してみて本当に感じたことは、Node.jsの実力もさることながら、皆さんのNode.jsへの愛でした。本当にみんなNode.jsが大好きっていうことが伝わってきて、学園祭の名を冠するにふさわしい初日でしたね。

そう、まだ一日目! 次回は二日目のレポートをお送りします!

 

まさくに
この記事を書いた人
まさくに

バックエンドエンジニア

関連記事