關注你所關注的 - Golang社群調研報告
Golang語言可以說現在炙手可熱,大家熟悉的Kubernates 就是使用Golang開發的。
我們在最近於倫敦和聖地亞哥舉行的GopherCon大會上調查了1000多名開發者,以更好地瞭解Go 開發社群和對Go Module的總體看法。隨著最近釋出的Go 1.13版本,現在是向社群分享一些有趣資料的好時機。
Go開發人員是高度投入的
絕大多數的Go開發者都在使用最新版本的GoLang。超過70%的受訪者表示使用的是最新版本的Go 1.12。
同樣值得注意的是,超過82%的Golang開發者使用的是1.11或更新的版本,因此能夠使用Go Module。只有一小部分報告使用了Go的早期版本。
Go Modules 的使用率很高
幾乎同樣多的使用最新版本的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中目前沒有快取對用元件時,會自動觸發到原始碼庫中自動拉取對應元件以及版本。
2. 校驗和(checksum)資料庫支援
從Golang的1.13版開始,go get透過谷歌在sum.golang.org上維護的一個可審計的校驗和資料庫來執行模組的身份驗證。版本1.13會使用GOSUMDB環境變數中預設設定這個校驗和的DB URL。
GoCenter已經透過代理sum.golang.org幫助我們加速構建。如果你的GOPROXY設定為GoCenter,你不需要改變任何東西-你已經透過GoCenter驗證你的模組了!
3. 私有Go Module 倉庫
GoCenter用於代理透過公共源儲存庫(如Github)共享的Go Module。Golang 1.13還引入了一些環境變數,特別是GOPRIVATE,用於繞過代理和校驗和驗證,從私有儲存庫下載模組版本, 此場景比較適合企業內部有大量自研發Go Module。您可以在Golang文件中瞭解如何使用它們。
4. 版本驗證
在1.13版本中,為Go Module使用正確的字尾非常重要。go命令現在對請求的版本字串執行額外的驗證,如果模組不符合語義匯入版本控制,go get將失敗。因此,在Golang 1.13之前載入的模組的偽版本(pseudo version)可能會失敗。
總結
今天我們分享了我們在GopherCon大會上的Golang 調研結果,供大家參考,Go Module是目前比較受Golang 開發人員認可的一種依賴管理模式,當然其中還有很多問題,幸運的是,該社群現在非常活躍。
同時也介紹了部分1.13新特性以及最佳時間,推薦大家使用Gocenter 作為go 開發的 goproxy,加速本地構建,加速你的創新。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69954434/viewspace-2669644/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2019軟體工程師調查報告 這幾大要點值得關注軟體工程工程師
- AppDynamics:2021年應用關注度指數報告APP
- 大家多多關注關照
- 歡迎關注
- 蝦皮粉絲關注及取消關注外掛 shopee
- 記一次有意思的業務實現 → 單向關注是關注,雙向關注則成好友
- 谷景告訴你功率電感選型需要關注哪些
- 2024年值得關注的6個工作場所趨勢
- OpenCV 4.0正式釋出,你關注哪些特性?OpenCV
- Forrester報告:CIO今年應該關注的12項技術趨勢REST
- 思科:調研顯示郵件安全成為當下CISO關注的頭號難題
- 520特篇:有一個人在默默的關注你
- Oath:58%的廣告商更關注品牌安全了
- day10-好友關注
- 關注程式異常流
- 分析:關於 「關注後使用者資訊獲取介面」調整的通知
- 2021,你需要關注的雲安全趨勢都在這裡
- 社群因更換備案可能要關停兩個禮拜,請大家關注社群公眾號!
- 你值得關注的幾種常見的js設計模式JS設計模式
- Twitter關注者與粉絲的關係網路
- [譯] 為什麼你需要關注一下 FlutterFlutter
- QA需求評審關注點
- YYModel 原始碼剖析:關注效能原始碼
- L2-019 悄悄關注
- 批量關注掘金使用者
- CDO 亟需關注的四件事
- 2023 CDO必須關注的系統
- 我關注的那些愛國公知
- 分享學習php的非同步協程生態框架(swow),大家有興趣可以關注關注。PHP非同步框架
- win10專注助手怎麼關閉_win10系統關閉專注助手的方法Win10
- 多市工作報告關注未來5年發展,“網路安全”成高頻關鍵詞
- win10 1709怎麼關閉專注模式_win10專注模式如何關閉Win10模式
- 應急響應中你到底該關注哪些指標?指標
- macOS版本大升級,這幾項的細節值得你關注Mac
- 你關注的熱門AI技術,都有哪些最新落地案例了AI
- 微熱點:2021年5月教育行業網路關注度分析報告行業
- 暑期買量報告指南:在這個火熱的暑假裡,你期待的使用者都在關注些什麼?
- 關注潛在的整數越界問題