一共有 37 篇文章,分页:1 / 8

Windows自带MD5校验命令

certutil -hashfile app.exe MD5
certutil -hashfile app.exe SHA1
certutil -hashfile app.exe SHA256

let's encrypt自动续期

Certbot 是let's encrypt在Linux的客户端,let's encrypt生成的证书默认有效期是三个月,certbot提供了一个自动续期的脚本。

certbot 安装包是在 EPEL 仓库里的,如果你的系统没有安装 EPEL 仓库,记得先安装它:

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

然后安装 certbot,这里以nginx为例:

yum install certbot-nginx
阅读全文 »»

svn命令备忘

  • 更新

    svn up
    
  • 回滚未提交的修改

    svn revert -R path/
    
  • 删除

    svn del path/
    
  • 查看本地修改的文件列表

    svn status
    
  • 提交

    svn ci -m "日志内容"
    
  • 一次性添加所有新增文件

    svn add --force path/to/dir
    

VSCode必备插件

  • ESLint

  • js-css-html-formatter

  • vetur

给 nodejs 的 console.log 和 console.error 增加时间戳

把下面的代码放在app.js(一般是这个名字吧。。。)最前面就行了(是改的全局的,只放在一个js文件就可以)


(function() { //add timestamp to console.log and console.error(from http://yoyo.play175.com)
    var date = new Date();

    function now() {
        date.setTime(Date.now());
        var m = date.getMonth() + 1;
        var d = date.getDate();
        var hour = date.getHours();
        var minutes = date.getMinutes();
        var seconds = date.getSeconds();
        var milliseconds = date.getMilliseconds();
        return '[' + ((m < 10) ? '0' + m : m) + '-' + ((d < 10) ? '0' + d : d) +
            ' ' + ((hour < 10) ? '0' + hour : hour) + ':' + ((minutes < 10) ? '0' + minutes : minutes) +
            ':' + ((seconds < 10) ? '0' + seconds : seconds) + '.' + ('00' + milliseconds).slice(-3) + '] ';
    }
    var log = console.log;
    console.error = console.log = function() {
        var prefix = ''; //cluster.isWorker ? '[WORKER '+cluster.worker.id + '] ' : '[MASTER]';
        if (typeof(arguments[0]) == 'string') {
            var first_parameter = arguments[0]; //for this:console.log("%s","str");
            var other_parameters = Array.prototype.slice.call(arguments, 1);
            log.apply(console, [prefix + now() + first_parameter].concat(other_parameters));
        } else {
            var args = Array.prototype.slice.call(arguments);
            log.apply(console, [prefix + now()].concat(args));
        }
    }
})();