导航

随笔分类 -  Go语言

摘要:下面解读的验证码代码来自: http://www.oschina.net/code/snippet_173630_12006 这个验证码的效果类似如下下图: 这个验证码包含下面三层元素 随机大小和颜色的10个点 4位数字的验证码(随机偏转方向、每个点间距随机) 一条类似删除线的干扰线 对应的带代码注释的源文件如下: 1: package m... 阅读全文

posted @ 2013-11-22 16:36 蝈蝈俊 阅读(1455) 评论(0) 推荐(0) 编辑

摘要:Golang连接Oracle的库有很多,比较常见的如下: 不过,oralce 只提供了 oci8 的接口,必须通过它来调用,所以下面方案都逃不过相关设置。 1、go-db-oracle 地址: https://code.google.com/p/go-db-oracle/ 官方介绍: Oracle Driver using cgo to call OCI libraries from O... 阅读全文

posted @ 2013-11-22 11:43 蝈蝈俊 阅读(19522) 评论(0) 推荐(0) 编辑

摘要:golang的随机包 rand.go 中我们可以看到 rand.Read 其实是调用的io.Reader.Read() 1: // Package rand implements a cryptographically secure 2: // pseudorandom number generator. 3: package rand ... 阅读全文

posted @ 2013-11-21 17:09 蝈蝈俊 阅读(10163) 评论(0) 推荐(0) 编辑

摘要:前面一篇文章介绍了2个用Golang做的验证码 http://www.cnblogs.com/ghj1976/p/3392847.html 这里再补充几个: 1、在GAE上使用的Google的验证码(ReCAPTCHA)封装 https://github.com/ThePiachu/GAE-Go-ReCAPTCHA 这个的核心代码只在下面这个文件: https://github.co... 阅读全文

posted @ 2013-11-20 11:40 蝈蝈俊 阅读(4262) 评论(1) 推荐(0) 编辑

摘要:1、Vegeta https://github.com/tsenart/vegeta Vegeta 是一个万能的 HTTP 负载测试工具,提供命令行工具和一个开发包。 使用方法: $ vegeta attack -hUsage of attack: -duration=10s: Duration of the test -header=: Targets request header... 阅读全文

posted @ 2013-10-28 18:59 蝈蝈俊 阅读(1527) 评论(0) 推荐(1) 编辑

摘要:1、http://www.oschina.net/code/snippet_173630_12006 : 效果: 源代码: 1: package main 2: 3: import ( 4: crand "crypto/rand" 5: "fmt" 6: "imag... 阅读全文

posted @ 2013-10-28 17:33 蝈蝈俊 阅读(4357) 评论(0) 推荐(0) 编辑

摘要:mac 下编译其他平台的执行文件方式请参看这篇文章,http://www.cnblogs.com/ghj1976/archive/2013/04/19/3030703.html 本篇文章是win下的跨平台编译。 安装GCC编译器(MinGW) 我们需要GCC编译环境,这里我选择的是:MinGW。 mac 下安装了Xcode自动就带了GCC,win下没有,所以我们用MinGW这个最小化安装... 阅读全文

posted @ 2013-07-06 22:49 蝈蝈俊 阅读(8137) 评论(0) 推荐(2) 编辑

摘要:2010年8月离开CSDN后,我基本上就不再使用微软技术了,不过在使用微软.net技术的那段时间,自己写了很多小工具,比如:分析可用的代理服务器,批量处理文本等。离开CSDN后,我用的操作系统主要变成了Ubuntu、MAC。而Windows使用的频率变低了很多。这时候就很纠结,之前的小工具全部没法在非Win下跑了。那时候就强烈的期望改用一个跨平台的语言来实现这些自己常用的脚本工具。 初期的候选语... 阅读全文

posted @ 2013-06-07 19:30 蝈蝈俊 阅读(1801) 评论(2) 推荐(1) 编辑

摘要:MAC 操作系统的全局环境变量不像其他linux的设置方式,mac下需要用launchd launchctl来进行设置。 Here are the steps necessary to setup Environment Variables in Mountain Lion: Open a Term 阅读全文

posted @ 2013-05-17 17:10 蝈蝈俊 阅读(1318) 评论(1) 推荐(0) 编辑

