• 使用Golang開發OpenStack服務的CLI

    由于我們需要編寫自己服務的客戶端,之前參考過magnum的python客戶端,編寫過一個,整體感受就是: 一件簡單的事兒,被他封裝的很復雜,而且還有一個關鍵痛點,部署問題: 1.依賴python環境 2. 蹩腳的二進制打包方式。因此,作為一個產品的CLI,以二進制方式交付會帶來諸多方便,比如cloud foundry也用golang重寫了他的客戶端部分。 Cobra簡介 在博客的開篇寫過一篇cobra的博客: 如何使用golang編寫漂亮的命令行工具, 很多流行的CLI都基于這個庫開發,比如ku…

  • 找到惡意軟件包:Go 語言生態系統中的供應鏈攻擊是怎樣的?

    近期發生的嚴重的 SolarWinds 攻擊事件和新型 “依賴混淆“攻擊,讓供應鏈攻擊成為討論焦點:攻陷供應鏈中不太安全的元素,導致更安全的目標遭攻陷。 供應鏈攻擊的流行目標一直都是流行編程語言的很多包管理系統,如 NPM (JavaScript)、Rubygems (Ruby) 以及 PyPI (Python)。這些系統常年來遭受惡意攻擊,攻擊者上傳惡意包并等待受害者安裝。 目前為止,尚未看到關于 Go 生態系統的供應鏈攻擊情況。鑒于 Go 語言是我的新寵,我決定自己做一些調查。 好在依賴混淆…

    Go自學教程 2021年6月24日
  • Go 中如何準確地判斷和識別各種網絡錯誤

    Go語言集成了簡單易用的網路庫,今天的推送是一線架構師分享的Go網絡庫使用入門指南。 Go 自帶的網絡標準庫可能讓很多第一次使用它的人感慨,這個庫讓網絡編程的門檻低到了令人發指的地步。然而,封裝層次與開發人員的可控性往往是矛盾的。Go 的網絡庫封裝程度算是一個不錯的折衷,絕大部分時候,我們只需要調用 Dial, Read, Write Close 幾個基本操作就可以了。 但是,網絡是復雜的。我們有時候需要細致的處理網絡中的各種錯誤,根據不同的錯誤進行不同的處理。比如我們遇到一個網絡錯誤時,需要區…

    Go自學教程 2021年6月24日
  • 使用 Go 實現 TLS socket server

    安全傳輸層協議 TLS,以前稱為 SSL(Secure Sockets Layer) ,由于HTTPS的推出受到了很多人的歡迎。但是正如TLS的名稱 Transport Layer Security 所示的那樣,它實際上是獨立于 HTTP,一個更深入的安全協議,我們可以將 TLS 視為 TCP 的安全版本,其提供了對 socket 通信進行加密和簽名的功能。在我們的日常開發中,會將 gRPC 協議運行在TLS之上以確保安全。 今天我們來了解一下如何創建一個通過 TLS 加密的 socket 服務…

  • 我們為什么需要Go這樣一門新語言呢?

    Go語言官方自稱,之所以開發Go 語言,是因為“近10年來開發程序之難讓我們有點沮喪”。這一定位暗示了Go語言希望取代C和Java的地位,成為最流行的通用開發語言。 Go希望成為互聯網時代的C語言。多數系統級語言(包括Java和C#)的根本編程哲學來源于C++,將C++的面向對象進一步發揚光大。但是Go語言的設計者卻有不同的看法,他們認為C++ 真的沒啥好學的,值得學習的是C語言。   C語言經久不衰的根源是它足夠簡單。因此,Go語言也是要足夠簡單! Stack Overflow 20…

  • 0元搶!Go開發升級課程正式開班,免費試聽通道限時開啟!

    5月29日早上9:00,Go后臺開發大廠高薪實戰特訓班正式開班! 當天,早9:00—晚18:30,VIP正課全天直播,现金捕鱼电玩城教育誠邀您來免費試聽! 你還在為未來感到迷茫嗎?你還在苦于拿不到高薪嗎?你對Go后臺開發有了解嗎?你知道進大廠需要掌握哪些技能嗎? 來參加這次試聽吧,為你的夢想之路開疆擴土! 本次直播將會在騰訊課堂實時同步,大家可掃描下方二維碼提前預約,相信這場直播將會給你帶來意向不到的收獲! 騰訊課堂直播二維碼 (微信預約直播) 觀看tips:掃描上方二維碼,下拉目錄至 → 11 Go語言…

  • 50 萬行Go代碼,美國一組織從Python 2遷移到 Go

    美國教育非營利組織可汗學院(Khan Academy)方面透露,其已經用谷歌的 Go 編程語言完成了 50 萬行代碼,以取代此前用 Python 2 編寫的后臺服務器。根據介紹,可汗學院在其 Goliath 項目下實現了從 Python 2 到 Go 的大轉變。Goliath 最初是使用 Python 2 實現的;從 2019 年開始,可汗學院逐步將其遷移到了 Go。 當我們開始 Goliath 項目的時候,團隊中沒有人知道 Go,只是通過實驗驗證了 Go 是相較而言更好的選擇。今天,我們所有的…

  • SRE和DevOps值得關注的十大開源項目

    構建可擴展且高度可靠的軟件系統是每個SRE的最終目標。 在SRE/DevOps領域中,有大量出色的開源項目,每個項目都有新穎而激動人心的解決方案。在本文中,我們將會介紹一些在監控,部署和運維領域最受歡迎的開源項目。 1. Cloudprober Cloudprober可以主動跟蹤和監控應用程序,并幫助你提前發現故障。它使用“活動(active)”監控模型來檢查你的組件是否按預期運行。例如,它會主動運行探針,以確保你的前端是否可以訪問你的后端。同樣,可以運行探針來驗證你的本地系統是否可以真正訪問你…

  • 如何用Golang協程實現流量統計系統?

    相信專業的程序開發人員都對并發編程十分熟悉。實現并發編程有進程、線程等方式,但是多進程和多線程并不是很完美。都是有內核進行調度,有 CPU 時間片的概念,進行搶占式調度,對于編程來說,難度比較大。 而 Golang 作為一門現代化的編程語言,它不需要你直面這些復雜的問題。本質上, goroutine 就是協程。 不同的是,Golang 在 runtime、系統調用等多方面對 goroutine 調度進行了封裝和處理,當遇到長時間執行或者進行系統調用時,會主動把當前 goroutine 的CPU …

  • 騰訊T12專家認定!现金捕鱼电玩城教育課程入選“薪選課程”,太頂了!

    近期,现金捕鱼电玩城教育通過了騰訊課堂“薪選·互聯網課”項目的嚴格篩選認證,《Linux云計算架構高薪名師班》、《高端Go語言百萬并發高薪課》分別正式對標騰訊T8、T9級別崗位聘用技術標準,完成課程及考核的學員將從代碼能力、架構能力、運營能力、工程素養、安全能力等五個維度全面提升專業能力,匹配騰訊職業能力水平。 什么是“薪選·互聯網課” “薪選·互聯網課”是”2020年11月由騰訊課堂聯合騰訊T12級專家團隊,建立課程標準,通過三層審核的方式,對教培機構的教學、師資等進行篩選認證,完成課程及考核的學員將基…

技术支持 AI智能站群 luis888.vip@gmail.com