生成随机密码的方式有很多,比如:
1 | openssl rand -base64 16 |
生成随机密码的方式有很多,比如:
1 | openssl rand -base64 16 |
前段时间安装 Chrome 后发现无论输入什么网址 Chrome 都无法访问,但是用别的浏览器就可以。所以肯定是 Chrome 自己的问题,然后搜索了一顿解决方法竟然是重置 Windows 的一个设置。使用命令行执行以下语句:
1 | netsh winsock reset |
执行完毕之后,Chrome 好用了…… 😓
我的 MacBook Pro 已经使用了6年多的时间,尽管作为一个 .NET 程序员绝大部分时间都是在 Windows 下工作,直到 .NET Core 的逐步成熟。要说 Mac OS,最满意的地方就是它的终端 iTerm2 + Oh-My-Zsh,既好看又好用。然而在 MacBook Pro 里跑 Windows 无论是用 Parallels Desktop 虚拟机还是 BootCamp,都多多少少有些不便的地方,尤其是电池的续航力,完全无法开开心心的不插电源写代码写上3、4个小时,加上6年时间电池的老化,连 Mac OS 下都撑不住2、3小时。所以,虽然我之前给它升级了512G SSD, 16G RAM(2012款最后一代可以自行升级的MBP),但因为电池问题和 Windows 系统的问题,最终还是决定尝试换回一款 Windows 笔记本,毕竟微软这几年无论是拥抱开源、做 .NET Core,还是出的这些硬件都深得我心(可惜 Windows Phone 还是废了),感觉比苹果进步更大。而苹果已经在“轻薄”这2个字上走火入魔、不顾一切了。
如果你问我为何一个 .NET 程序员买 MBP?因为当年我换笔记本的时候被那一大票的 16:9 宽屏及 13xx * 7xx 分辨率的笔记本恶心到了,写代码完全接受不了那么扁的屏幕和那么低的分辨率,最后一怒之下买了十分昂贵的 16:10 屏幕的 15’’ MBP…
如果你问我现在换了哪款 Windows 笔记本,我现在用的是 Surface Book 2——绝对的生产力利器……只是比当年买的 MBP 还贵上一大大大截…… 😓
自从上次用 msbuild 重写了整个项目的构建流程,终于体会到一点 msbuild 的强大了。这回我需要在 CI 流程中把一个目录的文件复制到另外一个目录中去,复制之前需要判断目标目录是否存在,存在的话,要先删除原目录,然后在复制。这涉及到一点编程元素,我十分不愿意写 windows batch 脚本,也不愿意写 powershell 脚本(好吧,其实是不会写😓),唯一剩下的选择似乎只有 msbuild 了。
没问题,我用过 msbuild 的 Copy Task,问题应该不大……然而,真正用它完成我的任务时发现了问题,原先我只是用它复制一个目录下的所有文件,但是现在我也需要复制一个目录下的所有子目录。然而 Copy Task 并没有一个简单直观的方法可以做到。必须使用如下“奇怪”的方式
1 | <Project ToolsVersion="15.0" DefaultTargets="CopyFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
以上的例子重点是 Copy Task 的 DestinationFolder 属性,需要注意2点:
%(RecursiveDir) 这是关键,要复制所有文件包括按照原样复制子目录,需要使用这个特定“字符串”,它是固定的。具体解释可以参考这里。DestinationFolder 使用了 %(RecursiveDir) 好像就不能用其它参数了(比如 SCAdminDestinationFolder),不知道为什么……所以没法使用 SCAdminDestinationFolder 参数。