Gavin

一半理想,一半生活

位运算的几个常用例子

众所周知,在代码中使用位运算能大幅提高运算效率。现代计算机由于性能提升明显、一些编译器也会对此做优化。但是对于一些功能要求高效率的时候,尤其是底层常用的函数体,位运算是一个比较好的选择。例如:golang hashmap的实现就大幅运用了位运算。接下来简单介绍几个常用的位运算。 判断奇偶...


ZAB 协议详解

ZAB 的分类角色: Leader Follower Observer 读取时:客户端连接 zk 的任一节点,节点直接拿出自己对应的数据返回,这时该节点扮演 Observer 角色;写入时:客户端的任一提交都会由 Leader 去广播给所有的节点,有半数以上的节点写入成功即视为写入成功...


泛解析实例

今天北京的天气能把所有的瘦子都吹走,不过也过昨天的沙尘暴套餐。。。一直对淘宝后台商家设置的二级域名具体的实现细节比较感兴趣,今天研究了一下,发现是利用了泛解析。 首先我们需要设置域名的泛解析,如果你的主机是阿里云主机,参考 -> 这个链接 接下来我们需要设置Nginx,让 Ngi...


自己搭建简易数据统计模块

最近把 blog 从 octopress 切换到了 hexo,又试用了两个 hexo 模板。直到现在的模板也真是够折腾的. 之前一直用 baidu 的数据统计,因为第三方比较臃肿,因此想考虑自己做一个简单的统计模块。 主要的步骤如下: 通过 js 收集统计需要的元数据,然后把元数据打到ngi...


通过Sphinx和WebSocket搭建聊天机器人【二】- Demo

最近好多同学说对前段时间做的Robot很感兴趣,正好也想把它开源一下,今天整理出来,放到github上,欢迎大家来拍砖~ Github地址:gavinjx/Robot Robot的整体工作原理是:浏览器通过websocket连接到Server,不断的把聊天内容通过websocket推送到...


简述ab压测的返回参数

说起压测,使用的比较多的命令就是ab。今天在研究nginx防刷的时候,用ab测试了防刷的效果,顺便写一篇ab返回数据释义帖。 对于ab的参数 我们最常用的就是 -n 和 -c: 参数名称 含义 -n 总共请求数 -c 每秒的并发数(此数不能大于n的次数) 假设我们执行...


Codis-分布式安装和部署

最近在做的一个广告系统涉及到zk和Codis的应用,其中zk扮演了分布式配置管理以及集群管理者的角色,Codis还是分布式缓存的角色。对于zk,有时间的时候再输出一篇文章介绍下它的原理和在分布式集群管理中应用。 对于Codis,相信大家应该不陌生了,它是豌豆荚孵化的一个分布式 Redis 解决...


Nginx的Upstream

之前对于Nginx的upstream理解的有点肤浅,只是把它作为简单的反向代理和负载均衡用,最近在实际项目中发现upstream在用来做负载均衡的时候可以解决单点问题。 简单说,假设现在有两台Server:ServerA和ServerB,默认都是使用80端口,当ServerA不可用或者Ser...


简约PHP框架-SimpleF

一直是Zendframework党,当初因为忍受不了Zendframework的库文件太多,自己用到的主要还是路由和Mvc功能,于是就想自己写一个简单的框架,做个减法~ 很早就想更新下小框架了,今天得空迭代了一下。 GitHub:简易PHP框架SimpleF新增加的功能: 修改Uri Rou...


树莓派控制温湿度传感器DHT11

好久没有更新Blog了,终于有时间可以折腾下了。 小π因为好几次断电之前没有关掉系统,导致系统老是起不来。无奈只好重写了SD卡。装好后前天晚上把一个温湿度传感器(DHT11)接到了小π上,顺利读出数据来了。废话不多说了,进入正题: 首先,简单介绍下DHT11: DHT11是一个温湿度传感...