All Stories

Work on Thumbnail Service

这个项目很早前就听说要做了,一直拖拖拖,我实在很想做这个东西,周一就跟TL说,然后就简单谈了一下,确定了架构和分工,于是就开始了。

最近脾气很暴躁

最近脾气越来越暴躁了,很容易发怒。

Blog开启https支持并强制使用

上周在cloudflare又新建了个账号,记得很多年前我有个账号的,不过忘了密码也忘了注册邮箱,只好再新建个。然后用free plan加了两个域名,其中一个就是现在blog在用的minidump.info,cloudflare除了CDN,还能提供SSL,这点非常赞,于是就加上了。昨天晚上看到有人说自己在github pages上的blog因为敏感词被GFW过滤而reset了某个页面,于是我想不如把整站强制使用https算了。说干就干,因为我用的是Jekyll,只要在_layout的模板中加几行Javascript代码就可以搞定:

程序被Google Breakpad挂住了

很长一段时间来,一直偶尔有发现进程在收到SIGTERM或SIGKILL后,仍然不能完全退出。之前总以为是sighandler写得有问题,还怀疑过是SIGTERM不够强力,需要用SIGKILL,事实证明其实都没关系。

现在做事越来越没意思了

以前吧,虽然经常被骂,还被气得肝疼,但那都是人际方面的问题,还可以安慰自己至少做的事情还是比较有兴趣的。现在嘛,被骂得少了很多,倒是做的事情越来越没意思了。

我对Lua coroutine的理解

今天一个人闲来无事跑去图书馆续证,结果发现证上说的2年有效期虚惊一场,不知何时起已经改成永久有效了。于是又去中文外借室逛了一圈,还真找到几本感兴趣的书。其中一本是老毛子写的《深入实践Boost》,里面有一段讲到了Boost.coroutine,看了一遍不是很明白其中的用意,于是我又想起Lua中的coroutine来了。Lua在几年前学过用过,写过几万行的代码,但最精髓的部分(coroutine,table高级用法等)却被我略过了。于是这次在网上逛搜了一通相关的中文文章,终于有了一点点理解。

又修正一个线程挂死的问题

最近一直在用shell脚本自动在跑一个简单的测试,就是不停地停止和重新启动一个relay进程,如此反复轮循,这样每过一段时间,比如两三天,或者更短或者更长,就会遇到一个问题:再也停不了任何一个relay进程,也不会重新启动进程。

使用Travis服务交叉编译Go程序

昨天花了一天时间,把github上几个Go程序通过travis实现交叉编译,再把编译生成的二进制可执行文件push回github上的prebuilt branch,这样每次有新的commit后,都会自动生成各个支持平台的最新的二进制可执行文件,相当方便。

奇怪的死锁

之前一段时间一直遇到一个问题,假设有L和R两个程序,L负责启动R,杀掉R,或者在R异常退出时自动重启R,众所周知在Linux上一个程序要运行另一个程序,是先fork,然后exec执行另一个程序代码。于是问题来了,大绝大多数情况下L和R都如预期地运行,但有时候会出现R没被运行起来,用ps看是两个L在跑,也就是说fork了之后没执行到exec那儿!