摘要:c := http.Client{ Transport: &http.Transport{ Dial: func(netw, addr string) (net.Conn, error) { deadline := time.Now().Add(25 * time.Second) c, er... 阅读全文

posted @ 2013-05-16 16:55 蝈蝈俊 阅读(4089) 评论(0) 推荐(0) 编辑

摘要:之前下载go 的mysql包时,是如下方式, $ go get github.com/Go-SQL-Driver/MySQL 不过现在这么执行会报错误如下: Username for 'https://github.com': ghj1976 Password for 'https://ghj1976@github.com': # cd .; git clone https://github.co... 阅读全文

posted @ 2013-05-09 17:24 蝈蝈俊 阅读(1456) 评论(0) 推荐(0) 编辑

摘要:示例代码: package main import "fmt" func main() { switch a := 3; { case a >= 2: fmt.Println(">=2") fallthrough case a >= 3: fmt.Println(">=3") fallthrough ... 阅读全文

posted @ 2013-05-08 13:39 蝈蝈俊 阅读(2297) 评论(0) 推荐(0) 编辑

摘要:Golang的包sync实现了两种类型的锁: sync.Mutex 和 sync.RWMutex。通过阅读源代码我们可以知道sync.RWMutex是基于sync.Mutex实现的,其中的只读锁的实现使用类似引用计数的方式。 对于任意 sync.Mutex 或 sync.RWMutex 变量l。 如果 n < m ,那么第n次 l.Unlock() 调用在第 m次 l.Lock()调用返回前发... 阅读全文

posted @ 2013-04-27 17:10 蝈蝈俊 阅读(20813) 评论(4) 推荐(2) 编辑

摘要:比如我们经常会有这样的代码开始一个网络端口监听: err := http.ListenAndServe(listenAddr, nil) http包中这个函数的实现是: func ListenAndServe(addr string, handler Handler) error { server := &Server{Addr: addr, Handler: handler} r... 阅读全文

posted @ 2013-04-26 08:30 蝈蝈俊 阅读(5926) 评论(1) 推荐(1) 编辑

摘要:《Go编程基础》视频 第4课:常量与运算符笔记,视频上有些内容讲的对我来说不是很清楚,附加的找了一些资料补充了这些信息。 视频地址:http://www.tudou.com/programs/view/evSrdqTW9zg/ 作者的视频笔记地址:https://github.com/Unknwon/go-fundamental-programming/blob/master/lect... 阅读全文

posted @ 2013-04-24 10:09 蝈蝈俊 阅读(3306) 评论(1) 推荐(1) 编辑

摘要:go build 通过go build加上要编译的Go源文件名,我们即可得到一个可执行文件,默认情况下这个文件的名字为源文件名字去掉.go后缀。 $ go build hellogo.go$ lshellogo* hellogo.go 当然我们也 可以通过-o选项来指定其他名字: $ go build -o myfirstgo hellogo.go$ lsmyfirstgo* hellogo.g... 阅读全文

posted @ 2013-04-23 17:59 蝈蝈俊 阅读(26521) 评论(0) 推荐(1) 编辑

摘要:这个例子比较简单: 只有一个聊天室,大家进入的都是同一个聊天室。 没有用户登录,用户登录直接根据id给出匿名用户。 程序截图,UI我直接用的https://github.com/Niessy/websocket-golang-chat 这里给的例子的Html代码。 服务器端Golang代码: package mai... 阅读全文

posted @ 2013-04-23 17:37 蝈蝈俊 阅读(2284) 评论(0) 推荐(0) 编辑

摘要:我们用Golang做网站时,必然会有这样的代码: http.Handle("/", http.FileServer(http.Dir("."))) 注意这里的http.Handle( 函数的第二个参数,Golang的源码中这个函数的描述如下: // Handle registers the handler for the given pattern // in the DefaultServeM... 阅读全文

posted @ 2013-04-23 15:32 蝈蝈俊 阅读(1852) 评论(0) 推荐(0) 编辑

摘要:Go语言标准包里面没有提供对WebSocket的支持,但是在由官方维护的go.net子包中有对这个的支持,需要独立下载,Go websocket package 下载地址:http://code.google.com/p/go.net/websocket 。 Go get 命令下载:go get code.google.com/p/go.net/websocketGo实现的WebSocket的... 阅读全文

posted @ 2013-04-22 15:13 蝈蝈俊 阅读(22468) 评论(2) 推荐(1) 编辑

摘要:卸载旧版 如果之前安装了旧版的Go,需要把/usr/local/go 的旧版进行删除。 sudo rm -rf /usr/local/go 下载解压缩 下载地址:https://code.google.com/p/go/downloads/list 把下载好的压缩文件解压缩到 /usr/local, sudo tar -C /usr/local -xzf go1.0.3.linu... 阅读全文

posted @ 2013-04-19 15:45 蝈蝈俊 阅读(6016) 评论(0) 推荐(0) 编辑