Node.js v0.12 がリリースされました。
Node.js v0.12 がリリースされました。
さてさて、さいきんずっとio.jsの話をしてましたが、この度Node.js v0.12がリリースされました。
これまでずっとNode.js v0.12でどう変わるのかを話してましたが、この際一度、何が変わったのかおさらいしておきましょう。
Stream3
Stream3については前に一度この記事で話しました。
Stream今昔物語 - from scratch
Stream2にあったold modeの概念がなくなり、Stream1とStream2の両方のAPIに対応されAPIがシンプルになりました。
Stream中のバッファに出力するcorkとそのバッファからflushするuncorkがWritableStreamに追加されました。これによってデータを出力させずに強制的にバッファリングさせたり、バッファ中のデータを強制的にflushできるようになりました。
HTTP
- maxSocketsというHTTPのsocket数が無限に拡大されました。今まではデフォルトで5に設定されていたため、デフォルトでは5つまでしかsocketが作れませんでした。つまり並列に5つ以上のHTTPリクエストがデフォルトで作られるようになりました。
- KeepAlive の際にtimeoutオプションが指定できるようになりました。
- flushHeadersと呼ばれるリクエストヘッダーをflushする事ができるようになりました。
Cluster
Clusterでroundrobinが行われるようになりました。これにより、masterはきちんとworkerに処理を順番に振り分けるようになりました。
Buffer
- メモリ効率の向上とそれによるGC影響が軽減されるため、全体的に効率化されています。
child_process
- child_process.execSyncとchild_process.spawnSyncという同期処理実行用のメソッドが追加されました。これにより、いわゆるタスクランナーとしての実行時に別コマンドを実行するといった処理が効率的に書けるようになりました。
前にこういうのを書いたので、参考にしてもらえると助かります。
Crypto
VM
- sandboxで起きた変更を引き継げるようにするため、Contextifyモジュールを使うように変更されました。
ECMAScript Internationalization API
- Intl と呼ばれる国際化対応用のAPIが追加されました。(ただし、Node.jsでは英語用のデータしか使えません。)
詳しくはここを参照してください。
ECMAScript6 対応
- ES6系の機能もいくつか追加されています。詳しくは僕の資料をご一読ください。
感想
やはり、NodeSummit前にきっちり出してきたな、という印象です。このNodeSummitでどんな話があるか、すごく楽しみです。
ただ、個人的にものすごく気になってるのは、Future of Node.js のセッションで、まだ発表者がアサインされてないんですよね。
ここで新しくリーダー発表か、とか感じてるんですがどうなるんですかね。
このへんの話も含めて東京Node学園でできると幸いです。