
Go in Action
文章平均质量分 79
分享golang学习的经历,以及对docker容器技术相关的实践。
https://github.com/gerryyang/goinaction
delphiwcdj
用代码改变生活
展开
-
Introduction to coroutine
导言:本文是在小组内的一个分享,介绍协程实现的几种方法和优化策略,对比GoLang中goroutine实现方式及调度器的设计,与常见后台服务器设计模式对比,使用协程的优劣分析。some questionsQ1: multitasking ? time-sharing (1960s,voluntarily/hardware interrupt to relinquish the CPU)原创 2016-10-14 09:54:51 · 1499 阅读 · 0 评论 -
Docker容器资源管理cgroups功能测试
Docker创建的容器通过Linux内核的cgroups功能(2.6.24)实现资源的分配和控制。本文使用docker 1.5版本进行测试。原创 2015-10-25 13:17:30 · 1482 阅读 · 0 评论 -
Docker使用桥接的通信方案
2015-10-30 wcdjDocker提供了四种网络通信方式,每种方式的特点可以参考:https://docs.docker.com/articles/networking/(1) bridge, NAT (default)(2) host(3) container(4) noneDocker默认使用bridge方式,网络拓扑如下:b原创 2015-10-30 11:29:02 · 10258 阅读 · 0 评论 -
使用GoLang实现文件远程传输
This tool(file_scp) likes scp(secure copy, remote file copy program) but uses golang to copies files between hosts on a network.原创 2015-08-23 13:34:48 · 5642 阅读 · 1 评论 -
GoLang之并发并行与goroutine的思考
2015-04-14 wcdj在GoLang之Concurrency再讨论一文讨论过并发的几个问题,分别如下:1,goroutine是否并发的问题2,goroutine非并发安全性问题3,并发情况下的原子操作问题本文在上述讨论的基础上,进一步对goroutine的调度机制,以及并发的实现原理进行讨论。0 goroutine 轻量的调度单位程序员使原创 2015-04-15 00:00:48 · 3405 阅读 · 0 评论 -
GoLang之调用C接口的使用方法
2014-06-10 wcdjGo的官网经常被墙,导致hen原创 2014-06-10 01:34:24 · 18658 阅读 · 0 评论 -
GoLang之搭建Web服务器
2014-02-05 wcdj0 摘要之前总结过如何使用Perl搭建Web服务《Web服务器的实现(最小的Perl Web服务器)》。本文介绍如何使用GoLang搭建Web服务,Go语言提供了一个完善的net/http包,通过这个http包可以很方便搭建一个可以运行的Web服务,同时使用这个包能很简单地对Web的路由,静态文件,模板,Cookie等数据进行设置和操作。原创 2014-02-05 16:02:20 · 14871 阅读 · 1 评论 -
GoLang之各种函数的用法
2013-12-27 wcdj大纲本文总结GoLang中常用的几种函数方法,主要包括:[0] 首先main是一个没有返回值的函数[1] 普通函数[2] 函数返回多个值[3] 不定参函数[4] 闭包函数[5] 递归函数[6] 类型方法, 类似C++中类的成员函数[7] 接口和多态[9] 错误处理, Defer接口[10] 错误处理, Panic/R原创 2013-12-27 14:53:42 · 10619 阅读 · 1 评论 -
GoLang之Concurrency多任务独立模式
2013-12-15 wcdj并发编程的一种常见方式是有多个工作需要同时处理,并且每个工作都可以独立地完成。在go语言里就是每个请求都在一个独立的goroutine(协程)里处理,和其他的协程之间没有任何通信。下面通过go语言的方式实现一个经典的独立多任务并发模式,程序创建了3个带有缓冲区的双向通道,所有的工作都会分发给工作协程来处理,协程的总数量和当前机器的处理器数量相当,将不必要的原创 2013-12-15 16:18:41 · 3610 阅读 · 0 评论 -
GoLang之Concurrency顺序管道模式
2013-12-14 wcdj本文介绍go利用管道如何进行并发计算,需要注意go的管道是双向的,而UNIX管道是单向的。PS: 在测试时自己建立了一个后缀为_test.go的文件,build后会提示如下错误:一句话解释:在go中文件名后缀为_test.go的都是单元测试文件。具体可参考:http://segmentfault.com/q/1010000000159135原创 2013-12-14 11:54:19 · 2580 阅读 · 0 评论 -
GoLang之Concurrency协程goroutine使用方法
2013-12-08 wcdj在go语言中,使用goroutine(a lightweight thread managed by the Go runtime)来实现并发程序。go f(x, y, z)starts a new goroutine runningf(x, y, z)The evaluation of f, x, y, and z happens原创 2013-12-08 21:53:14 · 4040 阅读 · 0 评论 -
GoLang之命令行使用方法——flag package
2013-12-08 wcdjgo语言通过使用标准库里的flag包来处理命令行参数。flag Package flag implements command-line flag parsing. http://golang.org/pkg/http://golang.org/pkg/flag/几点注意事项:原创 2013-12-08 17:50:33 · 25346 阅读 · 0 评论 -
GoLang之”奇怪用法“实践总结
2013-11-23 wcdj0 摘要本文通过对A Tour of Go的实践,总结Go语言的基础用法。1 Go语言”奇怪用法“有哪些?1,go的变量声明顺序是:”先写变量名,再写类型名“,此与C/C++的语法孰优孰劣,可见下文解释:article on Go's declaration syntax2,go是通过package来组织的(与pytho原创 2013-11-23 17:48:18 · 38113 阅读 · 1 评论 -
GoLang及Sublime Text 2之Mac OS X 10.8.4开发环境安装
2013-09-21 wcdj1 golang简介Go is an open source programming environment that makes it easy to buildsimple, reliable, and efficient software.golang的主页:http://golang.org/2 Mac OS X 10.原创 2013-09-21 16:33:39 · 23763 阅读 · 0 评论