25 октября 2010 в 22:30

Node.js v0.2.4 и ожидаемые улучшения в ветке v0.3.x

Прошедшие выходные могут похвастаться двумя релизами Node.js: очередной минорной версией в ветке v0.2.x и официальным релизом ветки v0.3.x.
И пусть разрабатываемая ветка всё ещё отмечена как «нестабильная», в ней ожидаются существенные улучшения производительности, переносимости и добавление новых возможностей, о которых стоит знать уже сейчас. Тем более, что эта версия уже вполне работоспособная.
Также в конце топика бонус в виде ссылок на репозитории пакетов Node.js v0.2.x и NPM (Node.js package manager).

Изменения в версии 0.2.4:

  • Добавлена опция --eval, позволяющая выполнять передаваемый в виде строки JavaScript код (аналог perl -e или php -r).
  • Исправления в модуле работы с сетью:
    • Добавлена возможность начинать запись в очередь до завершения соединения.
    • В случае неудачной попытки закрытия соединения очередь записи теперь не очищается.
    • Исправлен баг с частой проверкой освободившихся дескрипторов в случае достижения лимита соединений (Do not spin on accept() with EMFILE).
  • Добавлена опция --max-stack-size для ограничения максимального размера стека V8 (V8 также сам по себе поддерживает опции для ограничения размера используемой движком памяти).
  • Исправлены ошибки в функции child_process.exec(), связанные завершением порождённого процесса (теперь он происходит с помощью сигнала SIGTERM, а не SIGKILL).
  • Исправлены ошибки некорректного освобождения ресурсов при завершении работы Node.
Скачать дистрибутив: nodejs.org/dist/node-v0.2.4.tar.gz
Документация: nodejs.org/docs/v0.2.4/api.html

Изменения в версии 0.3.0 (unstable):

  • Все описанные выше исправления для версии 0.2.4.
  • Множественные улучшения модуля readline.
  • Исправлен баг с повреждением памяти при некорректном вызове конструкторов.
  • Исправлена функция process.nextTick(), теперь исключения в функции обратного вызова не повлияют на её работу Node.
  • Заново переписаны буферы, достигнуто значительно ускорение работы с ними.
  • При компиляции модулей по умолчанию добавлены флаги -D_FILE_OFFSET_BITS=64 и -D_LARGEFILE_SOURCE.
  • Упрощён разбор строки HTTP запросов.
  • Добавлена поддержка HTTP 100 ответа сервера.
  • Упрощена система модулей:
    • Удалены методы require.async() и require.registerExtension(), добавлено свойство require.extensions[].
    • Добавлено публичное API для require.resolve() и require.cache[].
  • Изменёно форматирование запятых в выводе in sys.inspect(), добавлен вывод имён функций.
  • Константы выделены из process в отдельный модуль require('constants').
  • Исправлен разбор количества используемой памяти в Linux для программ с пробелами в имени.
  • Модуль sys переименован в util.
  • Исправлен баг с невозвращением неблокируещего статуса потоку stdio при прекращении программы по сигналам SIGTERM и SIGINT.
  • Улучшено декодирование base64 строк с дополнительными символами(например пробелами и переводами строк).
  • Добавлена возможность переопределять и добавлять команды в REPL.
  • V8 обновлен до версии 2.5.1, Libev до версии 4.00, также обновлены libeio и http-parser.
  • Другие исправления и улучшения в модулях crypto, fs, http и net.
Скачать дистрибутив: nodejs.org/dist/node-v0.3.0.tar.gz
Документация: nodejs.org/docs/v0.3.0/api.html

Для тех, кто любит *nix ещё и за удобную работу с ПО за счёт пакетных менеджеров, у меня есть небольшое дополнение:
Я собрал на openSUSE BuildService пакеты для Node.js ветки v0.2.x и NPM (Node.js package manager). Пользуйтесь на здоровье ;-)
Олег Ефимов @Sannis
карма
88,0
рейтинг 0,0
Senior PHP Developer
Похожие публикации
Самое читаемое Разработка

Комментарии (12)

  • 0
    Люди, подскажите plz. Давно хочу поковырять node.js, но ставить из-за него виртуалку не хочется. Под виндой до сих пор нет способа поставить иначе?
    • +2
      Отчего же, он компилируется под Cygwin. Есть и бинарный дистрибутив, node-js.prcn.co.cc/, правда обновляется с запозданием.
      • +4
        Очень понравился комментарий на русском в конце страницы :)
        • +1
          Да, комментарий хорош )
    • +4
    • 0
      Пошаговая установка node.js на windows habrahabr.ru/blogs/javascript/107232/
  • +4
    node.js очень перспектиная штука. Чем больше копаю – тем больше нравится.
    • 0
      Если не сложно, напишите пару слов, что вам нравится
  • 0
    почему future is here? :)
    • 0
      Намёк про v0.3.x, ничего личного :-)
  • +1
    Я вот честно тоже заинтересовался этим ПО.

    Только есть вопрос. А на нём можно писать веб приложения, к примеру простые CMS или же как Project Management?

    Спасибо за ответ
    • +1
      Вполне. Можете посмотреть примеры уже написанных приложений: github.com/ry/node/wiki

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.