说明:本文测试环境 go version go1.6.2 darwin/amd64 本地开发环境的监控如果是本地开发环境, 可以利用 GODEBUG=gctrace=1 /path/to/binary 的方式输出 GC 信息,然后用 gcvis 作可视化。 GODEBUG=gctrace=1 会 ...
阅读全文 »

问题:如何得知某个二进制的文件的 Git SHA1 值 和编译时间?总的思路都是编译时候通过某种方式将所需信息保存下来。有好几种实现方式: 1. 将这些信息作为文件名的一部分如 XXX_$Version_$Date #!/bin/bash Version=`git rev-parse -- s ...
阅读全文 »

TL;DR通过 https://kloudsec.com/github-pages 可以让你的 github pages 博客用上 Let’s Encrypt 的免费 HTTPS 证书,而且支持自定义域名! 缘起有位新加坡朋友发邮件邀请我试用他最近写的一个小工具,这个小工具可以让你的 github ...
阅读全文 »

前方高能提醒:如果你的系统小于 OS X Yosemite (10.10.3),且不准备升级到符合条件的版本,就不用往下看了。 Dlite 是什么?早在2013年底,笔者实习的时候就开始玩 docker,只是那时 docker 还是 dotCloud(现已卖掉,改名为 Docker.Inc)员工的业 ...
阅读全文 »

如果想要和 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。 问题来了, 如果上述连接条件都达不到呢?比如你在家里希望连接上公司的网络 ...
阅读全文 »