Что такое Node.js? [закрыто]

  1. 2 ^ 53 - размер значащей / мантиссы 64-битного числа с плавающей запятой, включая скрытый бит.
  2. Примерно да, поскольку sifnificand фиксирован, но экспонента изменяется.
  3. Дополнительную информацию см. в статье wikipedia .

506
задан Peter Mortensen 22 June 2013 в 09:11
поделиться

4 ответа

Я думаю, что преимущества следующие:

  1. Веб-разработка на динамическом языке (JavaScript) на невероятно быстрой виртуальной машине (V8). Он намного быстрее, чем Ruby, Python или Perl.

  2. Способность обрабатывать тысячи одновременных соединений с минимальными накладными расходами для одного процесса.

  3. JavaScript идеально подходит для циклов событий с объектами функций первого класса и замыканиями. Люди уже знают, как использовать его таким образом, использовав его в браузере для ответа на инициированные пользователем события.

  4. Многие люди уже знают JavaScript, даже люди, которые не утверждают, что они программисты. Это, пожалуй, самый популярный язык программирования.

  5. Использование JavaScript на веб-сервере, а также в браузере уменьшает несоответствие импеданса между двумя средами программирования, которые могут передавать структуры данных через JSON, которые работают одинаково с обеих сторон уравнения. Повторяющийся код проверки формы может быть передан серверу и клиенту и т. Д.

213
ответ дан 22 November 2019 в 22:35
поделиться

Ну, Я понимаю, что

  • Цель Node - предоставить простой способ создания масштабируемых сетевых программ.
  • Node похож по дизайну на такие системы, как Ruby's Event Machine или Python's Twisted.
  • Evented I / O для V8 javascript.

Для меня это означает, что вы были правы во всех трех предположениях. Библиотека, безусловно, выглядит многообещающе!

6
ответ дан nes1983 22 June 2013 в 09:11
поделиться

V8 is an implementation of JavaScript. It lets you run standalone JavaScript applications (among other things).

Node.js is simply a library written for V8 which does evented I/O. This concept is a bit trickier to explain, and I'm sure someone will answer with a better explanation than I... The gist is that rather than doing some input or output and waiting for it to happen, you just don't wait for it to finish. So for example, ask for the last edited time of a file:

// Pseudo code
stat( 'somefile' )

That might take a couple of milliseconds, or it might take seconds. With evented I/O you simply fire off the request and instead of waiting around you attach a callback that gets run when the request finishes:

// Pseudo code
stat( 'somefile', function( result ) {
  // Use the result here
} );
// ...more code here

This makes it a lot like JavaScript code in the browser (for example, with Ajax style functionality).

For more information, you should check out the article Node.js is genuinely exciting which was my introduction to the library/platform... I found it quite good.

85
ответ дан 22 November 2019 в 22:35
поделиться

Закрытия - это способ выполнения кода в том контексте, в котором он был создан.

Для concurency это означает, что вы можете определить переменные, затем инициировать неблокирующую функцию ввода-вывода и послать ей анонимную функцию для обратного вызова.

Когда задача будет выполнена, функция обратного вызова будет выполняться в контексте с переменными, это и есть замыкание.

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

13
ответ дан 22 November 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: