服务器UPS不稳定事件调查报告

背景

这件事从最开始发现到现在已经有将近一年了,而直到现在也不能得出100%确定的原因,本文中所得出的结论也只是我的推测。任何复杂的系统,都难以通过单方面的判断得出有效的结论,消融实验是必要的,而很多时候又没有做消融实验的条件和时机。谨以本篇文章,还原我从发现UPS不稳定,到得出结论的心路历程,希望能带给读者一些参考。如果有读者遇到类似的事件,不妨与我讨论。

阅读更多

用 pyenv 管理 Python 版本

缘起

笔者曾提到,Python 用 venv 创建虚拟环境。的确,Python 中采用 venv 来管理虚拟环境是一个很棒的局部安装方案,类似 npm 的 node_modules 目录。但是该方案还尚且不能解决 Python 版本切换的问题,幸运的是,pyenv 这个工具可以完美解决,类似 npm 中的 n,它可以使用简单的命令切换多个 Python 版本。

阅读更多

为 Hexo 添加追番页面

作为一个老二次元,我经常看番,但随着自己看过的番剧数量增多,在与其他二次元同好交流喜欢的番剧时,往往都是听到一个番,啊这个我看过,那个我也看过,到了让你自己说出几个喜欢的番剧时,一个字都蹦不出来。如果俩人都是社恐,那场面就更尴尬了。

为了解决这个尴尬,我在博客里创建了一个追番列表,你可以访问这个网址来了解我都看过哪些番剧,这样交流起来是不是就容易多了呢?现在我每次遇到二次元同好,啥也不说,把这个网址发给人家,他就会指着这里面的番剧说:啊这个我看过,那个我也看过。对吧,有效地解决了社恐二次元的烦恼。

阅读更多

神仙代码之 C 语言求圆周率

1
2
3
4
5
6
7
8
#include <stdio.h>
long a=10000,b=0,c=10000,d,e,f[10001],g;
int main(){
for(;b != c; f[b++] = a/5);
for(; d=0,g=c*2,c>5000; c--,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
return 0;
}