Node 学園祭 2016 印象に残ったセッションのまとめ。
計画・実施されたみなさま、とても楽しかったです。ありがとうございました !!
動画も公開されたようです。
Demystifying JavaScript Engines
http://slides.com/a0viedo/demystifying-js-engines#/
https://github.com/a0viedo/demystifying-js-engines
http://togetter.com/li/1047918
JavaScript エンジンについてのセッション。 2006 年ごろの牧歌的なインタープリターのハナシからはじまって、 JIT のかけ方、各実装ごとの最適化のかけかた、 Garbage Collection の実装まとめまで。
最後の話題である GC について↓あたり読めばいいかも。
- http://seesaawiki.jp/w/author_nari/
- https://blogs.msdn.microsoft.com/abhinaba/2009/01/25/back-to-basic-series-on-dynamic-memory-management/
- http://stackoverflow.com/questions/1611628/whats-wrong-with-mark-and-sweep-gcs
個人的に JavaScriptCore の GC が copying conservative で漢の実装になっているのが興味深い。
Debugging Node.js Performance Issues in Production
裏の NES のトークを聞いていたけどあとで他の方から内容聞いておもしろいと思った。
production 環境でデバッグするためのテクニック。
console.time
〜 console.timeEnd
で任意の処理を計測できるが、標準ではないみたい。
perf で関数単位の処理などを可視化できる。
- https://nodesource.com/blog/node-js-v4-4-0-release-brief/
- http://int.main.jp/txt/perf/
- https://www.npmjs.com/package/0x
Cybozu社のエンジニアの育て方と開発環境
http://togetter.com/li/1047949
http://www.slideshare.net/teppeis/kaizen-68803503
最近、自分の立ち位置も似てきているのでかなり勉強になった。
技術的負債 KAIZEN
- KAIZEN DAY / KAIZEN 合宿 / KAIZEN 会議
リモートワーク KAIZEN
- 採用戦略としてのリモートワーク
- 情報格差の改善
- しゃべったことの都度記録
- 会議の事前準備超重要
- なにやってるかわからない問題の解決
- ローカルでも規模が大きくなると出てくるのでリモートワーク特有ではない気がする
- リモートワークで可視化されやすいという問題
- 孤独感
- 個人的にはあまり感じたことないので感じたことのある方からお話し聞いてみたい
- リモートワークが普通である環境
- Amazon から荷物届くのでリモートワークしますが言える
- 全員いちど体験してみる
- 「オフィスにいるひとがえらいわけではない」精神
「ひとを動かすのは権限ではなく理想への共感」
セッションでさらっと紹介されている JavaScript の現状がわかるサイト↓がおもしろい
Node.js and Web Standards
-
URL.parse
は標準準拠じゃないという事実- v7 expeimental で追加された
new require('url').URL('http://example.com/foo')
とするのがよい - https://github.com/nodejs/node/pull/7448
- v7 expeimental で追加された
- HTTP/2 対応は nghttp2 を使って実装中
- v8 で experimental にしたいとのこと
Why to Standardize your READMEs
聞いていなかったけど togetter を追うとみんながまず目を通すところなので整備するのはよい着眼点だと思った
↓で標準化が捗るとのこと。
最小構成が↓か…。
The journey toward ES modules
https://docs.google.com/presentation/d/1J9mN3N1KZXGwn7ufrv9UAIiUzKo8zsQaQwIKseebjzo/edit#slide=id.g18cb3b1c5f_0_263
http://togetter.com/li/1048004
tc39 のなかのひとのお話し
- CommonJS と ES Modules でどう違っていて、どう標準化しようか、という話題
- ↓をみておくとスッと内容が入ってくる
- http://www.slideshare.net/teppeis/you-dont-know-es-modules
-
.mjs
という拡張子で ES Modules を書こうという流れになっている - 「個人的には Babel はどっちにも準拠していないから無視して進めていいと思ってる」という発言で笑いがおきた
- けど、これで日本国内の空気もちょっと変わるかもしれない
- 一応「ただし、壊れないようにみんなでがんばろうという気持ちがある」とも言っていた
Browser is the new server
裏を聞いていたんだけどかなり面白いセッションだったとのこと。
http://slides.com/bahmutov/browser-is-the-new-server-nodefest#/
http://togetter.com/li/1048050
Service Worker 上に express をたてて実用化するハナシで、ネタかと思いきや offline 対応などについてはかなり現実的な解になりそう。
JavaScript による並列処理:共有メモリとロック
https://speakerdeck.com/chikoski/20161113-nodefest
http://togetter.com/li/1048054
Mozilla Japan の方によるセッション
Mozilla がなぜ org としてやっているのかについて、「異なる価値観・アプローチで同じ問題を解くと多様性を生む」からというのが rock でよかった。
内容的には C 言語から続く由緒正しいスレッドプログラミングを JS でもできるようになりましたよというハナシ。
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Atomics
Lightning Talks
WebAssemblyに欠けている大事なもの
C++ だとエコシステムってのが存在しないよねというハナシ
みんな Rust に注目してるんだなあということがよくわかったセッション
From Library to Tool - power-assert as a General Purpose Assertion Enhancement Tool
https://speakerdeck.com/twada/from-library-to-tool-power-assert-as-a-general-purpose-assertion-enhancement-tool
http://togetter.com/li/1048078
t-wada さん、思想を体現していてめちゃくちゃかっこいい。
- evolve slowly + easy to learn to write => power-assert
- empower で power-assert の tool 化完了
RuntimeJS Playground
http://runtimejs.org/
https://github.com/groundwater/runtime-playground
ハードウェアを JS で直接いじるはなし。
あたまおかしい ( ほめ言葉。
デモで使っていたこの terminal がかっこよかった。