用纯Node.JS弹出Windows系统消息提示框(MessageBox) Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如
:
var cp = require('child_process')
var initApp = function() {
var vbsPath = path.join(__dirname, 'vb.message.vbs')
cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件没有跟 OnceDoc 绑定"', function(err, stdout, stderr) {
if (err) {
fs.writeFileSync('log.log', err.toString())
}
})
}
initApp()
利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行 在Windows 系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。比如你写了一些Node.JS脚本可以通过这种方式右健直接运行,非常方便。有时侯我们无法通过写注册表文件来运行某个程序,比如说用户没有安装将Node.JS安装到默认目录,这时我们可以通过Node.JS来用编程的方式动态更改注册表。
"永恒之蓝"比特币勒索病毒(WannaCry)的攻击原理 此病毒其实是利用了微软 Microsoft Windows SMB 服务器通信协议进行传播的。并且微软已经于3月份发布了安全更新包,但是由于很多校园网、医院、政府机构专网的电脑或服务器没有安装安全更新,造成大面临感染。实际上很多运行Windows的服务器也不可能自动安装安全更新,因为这可能会导致服务器的重启。
SMB(Server Message Block,又称Common Internet File System(CIFS)),主要用来使得一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的行程间通讯机能。它主要用在装有Microsoft Windows的机器上,被称为Microsoft Windows Network。使用445端口。
攻击者利用向 Windows SMBv1 服务器445端口发送特殊设计的消息,来远程执行攻击代码。
Node.JS通过读取PATH环境变量获取可执行文件的安装地址 有暑假我们可能需要获取某些可执行程序的安装地址,比如说git,node.js等。
此时我们可以直接读取环境变量来获取。
在node.js中可以通过 process.env来获取所有环境变量,如:
console.log(process.env)
程序员年纪大就做不了了?这些45到60岁的码农还在写代码 美国劳动力的中值年龄是42岁,而StackOverflow的一项有关年龄的调查表明,40岁之后的开发人员只占开发人员总数的13%。那么其他人到哪里去了?他们被解雇了或者上升到管理岗位了吗?软件开发对于过了40岁的人来说,是不是就意味着终结?本文罗列了10位年龄超过40岁的老程序员们的故事,他们都是顶级的软件开发者,拒绝从事管理岗位,仍然活跃在开发一线,将编程作为生活收入的主要来源。
国家卫计委发文要求互联网医院全部注销 国家卫计委卫生和计划生育委员会办公厅发放的《关于征求互联网诊疗管理办法(试行)(征求意见稿)和关于推进互联网医疗服务发展的意见(征求意见)意见的函》。要求本办法颁布后的15日内, 所有互联网医疗机构必须被注销, 按照本办法重新注册。按照方法的要求,大部分再注册会非常困难。
过去一年里, 移动医疗公司普遍面临着无法盈利甚至无法创造收入,空有用户的状态,在资本压力下,建立线下诊所或者转型互联网医院是两种最简单的商业模式转型,但前者不足以支撑这些公司的估值甚至不足以创造盈利,后者需要直接挑战政策底线和安全风险。没有太多选择的移动医疗公司只能疯狂试探和挑战着互联网医院的政策底线,在几个月的热闹之后,这种互联网商业套路可能要告一段落了。
JavaScript中splice与slice的区别、数组的复制以及在指定位置添加删除元素 splice与slice是数组中的两个常用方法,但是很多初学者很容易将二者混淆。
slice的操作不影响原数组。会返回所选择的元素。
splice会影响原数组,而且可以使用splice往数组中指定位置添加或删除元素。返回被删除的元素。
Node.js网页抓取:一个最简单的http请求客户端示例(request client) Node.JS有一个request模块,可以很方便的抓取网页内容。最简单的一个示例:
var request = require('request');
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
})
由上例可以看出用request发起一个http请求确实非常简单,不过唯一的问题就是,request模块的第三方依赖比较多,导致这个模块非常地大,要占用好几M的空间。
JavaScrip字符串模板表达式中的反引号怎么打? 模板字符串是ES6引入的可以在字符串中嵌入变量的表达式。与常用的单引号、双引导不同,字符串模板使用反引号表达式。
反引号一般在键盘的左上方,数据健前的第一个键,即按下Shift会显示 "~" 的那个鍵,不按Shift即为反引号。