总版块 公司八卦 新手教学 我在无界 理财交流 界宝生活 读书感悟 休闲一刻

部落首页 > 公司八卦

12页尾共2页,跳到

feel

楼主
12608 碎片
19帖子
2精华

体验nodejs有感

阅读:115 回答:13 发表在 公司八卦 发表于 [复制链接] |倒序浏览 |
使用道具

        学习nodejs技术已经有一周时间了,其中有几次想写点东西出来。但是打开编辑器发现第一句话就很不好写。nodejs到底是个什么东西呢?官方的解释就不提了,我来说一下我的理解。nodejs不是一门语言,因为你会发现所有代码都是JavaScript。nodejs也不是一个web框架,nodejs是一个平台,是一个解析器。


       学习nodejs可谓一路坎坷,书就不提了。查了一下图书馆有7种nodejs书籍,40本是全被借出。这个事说明了一个问题,nodejs正在发展,nodejs非常的火热。找不到书,只能在网上找一些教程和博客来看看,没办法系统的学习。但是经过一系列的死磕,还是找到了一些关键词:事件驱动,回调,非阻塞I/O,异步操作。一般在学习node的过程中,你还会接触到一些别的框架和技术,比如jade、ejs、express、grunt、bootstrap。。。。一般的教程没有单独的特别细致专注node本身的。所以我被这些模板引擎、构建工具、前端框架搞的晕头转向。最后自己也晕了,说好的node呢?


       事件驱动机制是Node.js通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求,Node.js凭借事件驱动搞定一切。举例说明一下大致的过程:你去请求nodejs服务器上的资源A,nodejs接受到请求后,调用一个函数去读取磁盘资源A。然后node服务器就不管了,去处理别的请求了。当A资源被读取完毕了,有一个回调函数被插入到nodejs服务队列中。当nodejs运行这个回调的时候,实际上就把A返回给浏览器了。这叫做事件驱动。


       非阻塞式IO的意思是指,在IO操作的同时,不影响其他事件的处理。相当于开辟了一个线程去干这事了。需要注意的是,nodejs可没办法这么做。nodejs是单线程的,只能一口一口的吃东西。说到底还是通过回调实现,和上面举的例子是一个道理。


       学习nodejs需要对JavaScript有个比较深入的理解和学习,闭包、匿名函数、作用域没搞清楚就别尝试了。还有对于后端 技术的了解个人认为也很重要。甚至我觉得nodejs的开发对于web流程的理解程度要求很高。不同于java或者PHP开发,nodejs的很多“web服务器”要做的事情都得自己来做。而且HTTP协议、路由、项目管理、大量的工具选择等等问题都是一种挑战。


0 1

帖子分享成功后,每一ID点击该
分享帖+1碎片,每日奖励上限10碎片

企业文化
最热评论

无色红笺

4801 碎片
70帖子
5精华
发表于 板凳
板凳奖励 +2

难得有个板凳,先做了再说

全部评论
楼层直达:

阿紫紫

17439 碎片
71帖子
13精华
发表于 沙发
沙发奖励 +3

技术GG的天书,进来看一眼就走。

发财

13507720

988 碎片
19帖子
0精华
发表于 地板
地板奖励 +1

nodejs到底是个什么东西呢?不知道也不想知道

梦の光

7480 碎片
40帖子
3精华
发表于 5 #

程序员的世界是我进不去的

平遥丽江

471 碎片
3帖子
0精华
发表于 6 #

这是比较深入的理解和学习,难度挺大的。

大道至简

689 碎片
36帖子
2精华
发表于 7 #

学习nodejs可谓一路坎坷,这也太专业了。

稳中求赚财源广进也是硬道理。

小小刀

810 碎片
24帖子
3精华
发表于 8 #

这么水的文章你给界宝们看,你的良心不会痛吗

慢慢走,比较快

老汉 本尘

14689 碎片
376帖子
4精华
发表于 9 #

技术层面的帖子,一目十行——过!

午后60年代

7221 碎片
238帖子
5精华
发表于 10 #

又是技术贴。。。。。。。

12页尾共2页,跳到
您需要登录后才可以回帖 登录 | 立即注册

恭喜您获得红包

恭喜您获得红包

有效期:

可用于投资天,起投金额

收起弹幕
天空放了一声巨雷 那是XXXX,邀请你去围观 珠海长龙海洋王国校友~ 此雷惊天地泣鬼神,XX位在线界宝隔着屏幕感受到了震撼,正火速前来围观!