Рубрика «Node» - 6

[фото]Большинству программистов на языке JavaScript, успевших ознакомиться с Node.js, хорошо известен модуль fs, который в API Node служит для доступа к файловой системе.

Matthew Phillips (на фото справа) предпринял успешную попытку создания во браузерном (клиентском) джаваскрипте частичного аналога этого нодовского модуля. Исходный код, опубликованный им на ГитхабеЧитать полностью »

Приход Node на Android: первые шагиПозавчера на Гитхабе в репозиторий Node.js был принят тот код, посредством которого Linus Mårtensson учёл небольшие, но важные различия в поддержке Android и стандартных POSIX-систем. Также появился автоконфигуратор, позволяющий собрать Node для Android за два шага:

  1. source ./android-configure ~/android-ndk-r8d (второй параметр — это путь к NDK)
     
  2. make -j8 (сборка андроидосовместимых бинарников)

С этим достижением не всё ещё гладко (вон там, например, поступило предложение получше подстраиваться под шестидесятичетырёхбитные системы). Однако новость ужé такова, что можно подпрыгнуть от радости! Со времён начала прямой (а не под cygwin) поддержки Windows-версии Node (а это было давным-давно — в 2011 году) не случалось ещё ни одного столь же заметного шага в направлении совместимости между Node и новыми (ранее не поддерживавшимися) операционными системами.

Сразу скажу, впрочем, что у меня эта новинка пока что оставляет больше вопросов, чем ответов.

Читать полностью »

Я рад объявить о выходе новой стабильной версии Node.

Переход на неё приносит значительные улучшения во многих областях, сосредоточенные на улучшении API, на простоте употребления, на обратной совместимости.

Весьма краткий обзор значимых изменений API по сравнению с v0.8 читайте, пожалуйста, на странице вики об изменениях API.

Streams2

В предыдущей блогозаписи мы представили вам изменения API, названные «Streams2». Если вы не успели осмотреть их, прочтите, пожалуйста, теперь хотя бы тогдашний подраздел «tl;dr».

Изменения интерфейса потоков подготавливались давно. С самых ранних дней Node всем нам было вроде как известно, что «события data начинают сразу поступать» и «вызов pause() не обязательно оказывает эффект» — это страшная и ненужная фигня. В версии 0.10 мы наконец поднапряглись и устроили коренные изменения, улучшившие поведение потоков.

Что ещё важнее, теперь все потоки в ядре Node устроены на основе одного и того же набора легко расширяемых основных классов, так что поведение их стало гораздо предсказуемее, а также небывало упростилось создание потоковых интерфейсов для ваших собственных пользовательских программ.

По правде говоря, API Streams2 разрабатывался по мере использования его для модулей из реестра npm. В настоящий момент 37 опубликованных модулей Node ужé пользуются библиотекою readable-stream в качестве одной из своих зависимостей. Пакет readable-stream для npm позволяет использовать новую форму интерфейса Stream в вашем прежнем коде v0.8.

Читать полностью »

Между регулярными выражениями в JavaScript и регулярными выражениями PCRE (употребляющимися в Perl и в PHP) есть ряд различий, главнейшим из которых, вероятно, является отсутствие lookbehind (ретроспективной проверки) в JavaScript.

Естественной задачею программистов, раздражённых этими различиями, является внедрение PCRE в JavaScript.

На движке Node к концу нынешнего января Брайан Уайт (Brian White) решил эту задачу, создав модуль node-pcre, служащий обёрткою вокруг движка PCRE.

Этому можно порадоваться, и порадуемся.

Однако node-pcre,Читать полностью »

TL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

JavaScript: от начала до концаУ JavaScript очень удивительная судьба. Он преодолел путь от самого не понимаемого до самого удивительного языка. У него было тяжелое детство:
Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
Читать полностью »

Начал изучать NodeJS. Нигде не нашел актуальный стек библиотек (технологий) применяемых в node. Поэтому решил сам составить список.
Читать полностью »

