Node v0.12.0

6 лютого вийшла нова версія мажорна Node.js v0.12. Це був тривалий і важкий процес, не без втрат для NodeJS, в результаті якого від основної гілки відокремився io.js, але, тим не менш, список нововведень досить значний. Давайте подивимося.

Streams 3

Як обіцяють розробники, реалізація потоків тепер працює так, як очікується. Причому найголовніше, що старі API, введені в v0.10, не змінилися.

Доданий механізм cork/uncork для додатків, які кілька разів синхронно пишуть в потік. .cork() включає буферизацію для всіх записів в потік, .uncork() ж скидає весь буфер.

HTTP

Параметр maxSockets більше не обмежений 5. За умовчанням він встановлений в Infinity. Так що тепер розробник, або операційна система, можуть вирішувати, скільки одночасних з'єднань може підтримувати додаток.

Також змінено поведінка KeepAlive сполук. Тепер вони будуть залишатися відкритими до тих пір, поки не закінчиться їх час життя (timeout) або віддалений хост не розірве з'єднання. Таким чином, перестануть працювати запити для продовження часу життя сокета і бібліотеки, що використовує цю механіку.

Cluster

Додано round robin режим роботи. Він тепер буде працювати за замовчуванням. У цьому режимі майстер буде приймати нові з'єднання і розподіляти їх по worker-процесів.

child_process

Додано методи spawnSync/execSync для синхронного породження дочірнього процесу. По-моєму дуже зручна функція для написання яких-небудь системних скриптів. Не потрібно буде більше городити локшину з callback'ів

Buffer

Оновлений механізм виділення пам'яті для буферів, розробники обіцяють зменшення споживаної пам'яті та прискорення роботи garbage collector'а з буферами.

Crypto

Додано метод crypto.setEngine(engine[, flags]), що дозволяє використовувати свої криптографічні алгоритми.
Додано методи для шифрування/де-шифрування публічними і приватними ключами (на даний момент підтримується тільки RSA).

crypto.publicEncrypt(public_key, buffer)
crypto.privateDecrypt(private_key, buffer)


Додано клас Certificate.

VM

Дуже цікавий модуль для виконання коду в пісочниці. Тонкощі й подробиці можна подивитися документації.

З сумного. Цей реліз, як і очікувалося, вийшов з версією V8 3.28.73. Це означає, що там немає нових фіч з ES6 Harmony. Це, до речі, головна причина, по якій хлопці з io.js пішли робити свій форк.

Взагалі, измнения я описав-далеко не все, більше подробиць можна побачити тут і тут.

Як завжди, завантажити новий Node.js можна на офіційному сайті.

Дякую за увагу.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.