Yukang's Page

Kong源码分析: 启动

Kong的初始化过程安装好Kong之后我们是用命令sudo ./bin/kong start -c kong.conf -vv来启动。其中kong.conf为配置文件,-vv选项打印出一些重要信息展示出来,方便发现问题。 可以看到./bin/kong是一个脚本,是用的#!/usr/loc .....
阅读全文

Kong源码分析

缘由最近在工作上接触了Kong这个开源项目,因为我们内部做微服务化重构,所以导致系统相互间通信比较复杂,如果想做一些涉及各个系统的功能就很困难。比如我们前段时间实现的灰度系统就把人折腾得很惨。因为我们的设计中有一些http header 需要在各个系统之间传递。每个项目的 Nginx 里 .....
阅读全文

小说推荐

之前我用过一段时间 Kindle,因为没有使用保护套导致在书包里面被压坏。而后一两年用 IPad 看了一些电子书,始终觉得稍微有些笨重,而且看久了眼睛不舒服。前段时间在 z.cn 上瞎逛又有了买个 Kindle 的欲望,拿到手后又好好找了一些电子书比较多的网站。目前使用最舒服的还是 h .....
阅读全文

OpenResty使用总结

OpenResty最近用OpenResty比较多,除了一些业务逻辑的实现也做了AB组灰度相关的实现。OpenResty是在Nginx基础上做的扩展,应该算是国人开源项目中很成功的一个。在做的过程中写了不少Lua代码,写Lua代码的体验就是库好少,语言好简单。 OpenResty lua编 .....
阅读全文

rubytt 续

前段时间继续做了 rubytt 这个小项目,遇到一些问题。 我想做一个自动检测未定义变量的功能,发现如果只是做静态分析,是很难做出来的。还有涉及到各种 gem 包的分析,这些工作量较大。可以看出在这个PR里我甚至用上了一些硬编码。 然后我想做一个自动分析代码复杂度的功能,比如某些函数太长 .....
阅读全文

程序员病

最近看费曼的书《发现的乐趣》,里面有一段描述非常好玩: 好,弗兰克先生开始实施他的计划了,与此同时,他也得了一种病——『计算机病』。现在每个使用计算机的人都知道这个毛病,那种病非常厉害,会干扰整个工作。这是我们面临的一个严重问题。所谓『计算机病』就是你一『玩』上计算机,就会上瘾。计算机 .....
阅读全文

Ruby 程序的静态分析: rubytt

rubytt是一个 Ruby 程序的静态分析器,这个项目从16年年初一直到年底,断断续续持续了近一年。这里稍微总结一下自己的开发过程。 0. 缘由14年开始,从我进入 DJI 之后开始接触 Rails 开发。Ruby 之前也接触过,不过都是写一些小脚本之类的东西。我们几乎用 Rails .....
阅读全文

读《饥饿的盛世》

最近又读了本张宏杰的书《饥饿的盛势》。张宏杰的书今年看了好几本,讲述历史都挺生动,特别是对人物内心的剖析很到位。很多时候作者是站在历史人物的角度去分析,书里所展现的历史人物特别鲜活。很多历史人物都被脸谱化或者自带几个标签,这人不是好的则是坏的。可是人都是复杂的、多面的,真实的历史事件又会 .....
阅读全文

Nginx限流

Nginx 限流可以通过几种方式实现: 1. Nginx自带的流量控制模块ngx_http_limit_req 根据特定的key(通常为IP) 控制访问频率 ngx_http_limit_req_module 控制连接数 通过修改Nginx的配置文件,然后reload。这种方式配置比较简 .....
阅读全文

菊与刀

前些天在家偶然翻到一部日本电影《黄昏的清兵卫》,看完后觉得非常符合个人口味。顺着同类型的电影又看了《隐剑鬼爪》。两部电影都是由山田洋次导演,主要故事都是围绕德川幕府末期的武士展开。剧情其实有些类似,一个武士,一个柔弱女主,甚至是同一个仆从,在“义务”和“义理”的冲突下来一场厮杀。武士爱着 .....
阅读全文
Prev Next