持续集成平台: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中正则表达式
学习中,原文链接
建立一个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
运行
原文链接: https://github.com/alsotang/node-lessons/tree/master/lesson5
博主已学习,并做记录
建立一个lesson5项目,在其中编写代码
代码入口app.js
, $ node app.js
, 会输出CNode社区首页的所有主题的标题、链接和第一条评论,以json格式
注意: 与lesson4不同. 并发连接数需要控制在5个
输出实例:
1 | [ |
当你需要去多个源(一般是小于 10 个)汇总数据的时候,用 eventproxy 方便;当你需要用到队列,需要控制并发数,或者你喜欢函数式编程思维时,使用 async。大部分场景是前者
Update your browser to view this website correctly. Update my browser now