代码改变世界

Go的pprof使用

2012-12-27 11:07 by 轩脉刃, 91489 阅读, 7 推荐, 收藏, 编辑
摘要:go中有pprof包来做代码的性能监控,在两个地方有包: net/http/pprof runtime/pprof 其实net/http/pprof中只是使用runtime/pprof包来进行封装了一下,并在http端口上暴露出来 pprof包 web 服务器 如果你的go程序是用http包启动的web服务器,你想查看自己的web服务器的状态。这个时候就可以选择net/http/ppr... 阅读全文

Go中的CGI包使用

2012-12-25 10:03 by 轩脉刃, 7209 阅读, 0 推荐, 收藏, 编辑
摘要:Go中包含有CGI包,net/http/cgi,这篇文章就是来阅读和使用这个包。关于cgi的参数和运行,可以看这篇文章:CGI的一些知识点 CGI包阅读 cgi包的存在就告诉我们一件事情,cgi服务端和客户端完全可以使用Go来写 这个包其实很简单,只有两个文件,其他都是测试程序 child.go host.go host.go是可以直接宿主到go的web服务器上的代码,里面提供了... 阅读全文

CGI的一些知识点

2012-12-24 11:31 by 轩脉刃, 5994 阅读, 1 推荐, 收藏, 编辑
摘要:CGI(Common Gateway Interface)是能让web服务器和CGI脚本共同处理客户的请求的协议。它的协议定义文档是http://www.ietf.org/rfc/rfc3875。 其中Web服务器负责管理连接,数据传输,网络交互等。至于CGI脚本就负责管理具体的业务逻辑。 Web服务器的功能是将客户端请求(HTTP Request)转换成CGI脚本请求,然后执行脚本,接着将CGI... 阅读全文

杂想程序员

2012-12-21 10:34 by 轩脉刃, 3139 阅读, 2 推荐, 收藏, 编辑
摘要:最近经常考虑的一个问题就是程序员与程序员之间的区别是什么?大家平常说的毕业三年就能看出差距指的是什么。其实在刚毕业的几年,大家做的事情都是差不多的:选择一门语言,进入一个部门,了解部门内使用的框架,使用这些框架或开发,或完善产品,或开发新产品。那程序员的区别是从什么时候开始渐渐区分的呢?首先必须说下,程序员它只是个职业,程序员展现出来的感觉和个人的性格有很大的关系。你会发现有的程序员总是每天斗志昂扬,有的程序员是低调少语,或许更多的程序员是抱怨无奈。其实从时间轴的长度看来,斗志昂扬的并不一定就明确自己的目标,抱怨无奈的或许正是在对真正追求的内心争斗。这些的感觉都和当时的状态有关。然后说说分类, 阅读全文

go-tour源码阅读

2012-12-13 15:38 by 轩脉刃, 3174 阅读, 2 推荐, 收藏, 编辑
摘要:go-tour是一个web项目,具有很强的可读性。 下面先看下里面的目录 appengine:这个包是当你想把go-tour布置到GAE上的时候使用的安装,我们这里只是使用本地安装,所以这里的代码可以不看 solutions:这个文件夹可以忽略,只是对文档中execise的答案,与go-tour网站无关 talks:这个是作者做的关于go-tour的演讲放在这里面,也可以直接忽略 sta... 阅读全文

从文件视角看mysql

2012-12-11 18:37 by 轩脉刃, 3316 阅读, 3 推荐, 收藏, 编辑
摘要:这里的几个rpm意义分别是:(http://docs.oracle.com/cd/E17952_01/refman-5.0-en/linux-installation-rpm.html) MySQL-client:包含最少的访问mysql服务器所需要的客户端命令。里面包含的是像mysql,mysqladmin这样的工具。 MySQL-devel:包含开发mysql客户端所需要的库。里面没有... 阅读全文

NUMA的取舍

2012-12-10 18:30 by 轩脉刃, 17291 阅读, 2 推荐, 收藏, 编辑
摘要:现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-Uniform Memory Access)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个... 阅读全文

Go中的闭包

2012-12-09 19:26 by 轩脉刃, 19865 阅读, 0 推荐, 收藏, 编辑
摘要:闭包是很多语言必备的功能了,golang也不例外。先看下面的这个例子:package mainimport "fmt"func adder() func(int) int { sum := 0 return func(x int) int { sum += x return sum }}func main() { pos, neg := adder(), adder() for i := 0; i < 10; i++ { fmt.Println( pos(i), ... 阅读全文

go-tour练习解答

2012-12-09 19:15 by 轩脉刃, 8812 阅读, 1 推荐, 收藏, 编辑
摘要:go-tour对于想学习golang的人来说是一个很好的教程。首先go-tour是有web版本,但是需要FQ。如果不能FQ的,也可以在google code上自己下载go-tour源码,go build,run一下,在自己的机器上就可以跑这个教程了。提醒下,如果是后者,这篇文章中的程序对应的import包就需要进行相应修改了。下面给出我的go-tour中的Exercise的解答(在web上已经测试通过)Exercise: Loops and Functions第一个循环10次:package mainimport ( "fmt")func Sqrt(x float64) f 阅读全文

[阅读笔记]fsnotify源码阅读

2012-12-02 18:41 by 轩脉刃, 3999 阅读, 1 推荐, 收藏, 编辑
摘要:fsnotify的github地址是https://github.com/howeyc/fsnotifyfsnotify是一个文件夹监控应用。可以使用创建一个watcher来对某个文件夹进行监控文件目录很简单,实际就两个程序文件,fsnotify.go 和 各平台的fsnotify_XXX.go后一个文件是各个不同平台的实现example_test.go中给的是最简单的实际应用先fsnotify.NewWatcher()再开一个goroutine监听文件夹修改的事件然后使用watcher.Watch()来监听一个文件夹fsnotify中的几个public函数Watch,WatchFlags,R 阅读全文
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 49 下一页