JavaScript 格式化日期时间

function datestr(fmt, d) {
    var fmt = fmt || 'yyyy-MM-dd hh:mm:ss';
    var d = d || (new Date());
    var o = {
        'M+': d.getMonth() + 1,
        'd+': d.getDate(),
        'h+': d.getHours(),
        'm+': d.getMinutes(),
        's+': d.getSeconds(),
        'qq+': Math.floor((d.getMonth() + 3) / 3),
        'S+': Math.round(d.getMilliseconds() / 10)
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, 
            (d.getFullYear() + '').substr(4 - RegExp.$1.length));
    for (var k in o) {
        if (new RegExp('(' + k + ')').test(fmt))
            fmt = fmt.replace(
                RegExp.$1, 
                RegExp.$1.length == 1 ? 
                    o[k] : ('00' + o[k]).substr(('' + o[k]).length)
            );
    }
    return fmt;
}
console.log(datestr()); // 2018-07-26 22:05:14

 

伤心者【转载】

作者:何夕

献给天下伟大的母亲

上午的菜场正是最繁忙的时候,我看着夏群芳穿过拥挤的人群,她的背影很臃肿。隔着两三米的距离我看不清她买了些什么菜,不过她跟小贩们的讨价还价声倒是听得很清楚。从这两天的经历我知道小贩们对夏群芳说话是不太客气的,有时候甚至于就是直接的奚落。不过我从未见过夏群芳为此而表现出生气什么的,她似乎只关心最后的结果,也就是说菜要买得合算,至于别的事情至少从表面上看去她是不计较的。现在她已经买完菜准备离开,我知道她要去哪儿。 继续阅读“伤心者【转载】”

配置Let’s Encrypt SSL证书

生成证书

  1. 下载 letsencrypt
    git clone https://github.com/letsencrypt/letsencrypt
  2. 停掉 nginx,因为要用到443端口
    sudo nginx -s stop
  3. 生成证书,假设主域名为 domain.com,所有子域名都要写到命令中
    sudo sh letsencrypt-auto certonly --standalone --email
    admin@email.com -d domain.com -d www.domain.com -d abc.domain.com -d
    zzz.domain.com
  4. 如果 python 环境出错,则运行以下命令再重复第三步
    • sudo fallocate -l 1G /tmp/swapfile
    • sudo chmod 600 /tmp/swapfile
    • sudo mkswap /tmp/swapfile
    • sudo swapon /tmp/swapfile
  5. 检查证书是否生成
    ls -l /etc/letsencrypt/live/domain.com/

继续阅读“配置Let’s Encrypt SSL证书”