1、免去写多个location
lua比较高效的string.find
最近在看resty.waf包,看到一个lua实现的比较高效的字符串非正则匹配代码,相比string.find在100万次简单字符串匹配快一倍,具体实现代码如下:
es6 学习笔记(1)
原文地址:http://es6.ruanyifeng.com/#README
const的数组或者对象,只能保证内存地址不变,不能保证内容不变
de >const a = [];
a.push(‘Hello’); // 可执行
a.length = 0; // 可执行
a = [‘Dave’]; // 报错de>
谈谈go语言编程的并发安全
问题起因
在分布式存储开源项目 Weed-FS 中, 我发现了一个地方非并发安全(not concurrency-safety), 所以提交了一个 Weed-FS-PullRequest-75 来进行加锁保护。 简化这个问题如下:
深入理解golang的基本类型排序与slice排序
前言
其实golang的排序思路和C和C++有些差别。 C默认是对数组进行排序, C++是对一个序列进行排序, Go则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个slice(分片, 类似于数组),或是包含 slice 的一个对象。
linux通过wireshark抓包HTTP
两个简单的命令
yum install wireshark
tshark -i eth0 -n -t a -f “port 6102” -R http.request -T fields -e “frame.time” -e “ip.src” -e “ip.dst” -e “http.host” -e “http.request.method” -e “http.request.uri” -e “http.response.code”
Openresty利用ngx.thread判断超时
如果有需求在lua运行期间设置i/o的超时,可以利用go语言goroutine的思路,做一个超时判断,代码如下:
关于openresty无法编译nginx-sticky-module问题
最近升级了openresty到 openresty/1.11.2.1,发现以前一直使用的 nginx-sticky-module 无法编译通过了,于是github上找了一翻,找了一个最近update过的 nginx-sticky-module ,最终编译通过,亲测可用。