
JavaScript
文章平均质量分 69
如锋
金融IT
展开
-
《你不知道的JavaScript(上卷)》——[美]凯尔辛普森
看得很舒服的一本技术书,深入浅出不啰嗦,为我们揭开了常见代码背后的深层逻辑。开头的编译原理部分,基础不好的同学建议认真看一看。原创 2022-04-30 21:33:04 · 1805 阅读 · 0 评论 -
JavaScript进阶 - Promise
文章目录Promise的三种状态Promise的三个方法Promise示例代码Promise嵌套Promise异常处理UnhandledPromiseRejection隐含try...catchRethrow怎么测试PromisePromise,中文即承诺,Promise承诺的是,未来将会按照指定的顺序执行已定义的异步操作。Promise实质上是一个代表异步操作最终完成或失败的对象。它主要通过...原创 2019-05-08 13:01:13 · 434 阅读 · 0 评论 -
JavaScript设计模式 - Strategy
专职写了几个月,虽然开始有些凌乱,现在基本上也认同:JavaScript是一门优雅的语言。从设计模式的角度,应该能更好地理解JavaScript的不同,改善既有代码。那就先从比较常用的Strategy模式开始。Strategy PatternDefine a family of algorithms, encapsulate each one, and make them intercha...原创 2019-04-29 21:51:24 · 181 阅读 · 0 评论 -
JavaScript if(变量) 到底什么时候成立
JavaScript实在是神通广大,虽然写了很多年,一些简单的代码有时写着写着还是忍不住会怀疑。比如if(variable) 这样的语句到底什么时候成立,具体是怎么判断的?今天忍不住再来测试一下。结论返回false的变量值:false0空字符串undefinednullNaN返回true的变量值:true1非空字符串对象数组非空字符串包括空格(' '),'...原创 2019-04-20 10:12:00 · 1013 阅读 · 2 评论 -
Node.js Sinon测试替身
测试替身(Test Double),顾名思义,即测试时用来代替系统中某一部分的模拟技术的统称。测试替身的作用隔离被测代码加速执行测试使执行变得确定模拟特殊情况访问隐藏信息上述列表copy from:https://yq.aliyun.com/articles/118887测试替身的类型Dummy objects are passed around but nev...原创 2019-01-30 22:18:36 · 1720 阅读 · 0 评论 -
Node.js Log4js写Log的同时想做点什么,可以自己写Appender
log4js-node集成appender用的是Listener模式, 所以可以方便地添加自定义的appender,这样就能在写log的同时做点额外的事情,比如把log发送到自己设计好的接口。Optional Appenders以下是log4js-node当前提供的可选appender。gelfhipchatlogFaces-HTTPlogFaces-UDPlogglylogst...原创 2018-12-21 14:25:01 · 659 阅读 · 0 评论 -
Node.js Log4js输出自定义格式和变量
Log4js输出自定义格式,或者想在log里添加自己定义的变量,如显示当前用户名,可以通过pattern layout来实现的。Log4js Pattern Layout设置占位符如%X{user}在代码里调用addContext('user','userName')更新变量log4js.configure({ appenders: { out: { type: 'stdo...原创 2018-12-13 12:52:28 · 3997 阅读 · 0 评论 -
Node.js Log4js输出JSON日志
Log4js Json Layout代码:const log4js = require('log4js');log4js.addLayout('json', function(config) { return function(logEvent) { return JSON.stringify(logEvent) + config.separator; }});log4js.co...原创 2018-12-05 09:28:56 · 2097 阅读 · 0 评论 -
Node.js Bunyan输出JSON日志
日志应该是结构化的,处理日志的主要应该是机器而不是人,这就是日志输出为JSON的好处,而Bunyan即是一个简单快速的JSON日志库。正式Demo可参考Github:https://github.com/prufeng/autotest-node/tree/master/demoInstallnpm install bunyanHelloworld测试代码//app.jsvar ...原创 2018-12-01 10:34:01 · 1862 阅读 · 4 评论 -
Angular Helloworld
已经安装好Node.js, 通过以下命令可以新建angular项目。npm i -g @angular/cling new helloworld-ngcd helloworld-ngnpm installng serve --openhttps://angular.io/guide/quickstart...原创 2018-11-16 16:29:52 · 480 阅读 · 0 评论 -
Node.js RESTful API和Express单元测试
本文主要研究Node.js RESTful API和Express框架的单元测试。关于Mocha和Istanbul的详细使用,请参考:使用Mocha和Istanbul实现Node.js单元测试和覆盖率Github: https://github.com/prufeng/autotest-nodeInstallnpm i -D nycnpm i -D mochanpm i -D chai...原创 2018-11-08 22:46:35 · 1627 阅读 · 0 评论 -
Node.js Log4js使用详解
log4js-node是log4js的Node.js版本。log4js-node的使用比较简单,以下内容主要部分来自官方文档。https://github.com/log4js-node/log4js-nodeInstallationnpm install log4jsUsage注意:log4js默认category的level是OFF,所以以下程序不会有输出。var log4js...原创 2018-10-24 21:05:15 · 2236 阅读 · 0 评论 -
使用Mocha和Istanbul实现Node.js单元测试和覆盖率
基于Express,Mocha + Istanbul1. Unit Test1.1 Install Mochanpm i -D mocha1.2 Create test/test.jsvar assert = require('assert');describe('Array', function() { describe('#indexOf()', function() { ...原创 2018-10-13 22:57:14 · 3250 阅读 · 1 评论 -
整合Bamboo和SonarQube实现Node.js自动化测试
Node.js Bamboo and SonarQube Integration文章目录Node.js Bamboo and SonarQube Integration1. Bamboo Node.js Plugin1.1 安装Node.js插件1.2 添加Node.js Executable Capability2. Bamboo Plan3. Bamboo+Mocha+Istanbul4. ...原创 2018-10-17 23:23:47 · 2882 阅读 · 0 评论