关注你所关注的 - Golang社区调研报告

Golang语言可以说现在炙手可热,大家熟悉的Kubernates 就是使用Golang开发的。
我们在最近于伦敦和圣地亚哥举行的GopherCon大会上调查了1000多名开发者,以更好地了解Go 开发社区和对Go Module的总体看法。随着最近发布的Go 1.13版本,现在是向社区分享一些有趣数据的好时机。

BTW, 在JFrog,我们也是Go开发者(JFrog CLI和Xray都是用Go编写的)。 同时也是GoLang社区的贡献者, 并为社区维护贡献了公共注册中心 Gocenter(goproxy) https://gocenter.io/. 加速Golang语言开发人员构建速度。

以下是我们学到的一些关键的东西:

Go开发人员是高度投入的
绝大多数的Go开发者都在使用最新版本的GoLang。超过70%的受访者表示使用的是最新版本的Go 1.12。
同样值得注意的是,超过82%的Golang开发者使用的是1.11或更新的版本,因此能够使用Go Module。只有一小部分报告使用了Go的早期版本。

几乎同样多的使用最新版本的Go开发人员也报告在他们的组织中采用了Go Module。也有相当多的人希望尽快使用Go Module,这样到2020年中期,其使用率将上升到至少80%,并可能接近100%。

GoLang被广泛应用于各个行业
虽然Go开发应用于广泛的计算领域,但DevOps仅排在Web开发之后,有近五分之一的报告称他们使用Go来实现这些目的。系统、数据库和网络应用程序的得分也很高,这表明在移动和嵌入式设备等有前途的领域还有很大的增长空间。

选择Go Module很难
当开发人员选择开源组件时,他们倾向于追求安全性和质量。但在如何判断 Go Module的风险方面,几乎没有共识。
大多数报告显示人们偏好用他人使用最多的包,以及流行度所带来的保证。同时安全漏洞也是一个问题,开发人员如何确定一个包的风险在各种各样的条件下是不同的,如内网环境和外网环境同一个漏洞的处理可能是不一样的。

如何更好更快的选择Go Module
由于开发人员在选择越来越多的Go模块时遇到了困难,GoCenter通过交互搜索帮助用户发现。一旦你有了结果,GoCenter会提供你需要的所有信息来决定哪些模块最适合你的需求,包括活动和星级。我们也正在开发一个系统,根据选择的标准来给模块打分,这将更好的帮助Golang开发人员更快的选择到合适的模块。

GoCenter
我们感谢所有对我们GoLang调查做出回应的开发者。我们从中获得的信息将帮助我们帮助您,特别是在我们继续使GoCenter成为帮助采用Go Module的有用工具的情况下。

如果您还没有听说过GoCenter,那么它提供了不可变的、版本化的模块的中心源,这些模块直接从公共源存储库中的Go项目进行处理和验证。在众多好处中,使用GoCenter可以加快GoLang应用程序的构建时间。

GoCenter现在托管了超过260,000个版本化的Go Module,这些模块可以免费提供给Go开发者社区。

GoCenter与Golang 1.13的最佳实践

  1. 使用Gocenter 作为Goproxy
    在Golang 1.13中,Go Module的支持在默认情况下是启用的。尽管Go客户端的新安装会自动设置一个默认的google托管代理,在国内你可以覆盖它并使用你选择的Go Module代理,比如GoCenter。

要使用GoCenter作为版本化go模块的代理,请将GOPROXY环境变量设置为GoCenter URL:

Golang 1.13中的新特性允许您在GOPROXY中指定由逗号分隔的多个代理,以及直接从源代码下载模块的Direct 模式(这种模式的场景是goproxy中没有对应模块或版本是会返回404)。但是GoCenter目前支持了自动包含特性,意味着您在使用GoCenter进行代理时不需要使用这些Direct模式,当gocenter中目前没有缓存对用组件时,会自动触发到源码库中自动拉取对应组件以及版本。
https://github.com/jfrog/gocenter/blob/master/releases.md#2019-march-27-enhanced-automatic-inclusion-of-go-modules

  1. 校验和(checksum)数据库支持
    从Golang的1.13版开始,go get通过谷歌在sum.golang.org上维护的一个可审计的校验和数据库来执行模块的身份验证。版本1.13会使用GOSUMDB环境变量中默认设置这个校验和的DB URL。
    GoCenter已经通过代理sum.golang.org帮助我们加速构建。如果你的GOPROXY设置为GoCenter,你不需要改变任何东西-你已经通过GoCenter验证你的模块了!
  2. 私有Go Module 仓库
    GoCenter用于代理通过公共源存储库(如Github)共享的Go Module。Golang 1.13还引入了一些环境变量,特别是GOPRIVATE,用于绕过代理和校验和验证,从私有存储库下载模块版本, 此场景比较适合企业内部有大量自研发Go Module。您可以在Golang文档中了解如何使用它们。
  3. 版本验证
    在1.13版本中,为Go Module使用正确的后缀非常重要。go命令现在对请求的版本字符串执行额外的验证,如果模块不符合语义导入版本控制,go get将失败。因此,在Golang 1.13之前加载的模块的伪版本(pseudo version)可能会失败。

原文地址:https://blog.51cto.com/jfrogchina/2460412

时间: 2024-10-13 00:45:59

关注你所关注的 - Golang社区调研报告的相关文章

《母婴人群微信使用行为调研报告》新妈妈成主力军

