读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”

读《Node.js目实:构建可展的Web用》

——引编程慢慢变成系统化的“砌砖活”

眼里的Node.JS

初初接触node是一年前的事,那时候年少不更事。还在纠结什么语言可以编写出牛逼的程序,想必每个码农都会经历这个月经性的问题:微信用什么语言写的?facebook为什么推荐系统这么智能,用什么语言写的?dota2的外挂这么牛逼,用什么语言写的?……用什么语言写这句话,困扰人也是阻碍人!当然我也时不时来这个月经性的问题,早在大学的时候,ruby刚在国外火火的,我还在宿舍敲着自己的asp代码,那一年我也受到D语言,Perl等等新型的解释型的语言影响,开始觉得虚拟机这么强大,是不是要去过渡呢?反复反复这些问题,让我望而却步,没有专注什么语言的学习,更别用说什么库了。直到PHP那一年,我沉下心来,因为当时戴志康的dizcus!系统活了,phpwind火了,很多单枪匹马的码农闯出了一片天空。这是很多八零后的偶像,PHP语言在中国扎根七八年了,这让很多vps和虚拟空间都是支持lamp的架构,这让php更加根深蒂固着。的确在开发效率上,各种库的配合下,在猪八戒做威客基本可以所向披靡的抢到任务,而且顺利完成之。这日益发展的电商网站,社交软件,很多需求对于phpjava都不能好好的解决的时候,方法就是烧钱、请大牛、加服务器、各种头痛医头,脚痛医脚的方法。

对建站,对服务端的编程变得太零散,而且消耗大量人力物力。尤其大型网站根本没有办法做到像Facebook重写虚拟机,重写代码,创造前端框架,交互框架。怎么办呢?这多谢一般国外的极客,nodejs应运而生。重要的是,node借助GoogleV8发展得势不可挡,在编程语法上,node不需要你忘记一切,而是让更多前端开发人员可以兼顾服务器端的开发,这不单是语法上零基础,更多是编程思想上的一次解放,处理高并发场景性能更高。在我其中一个项目里在用 socket.io 之前,推送服务是用 ajax polling 做的。我用 Tornado Node.js 做过两个版本的推送服务。在当时的测试环境下,Node.js CPU 时间是 Tornado 的三分之一,内存使用是 Tornado 的一半,代码行数只有 Tornado 的三分之一。后来我们使用了 socket.ioCPU 开销进一步降低。另外,函数式编程非常适合写异步回调链,用 Node.js 配合 CoffeeScript 写异步操作链非常便利,相比之下 Tornado 无论是写命名函数的回调,还是 yield 一个 Task 都没那么自然。

谈谈你对这本书试读章节的看法 

 

之前看过nodejs实践,那书很多东西基本可以在网上找到,而且很少涉及深层的东西。让我还是宁愿泡泡论坛,看看一些实践和项目代码。刚看了《 Node.js项目实践:构建可扩展的Web应用》   的目录层次,和试读内容。更多偏向细节上的讲解,当然这也是很多论坛提问积累下来的知识,慢慢汇编成书介绍给大家。在第六章位置,很大篇幅说到授权的问题,这是每种语言在讲解时欠缺的地方,这本书很好的介绍了很多授权上的方法,有效让小白弄明白怎么操作才能进去sina或者腾讯一些open平台里遍历想要的资料。总体感觉这本书更多是这几年来,nodejs中读者和论坛上总结和分享的结晶。在研读之下,更有效了解日后nodejsio.js分分合合后应该选择哪个适配自己的项目。

你可能感兴趣的:(Web,node.js)