大龄产品经理学golang第23天:你不可不知的GopherChina大咖讲师们
大龄产品经理学golang第23天:你不可不知的GopherChina大咖讲师们360高级工程师郭军 “Golang 的语言特性都很优雅,对我来说 Golang 语言的最大优势是代码非常易读,语法特性能够让整个团队很容易形成统一风格的代码,这对一个大型项目来说是非常重要的。”马全一,目前就职于华为技术有限公司中央软件院,华为 FusionStage 产品 DevOps 首席架构师,开源技术专家和布道师。国内早期 Container 技术推动者,Golang 语言忠实拥趸者。第一次在业界提出了 DevOps Orchestration 的理念,并用 Golang 语言实现了一个开源版本 ContainerOps (https://github.com/Huawei/containerops)。2013 年开始研究 Docker 的时候第一次接触到 Golang 语言。由于一直工作在容器领域,接触到项目绝大多数都是 Golang 语言开发的,Golang 可以算是Clou
来源|Go中国
编辑|Emily
GopherChina 大会即将在4.15 - 4.16 在上海举办,是国内最大最专业的Go大会,聚集了全中国各地的Gopher一起分享交流。今年的Gopher大会都有哪些不可错过的Golang语言开发大神?让我们抢先了解一下,来听听他们的"Go"情结吧!
华为首席架构师马全一
马全一,目前就职于华为技术有限公司中央软件院,华为 FusionStage 产品 DevOps 首席架构师,开源技术专家和布道师。国内早期 Container 技术推动者,Golang 语言忠实拥趸者。第一次在业界提出了 DevOps Orchestration 的理念,并用 Golang 语言实现了一个开源版本 ContainerOps (https://github.com/Huawei/containerops)。
2013 年开始研究 Docker 的时候第一次接触到 Golang 语言。由于一直工作在容器领域,接触到项目绝大多数都是 Golang 语言开发的,Golang 可以算是Cloud Native 领域的基石。2014 年的时候 Docker 的 Registry 还是用Python 语言开发,自己根据 Docker Registry 的协议,用 Golang 语言做了一个开源版本的实现。随着 Docker Registry 协议的不停变换,一直维护一个独立实现的版本,后续也支持 CoreOS 的 rkt 等其它容器引擎,现在这个项目落地成为华为 FusionStage 中的软件仓库。
在写 Golang 之前的 2 年一直是用 NodeJS 开发游戏相关的系统,一直被 NodeJS 的异步回调折磨。当使用Golang 时惊喜的发现语法非常简洁,学习曲线很平,使用 goroutine 很容易写出高并发的程序。但是 Golang 的包管理机制一直不太好,社区有不少的实现方案,都不能形成标准,希望在后续的版本中,Golang 官方的 Vendor能够更完善。
“Golang 的语言特性都很优雅,对我来说 Golang 语言的最大优势是代码非常易读,语法特性能够让整个团队很容易形成统一风格的代码,这对一个大型项目来说是非常重要的。”
360高级工程师郭军
郭军,360核心安全事业部云引擎开发组技术团队一员,喜欢开源,关注golang,架构设计等互联网技术。
“在14年的时候接触学习golang,当时我们公司很少有用go的项目,手助的长连接支持2亿用户同时在线,用户中心的session系统过渡到go后,机器数量仅用了1/10,后来我们把一些请求量过百亿的系统都用go重构了也获得了不可思议的成果,当时用的是go1.3版本,gc停顿等缺点在以后的版本已经很少有人讨论了。”
Go语言最重要的一点就是简单,语法简单一周上手,用组合的方式实现OOP没有那么多复杂的概念,原生支持并发 go~,其次社区活跃,优秀的开源项目很多,完整的工具链第三方的package管理方面尚待改进,虽然开源的很多像godep,go1.5开始支持的vendor机制等,但是也只是满足最基本的需求,另外期待go team将常用标准库继续优化,支持泛型。
VMware首席架构师张海宁
张海宁,VMware中国研发中心云原生应用首席架构师,多年全栈开发经验,CloudFoundry中国社区最早的技术布道师之一,开源企业级容器Registry项目Harbor的创建人,国内最早的iOS开发者之一,《区块链技术指南》和《软件定义存储》两本书作者之一,公众号“亨利笔记”的作者。在VMware中国研发中心先后负责开源平台CloudFoundry、大数据虚拟化、软件定义存储等领域的技术布道和解决方案推广。目前着重关注云原生应用的研发工作,内容包括区块链、Container、PaaS、IaaS等方面。
最早是从2012年CloudFoundry项目中了解Go语言。CloudFoundry是开源PaaS平台,原先用Ruby语言编写,主要是为了快速的构建平台原型和加速迭代。后来在实际应用中发现Ruby语言的一些局限,例如并发性能有瓶颈等,对CloudFoundry的应用接入造成影响。团队为此逐渐采用Go语言改写性能要求高的模块,如router等。
“我用Go语言实现的第一个项目是Harbor(2014年),因为是和Docker容器相关,从技术栈上比较匹配。实际使用中效果也不错,编译速度快,效率高。并发支持较好(goroutine,channel),语言层面支持并发,一个go关键字就可以启动一个goroutine。工具链比较完善,比如gotest,gofmt,golint等。语言版本升级向后兼容性很好,我们从1.4用到1.7,代码都可以无缝升级。”
GO语言不足之处是错误处理,没有Exception之类,代码里充斥着很多的错误处理逻辑;这点在1.8并没改善。
金大师技术经理张泽武
张泽武,金大师网络科技的技术经理兼ScrumMaster。拥有九年C 项目开发经验,三年golang项目开发经验。熟悉Windows、Linux平台下系统层API调用和排错经验,了解逆向和反汇编。入职金大师后,参与了行情交易系统的研发工作,设计实现了行情处理系统的开发框架。此前曾在大智慧工作近三年,参与了新PC客户端框架、金融浏览器和金融云平台的研发工作。
第一次拥抱golang,是2014年7月在大智慧的金融云平台项目中。当时还是golang 1.3.1,当时感觉就是上手快,产出交付也快。在后面用golang做深入开发的过程中,体会要考虑兼顾的东西少了,也不会引发换行、缩进、大括号的话题,团队伙伴们表现得神采奕奕。前期使用golang在GC的性能问题比较突出,但在1.6版本后都得到了极大的改善后,我们进行了及时的升级跟进,现在1.8版本让我们更加期待。
Grab高级工程师高超
高超,目前就职于东南亚最大出行平台Grab,任软件工程师。主要负责Grab内部大数据平台的开发,涉猎领域包括分布式系统,机器学习平台和微服务架构。
“我是在2011年就接触过Go,但是直到2013年底才开始在生产环境中采用。当时作为一家初创电商公司的技术负责人,发现原本基于Django开发的整体性架构网站的性能渐渐跟不上业务的发展,部署和运维也变得越来越麻烦,架构的服务化势在必行。在这样的一个上下文中,我们决定采用Go开发一套单独的RESTful API层为移动端服务。这个决策的结果是非常令人满意的,我们发现Go不但开发效率很高(我们大概只用了二周左右就完成了整个API层的开发和部署)并且在执行效率上也非常优秀。在将移动端API迁移后,延迟降低了数倍,服务器的CPU和内存压力也得到了很大的缓解。当时我们对Go的不满意主要在于第三方的包管理上,这个问题似乎至今尚未完美解决,希望dep能带来一个好的解决方案吧。”
Go完整的工具链,简单好用的语法以及良好的对并行开发的支持,是我认为其能在众多语言中脱颖而出的几个重要原因。接下来我希望能看到Go对泛型的支持,以及第三方库管理的改进。
2016年我作为观众参与了Gopher China大会。我非常欣赏大会的风格和内容,简单来说让我感觉就是由一线开发者设计,为一线开发者设计的一场盛会。
GopherChina 大会即将在4.15 - 4.16 在上海小南国花园酒店举办,GopherChina大会是国内最大最专业的Go大会,聚集了全中国各地的Gopher一起分享交流,大会希望通过大家线下的交流,讲师的分享,让大家能够了解目前Go动态,应用场景,技术细节等。
关于今年的Gopher大会
GopherChina 大会即将在4.15 - 4.16 在上海举办,是国内最大最专业的Go大会,聚集了全中国各地的Gopher一起分享交流,大会希望通过大家线上线下的交流,讲师的分享,让大家能够了解目前Go动态,应用场景,技术细节等。
本次 GopherChina 2017 由StuQ独家直播,不能去到上海参会的伙伴们可通过直播实时收看本次 Gopher 大会。
这次的 GopherChina 2017 还有哪些大神级别的Golang语言开发者?Golang使用者?Golang布道师?让我们一睹为快!
长按二维码或戳「 阅读原文 」进入直播。