- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 nodejs mac 下打开浏览器,并访问特定网页
require('child_process').exec('open http://www.baidu.com');
2017-07-24 22:17:13 2065
原创 nodejs debug 模块使用
当需要输出程序信息的时候,一般使用console.log 打出信息日志,当上线前再将这些代码删除,不方便可以通过debug模块来动态配置输出内容进行测试,上线也不用删除如下index.js 测试代码var debug = require('debug')('test');debug("1234");当需要输出信息的时候,带上DEBUG=test DEBUG=test node index.js则会
2017-07-24 21:39:56 1571
原创 nodejs 简易守护进程
正常情况下 进程出现未捕获异常时候,会退出, 但有时候当工作进程比较重要,出现异常时候希望能够重启一个新进程继续工作,这时需要使用到守护进程主要逻辑:主进程监听子进程的exit 事件,当子进程exit的时候,重新fork一个新的工作进程var cluster = require('cluster');let index = 0;if (cluster.isMaster) { var wo
2017-07-24 20:52:26 1792
转载 nodejs使用domain捕获工作进程异常
domain 可以提前捕获到异常,从而使得 process 工作进程不崩溃var cluster = require('cluster');var http = require('http');var numCPUs = require('os').cpus().length;var domain = require('domain');if (cluster.isMaster) {
2017-07-24 18:57:24 911
转载 nodejs 主子进程通信
参考文档http://blog.fens.me/nodejs-core-cluster/var cluster = require('cluster');var http = require('http');var numCPUs = require('os').cpus().length;if (cluster.isMaster) { // 主进程 var wk = clu
2017-07-24 18:26:32 2494 1
转载 R语言mac helloworld
pkg 下载地址 https://cran.r-project.org/bin/macosx/下载完成后双击安装安装完成,打开命令行,输入R 4.新建一个log文件 a.log 输入5行文字work1work2work3work1work3在R中执行df<-read.table(file="~/a.log",header=FALSE)summary(df)可以看到 输出的统计结果
2017-07-24 18:17:39 1017
原创 nodejs 注入 inject
当有些对象需要根据条件不同注入的时候,可以简单使用注入 如下例:根据配置不同创建不同的USER对象,注入到 tool.do 方法中,从而实现不同的效果index.js 主函数var tool = require("./tool.js");// 此处是配置,根据配置决定 注入的是什么var config = "Man";if (config === "Man") { var USER
2017-07-24 11:57:07 3589
转载 nodejs co-sleep 使用
co-sleep 可以在co 中模拟 sleep 的动作var co = require("co");var sleep =require("co-sleep");co(function * (){ console.log("hello world"); yield sleep(1000); console.log("sleep end");})console.lo
2017-07-24 11:00:46 1073
转载 nodejs 使用assert做参数验证
nodejs 自带assert 模块,一般用来做单元测试, 但也可以直接用在项目做,做参数验证,参数不符合要求直接抛出异常,比较方便const assert = require("assert");function sayHi(msg) { assert(msg.length > 10, "长度必须大于10"); console.log("hi " + msg);}sayHi
2017-07-11 11:44:29 1130
原创 Object.assign 深层次合并
Object.assign 只能进行第一级层次的拷贝 如下代码:var a = {b: {x: 1, z: 3}}var b = {b: {x: 1, y: 2}}console.log(Object.assign(a, b))将得到 { b: { x: 1, y: 2 } } 期望得到 { b: { x: 1,z:3, y: 2 } }此时需要使用到 lodash的merge方法
2017-07-11 10:56:51 3881
转载 nodejs 类型判断 工具包 util.is***
node util 包中带有is*** 的工具函数,用来进行类型判断var util = require("util");console.log(util.isString("a"))console.log(util.isArray([]));console.log(util.isFunction(function(){}));console.log(util.isNumber(1));
2017-07-11 10:36:08 1726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人