母婴市场是块大蛋糕,微信又日趋火热,如何通过微信来分一块呢?先从分析她们的日常习惯做起.近日央视市场研究(CTR).新媒体排行榜联合发起了<母婴人群微信使用行为调研报告>,以育儿网pc端.手机app妈妈社区.微信母婴大号为调研平台,采用网络在线问卷调研的形式,面向全网的妈妈展开,经过前期策划.问卷调查.数据整理分析等过程,最终形成此份报告. 一.微时代中关注育儿/母婴资讯的妈妈人群偏向产后人群 与育儿网pc端孕妇人群占比量对比:育儿网pc孕妇15%,此次调研样本孕妇7%,由此可见微信里面关注育

大学生实习就业调研报告之二 - 共性问题与企业技术&amp;管理者探讨

摘要:2014年8月,CSDN高校俱乐部推出面向大学生的<实习就业需求调研>活动.截止10.31日活动结束,共收到几百所高校学生的反馈,汇集当代大学生在实习就业中普遍存在的心态问题及就业期望.为此高校俱乐部整理分析全部调研数据,针对学生反响强烈的有代表性和针对性的问题,邀请业内专家和管理者进行逐一答复,希望对即将毕业和迷茫中在读的大学生,提供借鉴帮助和指导裨益.本文为CSDN高校俱乐部原创,全部观点为原始采集.如需转载,请注明出处CSDN高校俱乐部,或联系[email protected].

SANS:2014年安全分析与安全智能调研报告

2014年10月份,紧接着2014年度日志管理调研报告(Log management survey),SANS又发布了2014年度的安全分析与智能调研报告(Analytics and Intelligence Survey 2014). 正如我之前博客所述,SANS认为安全分析与日志管理逐渐分开了,当下主流的SIEM/安管平台厂商将目光更多地聚焦到了安全分析和安全智能上,以实现所谓的下一代SIEM/安管平台.而安全分析和安全智能则跟BDA(大数据分析)更加密切相关. SANS对安全智能的定义采纳

SANS:2015年安全分析与安全智能调研报告

2015年11月,SANS发布了第三次安全分析与安全智能调研报告2015年版(Analytics and Intelligence Survey 2015).报告对来自全球的企业和组织共计476位专业人士进行的调研访谈.今年的调研问题比去年更加深入. 调研表明,与去年相比,大家对安全分析与安全智能的认知更高了,应用也更多了,但距离理想目标依然还有不小的差距,尤其是合格的从业人员(分析师)的短缺问题更加突出了.对于大数据技术应用于安全分析这个问题,得到了更多人士的认同.相较于安全数据的大数据化这个

SANS:2019年网络威胁情报现状调研报告

2019年2月,SANS照例发布了全新年度的CTI(网络威胁情报)现状调研报告. 今年的报告更换了主笔分析师.但SANS对CTI的广义定义依然没有变.总体上,SANS认为CTI的应用越发成熟,其发挥的价值也越来越大,CTI的应用正逐步深化.1)报告显示,72%的受访组织生产或消费了CTI,比2017年的60%有显著提升.2)更多的组织开始关注情报报告,但认为将那些情报报告中的有用信息转换为机读情报比较麻烦[笔者注:一方面,现在有一些开源的报告情报信息提取工具:另一方面,情报报告的提供者开始一并提

SANS:2016年网络威胁情报现状调研报告

2016年8月份,SANS发布了最新一期有关网络威胁情报的发展现状调研报告. 注意,本文不是译文.原文请前往http://www.sans.org/reading-room/,题为<The SANS State of Cyber Threat Intelligence Survey: CTI Important and Maturing>,需翻墙. 报告指出,随着网络空间安全威胁日趋严重,网络威胁情报(CTI)的作用更加凸显.41%的受访者表示他们运用CTI的能力趋于成熟,更有26%的人表示能

电梯调度——调研报告

需求调研报告 立项背景: 石家庄铁道大学基础教学大楼是一座18层的建筑,其内部配备4部电梯,学生和老师使用电梯的高峰时段相对集中于每次上课/下课的时段,故电梯的使用具有突发性和荷载量大的特点,故设计合理的电梯调度算法,避免出现 “公共汽车”,即把电梯作为总线,它从底部到顶部,停在每一层楼,打开门,让人们进出,然后把门关上,继续前进.之后到达顶层,它会下去.可以极大的提高电梯的工作效率. 石家庄铁道大学基础教学楼的电梯配置如下: 电梯数量:4部 电梯的最大容量为15人 电梯经过每楼层的时间:3秒

团队开发——用户需求调研报告

用户需求调研报告  项目名称: 智能点餐 项目编号 调研主题: 智能点餐需求调研 访谈时间:2015.4.12 调研地点: 学校门口马路两侧小吃摊 访谈部门: 小吃摊摊主和排队等待买饭的同学们 参与人员: {注明姓名.职务.联系方式等相关信息}  1.访谈目的 了解小吃摊是否有网上订餐服务,是否有这方面的需求: 同学们是否有网上订餐的愿望,以及有什么建议: 2.主要议题 寻找推出该订餐软件的意义所在  3.调研记录   表1.小吃摊主 问题 反馈 建议 平时买饭的人多吗? 平时买饭的人多,不是高

手电筒用户需求调研报告

用户需求调研报告 项目名称: 牛牛的手电筒 项目编号:xxx 调研主题: 牛牛的手电筒 访谈时间:2015/4/13 调研地点: 石家庄铁道大学 访谈部门: 宿舍 参与人员: 调查人:薛瑞景 张锡康 梁宗泳  被调查人:信1205 冯渊 1. 访谈目的 在用户群体中寻找我们软件的改进点. 2. 主要议题 1).对我们这款软件有什么特殊要求. 2).有什么好的建议. 3).了解用户对我们的的产品的总体感觉. 3. 调研记录 业务主题:对周围人群进行调查. 软件类型:手电筒,app应用 软件介绍:这