Node.js学习心得

Posted 抖音的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js学习心得相关的知识,希望对你有一定的参考价值。

            最近花了三四周的时间学习了Node.js ,感觉Node.js在学习过程中和我大学所学的专业方向.NET在学习方法上有好多的相似之处,下面就将我学习的心得体会以及参考的资料总结归纳如下,希望对于刚入门的网友有些帮助吧!

          一、Node.js简介

         1.1 简介

                     Node.js是一个让javascript运行在服务器端的开发平台,它让JavaScript的触角伸到了服务器端,可以与php、JSP、Python、Ruby平起平坐。

            但Node似乎有点不同:

                   ● Node.js不是一种独立的语言,与PHP、JSP、Python、Perl、Ruby的“既是语言,也是平台”不同,Node.js的使用JavaScript进行编程,运行在JavaScript引擎上(V8)。

                   ● 与PHP、JSP等相比(PHP、JSP、.net都需要运行在服务器程序上,Apache、Naginx、Tomcat、IIS),Node.js跳过了Apache、Naginx、IIS等HTTP服务器,它自己不用建设在任何服务器软件之上。Node.js的许多设计理念与经典架构                 (LAMP = Linux + Apache + mysql + PHP)有着很大的不同,可以提供强大的伸缩能力。一会儿我们就将看到,Node.js没有web容器

           官网:https://nodejs.org/en/

           1.2 特点 

                  单线程:单线程的好处,减少了内存开销,操作系统的内存换页。

                             如果某一个事情,进入了,但是被I/O阻塞了,所以这个线程就阻塞了。

                 非阻塞I/O:不会傻等I/O语句结束,而会执行后面的语句。

                             非阻塞就能解决问题了么?比如执行着小红的业务,执行过程中,小刚的I/O回调完成了,此时怎么办??

                 事件机制,事件环:不管是新用户的请求,还是老用户的I/O完成,都将以事件方式加入事件环,等待调度。

           1.3 适合开发什么?

                Node.js适合用来开发什么样的应用程序呢?善于I/O,不善于计算。因为Node.js最擅长的就是任务调度,如果你的业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不适合Node开发。

               当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与web socket配合,开发长连接的实时交互应用程序。

              用户表单收集

    ● 考试系统

    ● 聊天室

    ● 图文直播

 

       1.4 Node.js无法挑战老牌3P

                                                


 

 

 

以上是关于Node.js学习心得的主要内容,如果未能解决你的问题,请参考以下文章

Request —— 让 Node.js http请求变得超简单

我在谷歌大脑见习机器学习的一年:Node.js创始人的尝试笔记

Node.js学习07:学习资源(书籍+网站+视频)汇总!

系列文章--Node.js学习笔记系列

Node.js学习四 Node.js回调函数

《基于Node.js实现简易聊天室系列之引言》