More Related Content Similar to Node最新トピックス (20) More from shigeki_ohtsu (17) Node最新トピックス8. Nodeの開発体制
Core Technical Committee
• Technical Direction
Node.js Foundation
• Business Direction
• マーケティング
Collaborator
• コードレビュー、コミット
• Issue/PRの処理
Working Groups
• いろいろ(*1)
エスカレーション
(*1) https://github.com/nodejs/node/blob/master/WORKING_GROUPS.md
9. test・CIの改善
https://ci.nodejs.org/
• NodeがサポートするCPU/OSは多種多様
• CPU: arm, arm64, ia32, mips, mipsel, ppc, ppc64, x32, x64, x86
• OS: win, mac, solaris,freebsd, openbsd, linux, android, aix
• テスト(1000近く)も非同期タイミングでエラーになるものも多かった。
Merge前に必ず実施
10. CITGM
• Canary In The Gold Mine(いわゆるsmokeテスト)
• これまでバグ修正やAPI追加・変更でユーザモジュー
ルにどういう影響があるのかリリースしないとわか
らなかった。
• expess, lodash, glup等利用者が多いユーザモジュー
ルのテストをCIとして実施。リリース前にその影響
を把握し対応する。
開発中
https://github.com/nodejs/citgm
12. Express
• IBMによるStrongLoopの買収に伴い Express の
開発もIBM配下で行われるようになった。
• Expressの開発をより充実したものにするため
Node.js Foundation の incubator projectに移す
ことが話し合われている。
• 具体的にどのような形になるのか以下でアナウンス
• https://github.com/nodejs/TSC/issues/44
14. Chakra Node
• 大きく2つの機能追加
1. ビルド時の指定によるJSEngine追加(V8ShimによるChakraCore
のサポート)、 defaultはV8
2. Windows ARM のサポート
• 現在はWindows OSのみサポート
• Windows用に最適化された chakra.dll(非公開)とのリンクも想定して
いるもよう。
• Windows Azure, Windows 10 IOT, XBox, Windows Phone 等での
利用を想定しているのかも(個人的な予想)
議論中
20. うーん、どうしましょう
• Buffer() コンストラクタの廃止(soft deprecation)
• Buffer.allocUnsafe(size)
• Buffer.alloc(size[, fill])
• Buffer.from(data[, encoding)
• --zero-fill-buffersオプションの導入
(注意:API名・機能は変わる可能性があります。)
議
論
中
新APIの導入
議論中
21. Promise
• JavaScript の非同期処理のためのクラス
• 当初Nodeで独自実装されていたが、Node-v0.1.30で完
全削除された。
• Promiseがまだ仕様化されておらず、ユーザからの要求が
多種多様でまとまらないと判断し、単純なコールバック方
式のみサポートすることに。
• ES2015で標準化。前倒しでV8で実装されNode-v0.11.13
より復活した。
22. Promise API
• Node Core APIでPromiseのサポート
• コールバック方式は維持し、コールバックを指定しないと
Promiseが返る
fs.readFile( hoge.txt', 'utf8').then((words) => {
console.log(`a picture is worth ${words.split('n').length} words.`);
}, (err) => {
console.error('there are no words.');
});
議論中
24. Promise API
• 3rd partyのPromiseも使えるようにする
• process.setPromiseImplementation(require('bluebird'));
• エラー処理(Domain, unhandledRejection, post-
mortem debug)について要検討
• 当初はオプションフラグで有効化
議論中
今後どうなるのかまだわかりません。