好的程序员web前端学习路线nodeJs学习过程理解nodejs,nodeJs只是听说,没见过,没玩过。新手入手,想慢慢掌握。 首先想知道什么是nodeJs?它是做什么用的。 来自node官网及网络:Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用事件驱动、非阻塞I/O模型,使其轻量且高效。Node.js是一个用于编写高性能Web服务器的JavaScript工具包,一系列的变化开始了。独特的是,Node.js假定运行Linux或MacOSX的POSIX环境。如果是在Windows下,则需要安装MinGW以获得类似POSIX的环境。在Node中,Http是第一位的。Node针对创建http服务器进行了优化,所以你在网上看到的大部分例子和库都集中在web上(http框架、模板库等)。 是做什么的?它用于网络服务器端;javascript工具包;并且与http有着密切的关系。快速构建网络服务和应用;封装谷歌v8引擎。nodeJs到底是什么?是一个服务端的js运行平台,一个javascript运行环境和库。你可以为后台系统或者服务端编写Javascript代码,交给Node.js解释执行。就像html遇到php,会被php解释,而jsp会被jvm解释执行。 他还有很多特点就不一一列举了。作为后起之秀的背景,Nodejs也有很多吸引人的特性:单线程、V8虚拟机、事件驱动、非阻塞IO;nodejs仍然可以在不添加额外线程的情况下处理任务——node是单线程的。它通过事件轮询的方式来运作,我们可以充分利用这一点,尽可能的避免阻塞,取而代之。 nodejs是做什么的?服务器类似于Java、Web应用程序等; 例如:varhttp=require('http');server=http.createServer(function(req,res){res.writeHeader(200,{"Content-Type":"text/plain"});res.end("Hello");})server.listen(8000);console.log("httpdstart@8000"); 确保nodejs环境安装成功,编译通过后,进入localhost:8000在浏览器的地址栏,你可以看到输出。nodeJS的优缺点 优点:1.高并发适合I/O密集型应用 缺点:1.不适合CPU密集型应用;大周期),会导致CPU时间片无法释放,从而无法发起后续I/O; 解决方案:将一个大的计算任务分解成多个小任务,使得计算能够及时释放,不会阻塞I/O调用的发起;只支持单核CPU,不能充分利用CPU可靠性低,一旦一部分代码崩溃,整个系统崩溃 原因:单进程,单线程 解决方案:(1)Nnigx反向代理、负载均衡、开启多个进程、绑定多个端口; (2)开启多个进程监听同一个端口,使用cluster模块;开源组件库质量参差不齐,更新快,不向下兼容Debug不方便,错误没有stacktrace
