原文地址 https://blog.udemy.com/node-js-tutorial
感谢来自Udemy的Samantha来信分享
最近有些忙,更新可能不及时,如有兴趣希望大家去看原文网站。
原文地址 https://blog.udemy.com/node-js-tutorial
感谢来自Udemy的Samantha来信分享
最近有些忙,更新可能不及时,如有兴趣希望大家去看原文网站。
后面的代码真是越看越难理解,经常需要结合内部/接口函数一起,所以采用跳读的方式解析,基本按照模块由易到难的顺序解析。
原文地址 https://blog.udemy.com/node-js-tutorial
感谢来自Udemy的Samantha来信分享
Node是一个开源,跨平台的用来执行javascript的运行环境。它建立在google的v8引擎上,而v8引擎正是google chrome浏览器的执行引擎,能够快速的将javascript代码转为原生的机器码。
在Node诞生之前,javascript只能在浏览器执行。在2009年,Ryan Dahl使用开源的google v8 javascript引擎来构建node,使它成为一个独立于浏览器之外的javascript运行环境。这使得javascript开发者能够在服务端使用javascript来构建大部分的web apis。
题外话:我觉得有两个技术的普及让web前端的有了较大的发展。一是混合应用的出现,包括移动端的混合应用如phone gap、ionic等框架和PC端的混合应用如hex、酷狗音乐等,这一技术的诞生让前端工作从简单的类似制作ppt一般地展现页面效果的工作升级成了开发应用程序的级别;二是node.js的出现,让js可以运用于服务端开发,让前端工程师能低门槛地转成js全栈,通过node.js开发后端又可以与数据库连接,让js开发人员可以参与到web的前端、后端、数据库整个系统,从而为js工程师提供了一条晋升到web架构师的有利通道,为js工程师插上了一双翅膀。
underscore 源码版本 1.8.2
很多人向我推荐研究js,可以看看一些第三方js类库的源码,而源码之中最好解读也最简短的就是underscore,它也是我平常比较喜欢的一个库,因为它性价比高:体积小、能力强。打开一看,才1000多行,试着读了一下,确实很值得一看,所以对精彩部分做了一下整理。
整个函数在一个闭包中,避免污染全局变量。通过传入this(其实就是window对象)来改变函数的作用域。和jquery的自执行函数其实是异曲同工之妙。这种传入全局变量的方式一方面有利于代码阅读,另一方面方便压缩。
underscore写法:
(function(){
...
}.call(this));
jquery写法:
(function(window, undefined) {
...
})(window);
两者都是优秀的版本管理工具(giter请不要鄙视svner)
git因为是分布式的,所以其核心就是分支(只有master分支情况下和svn差不多?),分支的意义在于,可以将项目代码按照功能、模块拆分成不同的分支。比如这个产品要加一个支付功能和一个登陆功能,可以创建两个分支,交给不同的开发人员并行开发。登陆功能先开发完,测试无误后合并改分支到master分支,master分支部署上线。支付功能虽然没有开发完成,但是在另一条分支上,所以产品上线和功能开发完全不受影响。这才是分布式开发的高效模式。
被git坑了一个星期之后决心把官方文档看一下,结合实践经验进行了整理。