Golangコミュニティ調査報告書 - あなたの懸念を見ます

Golang言語が今熱い、おなじみKubernates Golangの開発を使用することであると言うことができます。
私たちは、1,000人以上の開発者が最近ロンドンで、開発コミュニティとのゴーモジュールのゴー全体図をよりよく理解するにサンディエゴで開催されたGopherCon総会を調査しました。バージョン1.13ゴーの最近のリリースでは、今のコミュニティにいくつかの興味深いデータを共有するのが良い時間です。

ところで、JFrogに、我々はまた、囲碁開発(JFrog CLIおよびX線が移動中に書かれている)です。コミュニティの維持のためにもGoLang貢献者のコミュニティ、および公共のレジストリGocenter(goproxy)に貢献しhttps://gocenter.io/。Golangは、ビルド速度に言語の開発を加速させました。

ここでは、学んだいくつかの重要なものは以下のとおりです。

囲碁の開発者は、高度に投資されている
大多数のGo開発者がGoLangの最新バージョンを使用しています。回答者の70%以上は、彼らが行く1.12の最新バージョンを使用していると述べました。
また、バージョン1.11以降を使用してGolang開発者のそれ以上の82パーセントを注目する価値がある、ゴー・モジュールを使用することが可能です。レポートのほんの一部には、ゴーの以前のバージョンを使用しています。
Golangコミュニティ調査報告書 - あなたの懸念を見ます

ほとんど多くの使用など囲碁開発者の最新バージョンはまた、彼らの組織に移動モジュールを使用して報告しました。多くの人々は半ば2020年までに、利用率が少なくとも80%に上昇し、100%に近いかもしれだから、できるだけ早く移動モジュールを使用する必要があります。
Golangコミュニティ調査報告書 - あなたの懸念を見ます

GoLangが広く様々な産業で使用され
、コンピューティングの広い範囲のため、だけDevOpsチームWeb開発の背後にある囲碁開発ものの、ほぼ5人に1人は、彼らがこれらの目的を達成するために移動を使用することを報告しました。システム、データベースやWebアプリケーションをスコアリングすることは、高くもあり、モバイルおよび組み込みデバイスの有望な分野での成長の余地がまだあることを示しています。
Golangコミュニティ調査報告書 - あなたの懸念を見ます

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

如何更好更快的选择Go Module
由于开发人员在选择越来越多的Go模块时遇到了困难,GoCenter通过交互搜索帮助用户发现。一旦你有了结果,GoCenter会提供你需要的所有信息来决定哪些模块最适合你的需求,包括活动和星级。我们也正在开发一个系统,根据选择的标准来给模块打分,这将更好的帮助Golang开发人员更快的选择到合适的模块。
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コミュニティ調査報告書 - あなたの懸念を見ます

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で、正しい接尾ゴーモジュールを使用することは非常に重要です。モジュールは失敗します取りに行く、セマンティック輸入バージョン管理を満たしていない場合に行くコマンドは、バージョン文字列要求の追加検証を実行します。したがって、Golang 1.13ロードされたモジュール(擬似版)前擬似バージョンが失敗する可能性があります。

おすすめ

転載: blog.51cto.com/jfrogchina/2460412