Go语言最有用的特性是将并发作为第一支持的语言,使用协程goroutine,非常容易实现代码的并发,这使得Go成为网络类应用的重要选择,本文以银行转账为例,阐述了Go1.5新版本中如何使用协程实现并发。该文还指出了在Go1.5版本之前默认所有协程只是运行在单个进程,并不支持多核CPU并行计算,1.5以后提升到支持多核。 我要晨读

已有3697人晨读

Go 1.5中加入了一个experimental feature: vendor/。这个feature不是Go 1.5的正式功能,但却是Go Authors们在解决Go被外界诟病的包依赖管理的道路上的一次重要尝试。本文和大家一起来理解下vendor这个新feature。 我要晨读

已有2996人晨读

是否担心自己的Go服务挂掉?supervisor是一个unix的系统进程管理软件,可以用它来管理apache、nginx等服务,若服务挂了可以让它们自动重启。当然也可以用来管理golang的进程。本文介绍如何使用 supervisor 管理 golang 进程。 我要晨读

已有2978人晨读

Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案相比,Consul的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案等。本文是Consul的入门介绍,并用一些例子说明如何使用Consul实现服务的注册和发现。 我要晨读

已有3352人晨读

无论使用任何编程语言开发应用,都离不开配置数据。配置数据提供的形式有多样,不外乎命令行选项(options)、参数(parameters),环境 变量(env vars)以及配置文件等。Golang也不例外。本文带领大家小结Golang程序配置方案。 我要晨读

已有1985人晨读

在一般人的眼中,“并行”就是并行,即你干你的,我干我的,两个“并行”的执行过程可能是两条毫无瓜葛的平行线,也可能是有交叉,但瞬即分开的两条线。不 过在程序员的世界里,有关“并行”的概念却有两个单词:Concurrency和Parallelism,对应的比较主流的中文翻译为并发 (Concurrency)和并行(Parallelism)。结合现实例子谈并发和并行。 我要晨读

已有1779人晨读

超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。HTTPS连接经常被用于万维网上的交易支付和企业信息系统中敏感信息的传输。HTTPS不应与在RFC 2660中定义的安全超文本传输协议(S-HTTP)相混。本文讲解https原理以及golang基本实现。 我要晨读

已有2895人晨读

在GopherCon2015开幕之 际,Google Go Team终于放出了Go 1.5Beta1版本的安装包。因为Go 1.5变动太大,需要更多时间来准备这次发布(fix bug, Write doc)。关于Go 1.5的变化,之前Go Team staff在各种golang技术会议的slide 中暴露不少。这篇文章就想和大家一起浅显地体验一下go 1.5都给gophers们带来了哪些变化吧。 我要晨读

已有2505人晨读

Go1.5 改进摘要:纯Go(+少量汇编)实现 runtime 和 编译器、改进 垃圾回收器, 支持 并发 (有个指标好像是 停顿在 10 毫秒以内)、GOMAXPROCS 默认值改为 CPU 核数 等,更多改进和变化,查看文章。 我要晨读

已有2079人晨读

一致性哈希可用于解决服务器均衡问题。用Golang简单实现了下,并加入了权重。可采用合适的权重配合算法使用。本文基本是代码,有兴趣的或需要的拿走…… 我要晨读

已有3596人晨读

image/draw 包仅仅定义了一个操作:通过可选的蒙版图(mask image),把一个原始图片绘制到目标图片上,这个操作是出奇的灵活,可以优雅和高效的执行很多常见的图像处理任务。 draw包提供了图片的生成方法,或者绘制方法.其使用方法只需导入响应的包即可"import image/draw"。 我要晨读  相关阅读: 网页链接 

已有1946人晨读

jpg和png 图片很常见,Go 编程中可能需要读取或生成这些类型的图片。Go 标准库提供了相应的包来处理这些问题。本文介绍 golang中image/jpeg包和image/png包用法。 我要晨读

已有2962人晨读

golang中sync包实现了两种锁Mutex (互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能。本文介绍golang中sync.RWMutex和sync.Mutex区别。 我要晨读

已有1623人晨读

go语言nsq源码解读:nsqlookupd。之前晨读了解nsq的用法,知道了怎么使用,了解各大模块的功能特点,同时再想想,如果让自己来实现这些模块,会是怎么样的思路。现在是时候真正开始阅读源代码了。 我要晨读  相关阅读: 网页链接 

已有1332人晨读

上一篇go语言nsq源码解读-基本介绍,介绍了最基本的nsq环境搭建及使用。在最后使用时,我们用到了几个命令:nsqlookupd、nsqd、nsqadmin、curl及nsq_to_file,并看到用curl命令写入的几个”hello world”被nsq_to_file命令保存在了硬盘文件中。本节中,将讲述这几个命令的作用、用法。 我要晨读

已有1322人晨读

go语言nsq源码解读序列晨读:NSQ是由知名短链接服务商bitly用Go语言开发的实时消息处理系统,具有高性能、高可靠、无视单点故障等优点,是一个非常不错的新兴的消息队列解决方案。本文对nsq进行基本介绍。 我要晨读

已有1553人晨读

项目中,经常会遇到不同类型切片之间的转换,一般的做法是遍历转换,这种方式不通用。本文介绍:将 []T 切片转换为 []byte,将 []X 转换为 []Y 切片。 我要晨读

已有2097人晨读

Go中连接数据库的连接池:当你需要和数据库通信时,就会从连接池里面取出一个连接,和数据库交互。使用完的闲置的连接会回到连接池,等待下一次的调用。如果连接池里面没有闲置的连接,会自动创建一个新的连接出来。本文探讨Go连接MySql数据库too many connections的问题。 我要晨读

已有1684人晨读

近期,Go Team 连续放出了几个大招来介绍即将在八月问世的 Go 1.5 这个划时代的版本。在这个版本中最主要的变化是移除了所有 C 代码——也就是人们常说的自举。本文介绍如何从源代码构建 Go 1.5 开发环境。 我要晨读

已有2211人晨读

Go语言中采用的是隐式接口, 只要满足的接口的定义, 就可以当作接口使用。隐式接口的好处有很多,但是隐式接口会带来冲突问题。本文介绍如何解决Go语言中隐式接口的冲突问题。 我要晨读

已有1617人晨读