当前位置: 首页 > 面试题库 >

为什么以及何时使用Node.js?

平庆
2023-03-14
问题内容

抱歉,如果我有点模棱两可,但是我试图了解使用Node.js而不是其他服务器端语言的真正优势。

我是JavaScript爱好者,所以我可能会玩Node.js,但我想知道是否应该在项目中使用它。


问题答案:

在V8上发生了异步非阻塞I /
O
构建。

因此,我们拥有了Google
JavaScript解释器V8的所有性能提升。由于JavaScript性能竞赛尚未结束,您可以期望Google不断更新V8上的性能(免费)。

我们有无阻塞的I / O,这只是进行I / O的正确方法。这基于事件循环,并为您的I / O使用异步回调。

它为您提供了有用的工具,例如创建HTTP服务器,创建TCP服务器,处理文件I
/ O。

这是一个底层高性能平台,可以执行任何类型的I / O,而无需从头开始用C编写整个事情。由于无阻塞的I / O,它的扩展性非常好。

因此,如果您想使用非阻塞I /
O编写高度可扩展且高效的应用程序,同时又可以使用高级脚本语言,则希望使用Node.js。如果需要,您可以通过使用C编写扩展来手动优化部分代码。

有大量的Node.js操作系统库可以为您提供抽象,例如Express.js和now。

如果希望(慢速)高级抽象为您做所有事情,则不想使用Node.js。你不想,如果你想使用Node.js的RAD。如果您无法负担起一个年轻的平台,则不想使用Node.js,这可能是由于必须自己编写大量代码来完成内置在其他框架中的事情,或者是因为您无法使用Node.js,因为该API尚不稳定,或者它是Sub 1.0以下版本。



 类似资料:
  • 问题内容: 我一直在将从服务接收的所有数据直接保存到局部变量,控制器或范围。我认为这将被视为浅表副本,对吗? 最近,有人告诉我使用angular.copy来创建深层副本。 但是,当我的Angular应用程序使用深层复制信息时,它们似乎以相同的方式工作。 使用深层副本(angular.copy)有什么特别的好处,请您向我解释一下吗? 问题答案: 将对象或数组的值分配给另一个变量时, 请使用angul

  • 我现在正在尝试学习Spring Security,我已经看到了许多使用它的不同例子。我知道CSRF是什么,Spring Security默认启用了它。我很想知道的是这种定制。 这一行是什么样的定制,以及何时适合使用它。如果有人能给我一个简单的解释,我将不胜感激。

  • 问题内容: 为什么以及何时应该在php中使用该函数?使用后是否应该始终使用它?我读到我必须使用它来防止会话固定,这是唯一原因吗? 问题答案: 什么啊 就像函数名称所说的那样,它是一个函数,它将用新的ID替换当前的会话ID,并保留当前的会话信息。 它有什么作用? 它主要有助于防止会话固定攻击。会话固定攻击是恶意用户试图利用系统中的漏洞固定(设置)另一个用户的会话ID(SID)的地方。这样,他们将拥有

  • 所有其他唤醒锁都是有意义的,例如开发人员希望在执行某些操作时屏幕不会关闭。但在部分唤醒锁定文档中说: 如果您保持部分唤醒锁定,CPU将继续运行,而不考虑任何显示超时或屏幕状态,甚至在用户按下电源按钮后。在所有其他唤醒锁中,CPU将运行,但用户仍可以使用电源按钮将设备置于睡眠状态。 这是否意味着在执行某些操作时CPU可能会关闭?是否需要在服务中获取唤醒锁?

  • 问题内容: 有人向我解释什么和是谁? 我感到困惑的用例都和。 如果您还可以包括一段代码来进行解释,那将是很好的。谢谢! 问题答案: 的目标和是抽象不同的方式来输入和输出:流是一个文件,网页,或者屏幕不应该的事。重要的是您从流中接收信息(或将信息发送到该流中。) 用于阅读许多内容。 用于写很多东西。 这是一些示例代码。它假定和已经创建:

  • 问题内容: 我最近从.NET切换到J2EE,并且对放置JAR文件的位置感到困惑。我知道CLASSPATH,WEB-INF和Eclipse的Java Web Path都是可以存储JAR的地方,但是我对于使用哪个文件夹,何时以及为什么感到困惑。 首先,我们有CLASSPATH。我通常通过进入“我的电脑”中的“环境变量”来进行设置。我知道这是Java编译器查找JAR文件的默认位置。当我在CLASSPAT