标签归档: go

go get 命令设置代理

众所周知的原因,使用 go get 下载不了某些开源工程或者非常慢。

网上找了一些办法发现好用,在此做下笔记。

前提是自己有 SS windows客户端。

在控制台分别输入

set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080

端口号看自己的设置,然后用 go get 命令。

新blog

隔了差不多一年没写日志

由于因为厌烦了WordPress更新和时不时发现bug,14年初就想用go重写blog。

新blog是在空余时间逼着自己一点一点写起来的。

主题是扒了WordPress的,框架用的是beego。

后台丑的没法看只能用,没有任何css、js纯html。

其他功能以后再一点点慢慢完善吧

优化Go自带的http.FileServer

最近发现一个不错的用go语言写的静态博客程序gor,原理是用gor程序生成整站静态的html网页。

我把它放在了阿里云上测试,发现打开网站速度有点慢,同样的我现在博客非静态的都比他快。

后查原因,原来gor直接调用go自带的http.FileServer实现web服务,而Go自带的http.FileServer没有对文本文件进行优化,浪费了大量带宽,如css、js等文本文件可以进行gzip压缩(Content-Encoding gzip),如jpg、js、css等不常变的文件可以设置在浏览器本地缓存时限(Expires Sat, 08 Jun 2013 19:42:15 GMT)。

阅读 Go\src\pkg\net\http\fs.go 源码发现不是很深奥,自己有时间可以动手改。

有趣的是发现 七牛存储 整站也没有进行优化。

-------------------------------------------------------------------------------------------------
后续发现 FileServer 带有 Last-Modified 标签,这个是文件最后修改时间,当浏览器再次请求同一文件时 会把 Last-Modified 加入到请求 If-Modified-Since 标签,服务器收到后跟服务器端对比如果没有改变则返回304,否则返回新的文件。
而Expires标签不同,只要浏览器发现文件没过期,就不会发送询问文件有没修改的请求,这样就减轻了服务器的压力。

go语言学习教程

首先go语言的下载
https://code.google.com/p/go/downloads/list
1.0.3版是目前最新版,最好是安装版的,会帮你设置好环境变量。

编辑环境的搭建
http://blog.csdn.net/love_se/article/details/7754274
这位仁兄讲的非常清楚非常的好,个人非常推荐SublimeText2这个工具,以前我用的是Eclipse,这货启动慢,自动提示不准确慢,设置麻烦。

最后教程
http://coolshell.cn/articles/8460.html
http://coolshell.cn/articles/8489.html
这里讲的非常浅显易懂了。。。