Exploring Node.js Future というタイトルで jsconf.asia で発表してきました。
このブログ記事は Node.js advent calendar の 4日目の記事です。
いやーギリギリ 12/4 に間に合いました。
12/4 のアドベントカレンダーに投稿するっていうのは来週の12/11まで大丈夫だからな(?)
— Yosuke FURUKAWA (@yosuke_furukawa) December 4, 2016
というわけで本題。
はじめに
Node.js の日本のコミュニティを3年運営して、色んな所で語ってきた僕だからこそ、 Asia の JavaScript コミュニティに対して語れる話があるんじゃないか、ということで jsconf.asia で Node.js の今後について話してきました。
jsconf.asia とは
シンガポールで行われる JavaScript のカンファレンスです、 jsconf.asia という名前の通り、 JavaScript カンファレンスの Asia 代表版ですね。 今年で5年目らしいです。
jsconf っていうだけあって、 web 系の話かと思いきや、脳波測定とか、機械学習とか、IoTとかの話ありで、ごちゃまぜ感あって、すごく面白かった。
スクリーンでかい pic.twitter.com/ZCkq80Wa3w
— Yosuke FURUKAWA (@yosuke_furukawa) November 25, 2016
個人的に楽しみなスタックオーバーフローのhigh perf architecture の話キタ! pic.twitter.com/YhlY4FzUde
— Yosuke FURUKAWA (@yosuke_furukawa) November 25, 2016
StackOverFlow では Redis と SQL を併用してて、 基本的にRedisのキャッシュからヒットさせるようにしている、最新の20%でヒットしなかったらSQLを見るという、所謂普通のLatest Recent Used Cache っぽい。
— Yosuke FURUKAWA (@yosuke_furukawa) November 25, 2016
v8最適化周りのオプション
— Yosuke FURUKAWA (@yosuke_furukawa) November 26, 2016
--trace-opt --trace-deopt
--print-opt-code
--trace-ic
v8最適化ツール
IC Explorer v8/tools/ic-explorer.html#jsconfasiaja
想像の斜め上の発表が始まった #jsconfasiaja pic.twitter.com/isAEC9D4RD
— Yosuke FURUKAWA (@yosuke_furukawa) November 26, 2016
脳内いじり出したぞ #jsconfasiaja pic.twitter.com/3lx24FfvDz
— Yosuke FURUKAWA (@yosuke_furukawa) November 26, 2016
僕の発表
Node.js の機能の今後の話をしてきました。 Exploring Future Node というタイトルで、Node.jsのアジア代表のつもりで話してきました。
Node.js は今、『コアに色んな便利機能を追加しよう』とか『 cool な機能を増やしていく』ような事は避けていて、 "small core" を表明しています。一方で、 "small core" とはいえ、 Web Application 開発を重要視しております。
これを検討する上で、重要なのが "Web Standard" になります。 Web Standard の機能は追従するという姿勢でやっていて、例えば ECMAScript はもちろん、 国際化標準のECMA-402、ブラウザのAPIを決める WHATWG、 httpだったりネットワークだったりの標準化を決める IETF のやっていることをちゃんと core の中に入れていくという話です。
今回の資料はその現状と今後を見せた感じです。
今後の話で言うと今のところ一番ホットだと僕が思ってるのは、 HTTP/2 と ES Modules interop で、この2つは今後の Web Standard になりうる話題だと思っているので、かなり重点的に話してきました。
発表してきて
まぁやっぱり jsconf.asia 自身はすごく面白いイベントだったので良かった。2015年は NodeConf.EU で発表できて、 2016年は jsconf.asia で発表できたので、来年もどこか海外カンファレンスで発表したいと思います。