用JavaScript获取当月第一天和最后一天 获取当月的第一天和当月的最后一天其实还挺麻烦的,因为每个月天数可能不一样。不过借助 Date 对象则很容易实现:
当月第一天和最后一天
var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);
Node.JSv8的5个新特性:支持string padding与async/await和object参数省略 async/await 没有第三方依赖,写法更直观,再也不用写回调嵌套了:
const fetch = require('node-fetch');
async function getUser(username) {
const res = await fetch(`https://api.github.com/users/${username}`);
const json = await res.json();
return json;
}
async function start() {
const user = await getUser('github');
console.log(user); // prints out info about ‘github’ user on GitHub
}
start();
node.js中fs.stat里的atime,mtime,ctime,birthtime在debian下的更新规则与区别 在node.js中可以通过fs.stats命令,可以查看文件的属性,状态,修改时间等:
atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,这其实与系统设置有关的,一般默认不会修改。
ctime即change time文件状态改变时间,指文件的i结点被修改的时间
mtime即modify time,指文件内容被修改的时间。
birthtime即文件创建时间,很多文件系统不支持。
decodeURIComponent有个BUG,当浏览器请求地址含%+数字时,会解析错误 比如要查询字符串: 限时特惠!仅需0.5%25!
但搜索框中会出现: "限时特惠!仅需0.5%!"
25消失了!
命令行的艺术:linux bash命令大全详解 熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。
NodeJS的DNS使用:域名解析,MX记录查询,SPF反垃圾邮件测试 Node.js 有一个专门用于解析域名的模块dns。引入DNS 模块语法格式如下:
var dns = require("dns")
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
通过解析域名的SPF记录,我们可以检查某个发送邮件的IP地址是否合法:
dns.resolveTxt('cn.oncedoc.com', function() {
console.log('txt cn.oncedoc.com')
console.log(arguments)
})
Node.JS如何调用Chrome打开浏览器链接地址 在Node.JS中打开浏览器网址非常简单。
此时会使用chrome打开网址,如果没有安装则会使用默认浏览器打开。
在Node.JS中通过child_process调用即可。
var cp = require('child_process')
cp.exec('start chrome http://www.baidu.com')
用纯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()
"永恒之蓝"比特币勒索病毒(WannaCry)的攻击原理 此病毒其实是利用了微软 Microsoft Windows SMB 服务器通信协议进行传播的。并且微软已经于3月份发布了安全更新包,但是由于很多校园网、医院、政府机构专网的电脑或服务器没有安装安全更新,造成大面临感染。实际上很多运行Windows的服务器也不可能自动安装安全更新,因为这可能会导致服务器的重启。
SMB(Server Message Block,又称Common Internet File System(CIFS)),主要用来使得一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的行程间通讯机能。它主要用在装有Microsoft Windows的机器上,被称为Microsoft Windows Network。使用445端口。
攻击者利用向 Windows SMBv1 服务器445端口发送特殊设计的消息,来远程执行攻击代码。