在Windows Server上快速部署定时任务删除日志文件指北

不怎么操作Window服务器,也没写过Window Server上定时任务bat脚本,去网上Search发现一堆没有条理的介绍,要不就是介绍bat的语法,要不就是意图不明的设置截图,我就是想清个日志,我这辈子可能就用这么一次,我并不想有太多心智负担。

如果你也跟我一样,那么希望你看到这篇笔记后不再为此伤神。
继续阅读

PowerShell学习使用笔记

服务器被黑客攻陷了,还恰巧是Windows服务器,上面的服务只能人肉重装。

怀着无奈又恐惧的心情,踏进Windows Server 2016, 很快就遇到了PowerShell, 并且发现要用这个东西干很多事,然后就去学呗,很快就意识到了这个东西的强大,用别有洞天来描述都不及,在整理这篇笔记的时候,心里一直想着王维的那句诗: “行至水穷处,坐看云起时“。
继续阅读

Go viper包处理JSON笔记

第一部分 前景提要

一、背景
用Go搭一个小项目, 按传统的套路把开发环境和生产环境配置信息写在配置文件config.json中, 初始化加载配置,解析出数据。看着是解析一个JSON的小事,过程中却发生了3次演进:

1、定义一个配置文件对应的结构体。
2、递归加载配置的全部节点。
3、使用viper
继续阅读

Go playground访问HTTP 451笔记

一、背景
访问4年前在Go playground上分享的代码片段,都提示Unavailable For Legal Reasons,请求状态码为451。由于内容比较重要,花了一些时间研究原因,最终除了一个特例,其他都找回来。

二、关于HTTP 451
HTTP 451 Unavailable For Legal Reasons, 即因法律原因不可用。当用户请求访问某个经政府审核等查核方法后认定不合法的来源时,就会显示这个错误代码。
继续阅读

Golang包管理工具学习笔记

一、了解Golang包管理的动机

我们知道etcd使用Golang实现的,前段时间准备看下etcd源码,结果用go get下载安装etcd源码问题层出不穷,表面的原因是etcd依赖的Golang模块有循环依赖,深层次原因还是Golang包管理处在混乱及快速演进的过程中。

所以,想阅读调试etcd源码,必须跨过对Golang包管理不熟悉这道坎。

不得不先说一句,Golang包管理工具真是混乱至极,尤其是用了下Node.js的包管理工具npm(最近项目用到了Node.js, 简单用了用),没有对比就伤害。
继续阅读