书单

技术

《正则指引》

《程序员修炼之道:从小工到专家》

《构建之法:现代软件工程》

生活

《软技能:代码之外的生存之道》

《天生敏感》

《乔布斯的魔力演讲》

《身体知道答案》

《黑客与画家》

《解忧杂货铺》

2016-11-03 13:1679

在 macOS 取消了 PPTP 后使用 chnroutes 手动分流

还是老方法,依旧使用 chnroutes 生成路由表。并且非常不优雅,但是在找不到解决方案的时候可以暂时解决问题。

在使用 PPTP 方式连接 VPN 的时代,只要将生成的 ip-up 和 ip-down 拷贝到 /etc/ppp 目录下并且 sudo chmod +x ip-up ip-down 赋予执行权限,在连接 VPN 时会自动调用 ip-up 添加静态路由,在断开 VPN 时会自动调用 ip-down 删除静态路由。

现在 macOS 取消了 PPTP 方式的 VPN,那要怎么样来......

2016-09-28 16:31146

Node.js + Redis Sorted Set 延时任务池

生产者

添加任务时将 value 设置为任务名称并携带序列化的参数 name@params, score 设置为任务开始执行的时间戳。在每次加入任务时首先判断任务是否已经存在,如果存在跳过处理,如果不存在将任务加入任务池。

消费者

取出 score 大于 0(表示任务未执行) 且小于当前时间戳(表示任务已经到达预设执行时间)的任务,将这些任务的 score 设置为 0 表示任务正在执行中,将任务的执行次数加 1。判断任务执行次数是否已经超过限制,如果超过限制,删除任务与任务执行次数,设置任......

2016-09-22 10:0794

Node.js + Redis Sorted Set 任务队列

需求:功能 A 需要调用第三方 API 获取数据,而第三方 API 自身是异步处理方式,在调用后会返回数据与状态 { data: "查询结果", "status": "正在异步处理中" },这样就需要间隔一段时间后再去调用第三方 API 获取数据。为了用户在使用功能 A 时不会因为第三方 API 正在异步处理中而必须等待,将用户请求加入任务队列中,返回部分数据并关闭请求。然后定时从任务队列里中取出任务调用第三方 API,若返回状态为”异......

2016-09-17 21:1382

Systemd Service 中 一个`-`的困惑

在配置 Kubernetes 的过程中需要自己配置开机启动服务,有些文章中[Service]部分引入配置文件写EnvironmentFile=/path/of/config/file,而有些文件写Environment=-/path/of/config/file。仅仅一个-的差别让人困惑了好久,终于在 Fedora 的文档中发现了这样一段话,解决了困惑。

2016-04-21 12:2877
Pre