如果想要和 redis 打交道, 譬如实现某种语言的 redis 的客户端, 实现 redis 的 proxy,都得懂 redis 的数据序列化协议 REdis Serialization Protocol(RESP)(MySQL 同理). Redis使用 TCP 作为其数据传输协议,而分析 TCP ...
阅读全文 »

我之前一直用 Charles 这个抓包软件来分析 HTTP 请求。而对于浏览器(这里特指Chrome)的抓包, 我通常使用 Proxy-SwitchySharp 这款插件来辅助。 突然有一天,上面这个搭配没法工作了(提供 HTTPS 的网站才会这样)!浏览器提示: Server has a weak ...
阅读全文 »

总的来说,这是一次草率的升级行为。 备注: MySQL 5.6.23-72.1 innodb, 非SSD盘; CentOS 6, 64 bit 作死特征: 在线更新,不停服; 大白天。上午10点左右,属于我们业务的高峰期; 表数据量大, ~2800w 行; 修改的是 Email 认证表,事关 ...
阅读全文 »

记录下如何部署应用到 Heroku。 注意: 本文只关注如何部署自己的 GitHub 代码到 Heroku。 先参考 Heroku 提供的 Demo 了解大概情况。 依赖 godep; 生成 godep 依赖。 godep save ./… 。不要用 -r 参数; 包括那些依赖包, 一并提交到gi ...
阅读全文 »

最近比较流行使用姓名首字母作为头像, 而我们的产品也有类似的需求。有同事写了个头像服务,我看了下目前网上还没有 Go 版的 initials avatar 库, 就想着弄个轮子。 原来的代码可能是写的仓促, 看起来并不是很清晰, 于是我剥离了原来的业务需求,写了个简单的库。本以为自己写的还可以, ...
阅读全文 »

如果需要远程连接, 目的地无外乎两种: 字符终端 图形终端 如果是字符终端,一般使用 SSH;如果是图形终端,一般是 VNC。二者有个共同点, 即连接方与被连接方需处于同一网络内(比如局域网?),或者被连接方具有公网IP。 问题来了, 如果上述连接条件都达不到呢?比如你在家里希望连接上公司的网络 ...
阅读全文 »

温故而知新 Hypertext Transfer Protocol – HTTP/1.1 The Go Programming Language Specification MySQL 5.6 Reference Manual
阅读全文 »

最近业余时间用 Go 写一个 API 测试工具时, 遇到一个很奇怪的问题。处理请求返回内容的时候, 遇到error malformed HTTP response "<html>".搜了下 Go 的标准库代码,发现是 net/http ReadResponse函数里面 ...
阅读全文 »

仅以此博客督促自己多看书、多学习。 人生需要经常打鸡血。 鸡血文: 我的算法学习之路 最能燃起你学习激情的一句话是什么 为什么你应该(从现在开始就)写博客
阅读全文 »