持续集成平台:travis
知识点
- 学习使用travis-ci对项目进行持续集成测试(https://travis-ci.org/)
课程内容
首先来瞅瞅这个项目: https://github.com/Ricardo-Li/node-practice-3(项目已失效,自己随便写一个叭)
我们是学习噢,不是抄袭别人的噢,好记性不如烂笔头嘛
首先来瞅瞅这个项目: https://github.com/Ricardo-Li/node-practice-3(项目已失效,自己随便写一个叭)
我们是学习噢,不是抄袭别人的噢,好记性不如烂笔头嘛
将这个项目部署上heroku,成为一个线上项目.
参考原作者的App, http://serene-falls-9294.herokuapp.com/
使用git clone git@github.com:Ricardo-Li/node-practice-2.git
命令克隆项目
代码中的Procfile文件:
1 | web: node app.js |
一个是app.js
文件:
1 | app.listen(process.env.PORT || 5000); |
这两者都是为了部署heroku所做.
讲解 this, var, (function(){})
1 | var parent = function () { |
学过一点别的编程语言肯定都会直觉的认为,内部函数可以访问外部函数的变量,外部不能访问内部函数的变量.因此childAge在parent中会报错.如果声明变量是少了var,就声明就全局变量了.
在Nodejs中,全局变量会被定义在global对象下,在浏览器中,全局变量会被定义在window下.
如果需要定义全局变量,请显示的定义在global或window对象上.
有一个字符串var number = '100'
,我们要将它转换成Number类型的100
三个选项: + , parseInt, Number
测试哪种方法更快
首先得有一个benchmark库, https://github.com/bestiejs/benchmark.js
貌似很久没更新的样子,依旧可以使用
按照实例跟着写:
1 | var web_development = "python php ruby javascript jsonp perhapsphpisoutdated"; |
找出其中包含p但不包含ph的所有单词,即[ 'python', 'javascript', 'jsonp']
开始这门课之前,先学习
正则表达式30分钟入门教程
然后继续学习零宽断言
正则表达式之:零宽断言不『消费』
很久以前,处理字符串领域的王者当属perl.
后来出现一个标准叫pcre.
不过前两个都不算标准,后来出现了正则表达式.js里的正则表达式与pcre不兼容.
测试自己写的正则表达式可以访问http://refiddle.com/,所见即所得地调试
讲述js中正则表达式
我们今天主要来理解exports和module.exports的区别
写了一些代码,有问题请指教
1 | // file: app.js |
结果:
1 | { name: 'yutiya' } |
使用b变量修改属性,a变量的属性也会跟着变,说明两个变量使用一块内存,也就是说a和b都是指针
(c和c++中)类型,指向同一个对象
给b变量赋值新的对象,b变量指向新的内存区域
学习中,原文链接
建立一个lesson8项目,在其中编写代码
app.js:其中有个fibonacci接口
fibonacci函数的定义为int fibonacci(int n)
,调用函数的url路径是/fib?n=10
,然后这个接口会返回55
函数的行为定义如下:
n === 0
时,返回0;n === 1
时,返回1n > 1
时,返回fibonacci(n) === fibonacci(n-1) + fibonacci(n-2)
,如fibonacci(10) === 55
http status 500
,因为Node.js的计算性能没那么强。test/app.test.js:对app的接口进行测试,覆盖以上所有情况
1 | $ npm init # 来吧,一阵阵的键盘声(不停的回车) |
int fibonacci(int n)
n === 0
,返回0.n === 1
时,返回1n > 1
,返回fibonacci(n) === fibonacci(n-1) + fibonacci(n-2)
,如fibonacci(10) === 55
lesson6的内容都是针对后端环境中node的一些单元测试方案,出于应用健壮性的考量,针对前端js脚本的单元测试也非常重要.而前后端通吃,也是mocha的一大特点.
首先,前端脚本的单元测试主要由两个困难需要解决.
第六课, 原文链接Node.js-lesson6
建立lesson6项目,编写代码
main.js: 其中有个fibonacci函数.fibonacci的介绍详见维基百科,中文名 斐波那契
此函数的定义为int fibonacci(int n)
fibonacci(n) = fibonacci(n - 1) + fibonacci(n-2)
,如fibonacci === 55
test/main.test.js: 对main函数进行测试,并使行覆盖率和分支覆盖率都达到100%
知识点:
$ npm init
初始化项目
编辑 main.js,编写 fibonacci
函数
1 | // file main.js |
执行 $ node main.js 10
运行
Update your browser to view this website correctly. Update my browser now