今度は銀座で会長が遅刻してくる回。
Node v8 by abouthiroppy
Node v8
- 新たなLTSバージョン
- 高速化がメインのアップデート
- WebAssemblyがデフォルトで有効に
- TURBOFUN
- https://github.com/v8/v8/wiki/TurboFan
- V8に最適化されたJITコンパイラ
- ES2015+なコードにも対応できるように
- 従来のCrankshaftではそこが難しかった
- IGNITION
- リリースは05/30
おすすめアップデート内容
- N-API
- `fs`で`file://`読めるように
- `whatwg-url`
- さよなら`node --debug`
- `Promise`内のエラーのStackTraceが改善
- `util.promisify()`
- Shared memory and atomics 以外のES2017が使える
- etc...
細かすぎてメモ取ってられないので、気になる人はリリースノートをどうぞ・・!
[WIP] 8.0.0 Release Proposal by jasnell · Pull Request #12220 · nodejs/node · GitHub
Introduction to Rust by Akito0107
Rust
- The Rust Programming Language
- 2015年10月にv1.0
- マルチパラダイムの言語
- System / Networkプログラミングに強い
- LLVM!WebAssembly!
- 文法がモダンとかもあるけどもそれよりもメモリ管理が賢い
- 所有権という概念
メモリ管理について
Rustのメモリ管理
Rustの何がいいの
- 所有権によるメモリ管理の安全性
- 並列処理でも
- コンパイルできた = メモリ安全なコード
- パターンマッチやエラー処理の記述も洗練されてて嬉しい
Rustを何に使おうか
- CPU Intensiveな処理
- 高スループットを求められるミドルウェア
- URLに画像の情報を含めて、imageMagickで変換して返すやつ書いてみた
- EventLoopでやるパターンと、EventLoop + MultiThreadのパターン
- 前者は同時接続数が増えると、徐々にパフォーマンスが落ちていった
- これからはhttpサーバー実装を書き直すところからやっていこうかと
Cycle.js by wakasmha
資料は見つけたら
リクルートのブログでRxのこと書いてた人。
Cycle.jsとは
- GitHub - cyclejs/cyclejs: A functional and reactive JavaScript framework for predictable code
- Observable + VirtualDOM = Cycle.js
- `rxjs`ではなく`xstream`という軽量版でも
- VDOM実装は`hyperscript`
- GitHub - snabbdom/snabbdom: A virtual DOM library with focus on simplicity, modularity, powerful features and performance.
コードの特徴
- `main()`と`driver()`という区別に分ける
- `main()`の範囲ではObservableを使ったStateの管理を
- `driver()`の範囲ではそれ以外の処理を(描画・API・・etc)
- この2つが流れるサイクルでやっていくからCycle.js
初めてのOSS初めてのNode.js contribute by chiiia12
学び
- PullRequestに対する抵抗がなくなった
- 有名な人にレビューしてもらえる!
- レビューが勉強になる
- GitHubにも詳しくなる
- `Land`の意味を知る
何から始めればいいか
- テスト
- 表示崩れ
- チュートリアルを実際に動かしてみて気付いたこと
v8のインタープリタについて by brn0227
資料は見つけたら
Ignition interpreter
- V8にはインタープリターがなかった
- 特定のケースでコードサイズがデカくて辛い
- 今まで
- JS
- AST
- FullCodegen
- これから
- JS
- AST
- Ignition <- new!
Ignitionの中身
- Bytecode generator
- Bytecode execution
- IgnitionはASTをBytecodeに変換して
- そのBytecodeをブラウザはV8経由で実行する
Turbofan
- InlineCaching
- 今までよりオーバーヘッドが減ったらしい
Slack CodeGolf by darai0512
資料は見つけたら
- Slackでコードゴルフする話
- 他人と競える順位だけわかる
- Slack <-> Heroku <-> Docker
- 外部コマンドでチートすると却下するとか
自分の発表の後でわたわたしててあんまりメモれんかった・・。