用手机发布静态博客

这篇文章没有什么实际内容,请谨慎点开,不要浪费自己的时间。我就是想测试一下在手机上写一篇博客的感觉如何,能否达到以前使用动态博客程序时的体验。

静态博客的黄金搭档:Caddy 和 Hugo

几年前,在以 Hexo、jekyll 为代表的各种静态博客生成系统百花齐放的时候,我写过一篇继续留在Typecho。并不是因为我非常守旧,而是经过实际使用测试之后,我认为不管这些静态生成器宣传的多么天花乱坠,它们实际上就是很难用,体现在安装、发布的各个方面。而它们的那些优点并不能让我忽略这些缺点。

直到我遇到了 Hugo。

在去年下半年发现了 Hugo 后,我毫不犹豫的写了个脚本将之前所有的文章全部迁移了过来。仅凭它的无依赖和执行速度,就甩开它的那些前辈们好几个身位。

Go modules 对 git 版本的依赖

这些年来,由于 Go 缺少依赖管理,社区涌现了五花八门的依赖管理方案,比如 glide、govendor、godep 等。而 Go 自 1.11 起,内置了 modules 方案,总算是来了个一锤定音。

Go modules 方案的设计是非常好的,网上介绍 Go modules 机制的文章很多,我这里也不再赘述。工作中写的一些 Go 项目,我都已经用上了该方案来做依赖管理。之所以这么快的拥抱新方案,是认为有 google 的背景,即使是新鲜出炉的功能,稳定性应该是有保证的,即使有坑,趟趟也就过去了。

但是在这个过程中,发现的一些问题让我对 Go 软件工程质量的信心大打折扣。

OpenStack/Swift 中的 composite ring

OpenStack/Swift 在很早之前就有了 global clusters 的概念,给每一块磁盘赋予一个 region 的属性,在跨地域分布的集群里进行对象读写操作时,前端 proxy server 可以选择地缘近的后端存储服务来通信,进而达到低延迟和高吞吐的目的。具体配置见:Global Clusters

王小波和狄德罗

在《似水流年》里,王二曾经很想把肚子划破,掏出肠子挂到敌人脖子上去。

在和平年月里,生活只是挖坑种粮的竞争。虽然生的人高马大,我却比不过别人。这是因为:第一,我不是从小干惯了这种活计;第二,我有腰疼病,干农活没有腰不成。所以我盼望另一种竞争。在战场上,我的英勇会超过一切人。假如做了俘虏,我会偷偷捡块玻璃,把肚子划破,掏出肠子挂到敌人脖子上去。像我这样的兵员一定大为有用。但是不发生战争,我就像刘老先生一样没用。

在经历了一系列的变故后,他逐渐放弃了这个想法。