в 12:02, , рубрики: Node, node.js, nodejs, обновление ПО

Я необыкновенно рад объявить о выходе новой стабильной версии Node.js.

По сравнению с выпусками Node версий 0.6 новый выпуск обеспечит существенное улучшение многих ключевых показателей производительности, а также более ясные встроенные API и появление новых средств для отладки.

Вкратце

С приходом версии 0.8.0:

  1. Node стал гораздо быстрее.
     
  2. Node стал стабильнее.
     
  3. Снова можно работать с дескрипторами файлов.
     
  4. Модуль cluster стал куда более умопотрясающим.
     
  5. Был добавлен модуль domain.
     
  6. Модуль repl стал лучше.
     
  7. Система сборки waf заменилась на gyp.
     
  8. Также случились некоторые другие изменения.
     
  9. Внизу блогозаписи — ссылки на установочные файлы Node.

Читать полностью »

Послезавтра (25 июня) вероятным будет выпуск очередной стабильной версии (0.8.0) движка Node.jsВерсия 0.8 движка Node.js подготавливалася давно, и вот постепенно становится понятно, что выпуск её вероятен послезавтра — 25 июня 2012 года.

На Гитхабе ужé состоялся коммит с упоминанием послезавтрашней даты, в списке ветвей кода появились ветки «v0.8» и «v0.8.0-release», во блоге Node 19 июня опубликовано сообщение о том, что версия 0.7.12 станет последнею в своей ветке 0.7.

Что же это будет означать для программистов на джаваскрипте, использующих движок Node для запуска своих скриптов? Чем обернётся обновление программного обеспéчения?

Исправления тех или иных ошибок в коде никак не повлияют на наше с вами программирование (если только прежде не приходилося специально обходить их), поэтому обратить внимание придётся прежде всего на накопившиеся мелкие изменения в API. К счастью, в вики Node на Гитхабе есть страница «API changes between v0.6 and v0.8», в которой все они аккуратно перечислены. Нетрудно обнаружить, что там их ≈60 штук, считая и нерекомендуемые, и удалённые, и изменённые, и вновь появившиеся возможности.

Читать полностью »

Внутри HTTP сервера, встроенного в Node, обнаружена уязвимостьМэтью Дэйли (Matthew Daley) выяснил, что в коде HTTP-сервера, встроенного в движок Node, есть ошибка или даже просто опечатка (используется «size» вместо «size_»), так что специально сформированным запросом к серверу можно добиться того, что сервер существенно переоценит реальный размер запроса и включит в него содержимое соседних чужих HTTP-запросов (например, частью переданной на сервер переменной станут чьи-нибудь чужие cookies; и если это будет переменная из числа тех, которые тотчас же выводятся на экран, то крякерская атака легко может оказаться успешною).

Всем пользователям Node версий 0.5.x и 0.6.x следует без промедления обновить Node до версии 0.6.17, а обладателям экспериментальных версий из ветки 0.7 следует обновиться до 0.7.8. (Версии 0.4.x не содержат этой ошибки, однако на вашем месте я бы их всё равно обновил, ибо они старьё.)

Об этом опубликовано оповещение во блоге Node.

Читать полностью »

в 5:09, , рубрики: Node, node.js, nodejs, метки: , ,

node getВ движке Node встроенным средством отсылки запросов к отдалённым web-серверам (и обработки полученных откликов) является метод http.request(), однако он оказывается чрезмерно низкоуровневым: если на дальнем конце настроено серверное перенаправление, то этот метод выдаст вам страницу с кодом HTTP 301 (или HTTP 302, или HTTP 303…), а не ту страницу или файл, на который перенаправление указывает.

Преодолеть этот недостаток помогает модуль node-get, разработанный организацией «Development Seed»: он автоматически обрабатывает перенаправления и получает окончательный отклик на отосланный запрос.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js