摘要:今天看到@polaris1119的这篇分析源码安装Go的过程(初稿)至今还没仔细看过make.bash的内容。这篇算是阅读笔记了。环境变量首先是make.bash中用到的环境变量:GOROOT_FINAL:Go源码的根目录,这个变量的是在gcc的时候使用的,如果你设置了这个,gcc的-D参数就是你设置的GOHOSTARCH:Go所在的宿主机器的架构,当然这里指的是CPU的架构GOARCH:安装包和工具所在的机器的架构。GOOS:安装包和工具所在的机器的操作系统。GO_GCFLAGS:是否要在编译的时候需要带上5g/6g/8g的参数GO_LDFLAGS:是否要在链接的时候带上5l/6l/8l的参 阅读全文
CPU知识
2013-01-14 11:47 by 轩脉刃, 2964 阅读, 2 推荐, 收藏,
摘要:CPU的指令集是什么 指令集是底层软件与硬件交互的语言。一台计算机的全部指令称为该计算机的指令集。 现在的常见的指令集有: MIPS指令集 ARM指令集 Intel x86指令集 指令集有两种形式,一种是人类可以编程书写的形式(也就是平时所说的汇编语言),另一种是计算机所能识别的形式(就是汇编语言对应计算机的机器语言)。 下面是一个典型的MIPS汇编语言: add $s1,$... 阅读全文
Plan9操作系统基本概念
2013-01-07 16:38 by 轩脉刃, 12022 阅读, 6 推荐, 收藏,
摘要:什么是Plan 9Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。当然这个操作系统的参与者还有几个大名鼎鼎的人:包括Ken Thompson(C语言和Unix创始人),Dennis Ritchie(C语言和Unix创始人),Brain Kernighan(awk之父),Doug Mcllroy(Unix管道提出者,Unix开发参与者)。为什么有了Unix还需要有Plan9呢?Plan9中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是一个文件,网络是一个文件,任何的东西都是一个文件。Unix是一个多用户分时 阅读全文
Go的pprof使用
2012-12-27 11:07 by 轩脉刃, 91902 阅读, 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 轩脉刃, 7399 阅读, 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 轩脉刃, 6069 阅读, 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 轩脉刃, 3153 阅读, 2 推荐, 收藏,
摘要:最近经常考虑的一个问题就是程序员与程序员之间的区别是什么?大家平常说的毕业三年就能看出差距指的是什么。其实在刚毕业的几年,大家做的事情都是差不多的:选择一门语言,进入一个部门,了解部门内使用的框架,使用这些框架或开发,或完善产品,或开发新产品。那程序员的区别是从什么时候开始渐渐区分的呢?首先必须说下,程序员它只是个职业,程序员展现出来的感觉和个人的性格有很大的关系。你会发现有的程序员总是每天斗志昂扬,有的程序员是低调少语,或许更多的程序员是抱怨无奈。其实从时间轴的长度看来,斗志昂扬的并不一定就明确自己的目标,抱怨无奈的或许正是在对真正追求的内心争斗。这些的感觉都和当时的状态有关。然后说说分类, 阅读全文
go-tour源码阅读
2012-12-13 15:38 by 轩脉刃, 3192 阅读, 2 推荐, 收藏,
摘要:go-tour是一个web项目,具有很强的可读性。 下面先看下里面的目录 appengine:这个包是当你想把go-tour布置到GAE上的时候使用的安装,我们这里只是使用本地安装,所以这里的代码可以不看 solutions:这个文件夹可以忽略,只是对文档中execise的答案,与go-tour网站无关 talks:这个是作者做的关于go-tour的演讲放在这里面,也可以直接忽略 sta... 阅读全文
从文件视角看mysql
2012-12-11 18:37 by 轩脉刃, 3347 阅读, 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 轩脉刃, 17325 阅读, 2 推荐, 收藏,
摘要:现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的SMP模型。但是随着处理器的增加,共享内存可能会导致内存访问冲突越来越厉害,且如果内存访问达到瓶颈的时候,性能就不能随之增加。NUMA(Non-Uniform Memory Access)就是这样的环境下引入的一个模型。比如一台机器是有2个处理器,有4个... 阅读全文