• <menu id="sssag"></menu>
  • <menu id="sssag"></menu>
  • 摘要: 前言 go的 init函數給人的感覺怪怪的,我想不明白聰明的 google團隊為何要設計出這么一個“雞肋“的機制。實際編碼中,我主張盡量不要使用init函數。 首先來看看 init函數的作用吧。 init() 介紹 init()與包的初始化順序息息相關,所以先介紹一個go中包的初始化順序吧。(下面的 閱讀全文
    posted @ 2021-04-10 20:42 機智的小小帥 閱讀(634) 評論(0) 推薦(0) 編輯
    摘要: Overview go 里面的 rwlock 是 write preferred 的,可以避免寫鎖饑餓。 讀鎖和寫鎖按照先來后到的規則持有鎖,一旦有協程持有了寫鎖,后面的協程只能在寫鎖被釋放后才能得到讀鎖。 同樣,一旦有 >= 1 個協程寫到了讀鎖,只有等這些讀鎖全部釋放后,后面的協程才能拿到寫鎖。 閱讀全文
    posted @ 2022-03-12 18:49 機智的小小帥 閱讀(34) 評論(0) 推薦(0) 編輯
    摘要: 幾段 Go 并發代碼 可以使用 go run --race main.go 來驗證代碼中是否存在并發問題 for range for i,v := range slice { // ... // go func() ... } 在 for range 中,i, v 這兩個變量僅僅被初始化一次,在之后 閱讀全文
    posted @ 2022-01-09 00:09 機智的小小帥 閱讀(22) 評論(0) 推薦(0) 編輯
    摘要: [翻譯] The Go Memory Model Introduction (簡介) Go 內存模型指定了在什么情況下,一個協程對變量的寫操作可以被另一個協程讀到。 Advice (建議) 當一份數據同時被多個協程訪問,在對這份數據進行修改時,需要保證對這份數據的訪問時按照一定順序進行的。 為了讓訪 閱讀全文
    posted @ 2022-01-08 16:57 機智的小小帥 閱讀(23) 評論(0) 推薦(0) 編輯
    摘要: Backpressure 我會直譯為背壓 背壓是每個軟件工程師在某個時候都需要處理的問題。在這篇文章中,我將會闡述什么是背壓,為什么背壓是常見的,以及怎樣緩解它。 The Definition 在編程的世界中,背壓一詞借鑒自流體力學。 wiki 中是這樣定義背壓的 Resistance or for 閱讀全文
    posted @ 2021-12-04 18:00 機智的小小帥 閱讀(8) 評論(0) 推薦(0) 編輯
    摘要: 精度損失而引發的 bug 本周碰到因為 精度損失,導致 分段計算的結果之和 ≠ 整體計算的結果 基本背景 有一個傭金功能,需要計算銷售人員每個月的傭金以及銷售人員所有月份的總傭金。 傭金金額 = 銷售額 * 傭金比例 其中 銷售額 和 傭金 的精度都是當前貨幣的最小單位。目前貨幣單位為美元,最小單元 閱讀全文
    posted @ 2021-11-06 14:37 機智的小小帥 閱讀(17) 評論(0) 推薦(0) 編輯
    摘要: KIND and Load Balancing with MetalLB on Mac 在 Mac 上,由于 host 和 docker bridge 網絡之間并不是通的,因此當 Service 類型為 Load Balance 時,外部的請求并不能命中到 Docker bridge 網絡上,從而導 閱讀全文
    posted @ 2021-10-31 16:13 機智的小小帥 閱讀(87) 評論(0) 推薦(0) 編輯
    摘要: 為代碼編寫穩定的單元測試 本文檔配套代碼倉庫地址: https://github.com/liweiforeveryoung/curd_demo 配合 git checkout 出指定 commit 以及 git diff 比較 commit 間的差別食用更佳 單元測試的作用 功能交付的保障,確保不 閱讀全文
    posted @ 2021-10-19 23:05 機智的小小帥 閱讀(235) 評論(0) 推薦(0) 編輯
    摘要: 利用 uber-go/dig 庫管理依賴 github 地址 官方文檔 介紹 dig 庫是一個為 go 提供依賴注入 (dependency injection) 的工具包,基于 reflection 實現的。 在項目中會涉及到很多對象,它們之間的依賴關系可能是這樣的 graph BT; A-->B 閱讀全文
    posted @ 2021-09-21 14:40 機智的小小帥 閱讀(240) 評論(0) 推薦(0) 編輯
    摘要: goland live template 牛刀小試 之前無意中接觸到了 goland 的 live template 功能,感覺功能還挺強大的,在這里簡單說明一下如何使用吧,更詳細的使用方法可以去看官方文檔 live template 的作用 在日常編碼中,我們常??赡芙洺P枰帉懸恍┙Y構極其相似, 閱讀全文
    posted @ 2021-09-20 20:49 機智的小小帥 閱讀(129) 評論(0) 推薦(0) 編輯
    摘要: [翻譯] Kubernetes 101: Pods, Nodes, Containers, and Clusters 原文 Kubernetes 正迅速成為在云中部署和管理軟件的新標準, Kubernetes 的功能雖然很強大。也學習難度同樣也很大,作為一個新手,如果直接去看官方的文檔, 可能會覺得 閱讀全文
    posted @ 2021-09-20 17:43 機智的小小帥 閱讀(66) 評論(0) 推薦(0) 編輯
    国产在线码观看超清无码视频,人妻精品动漫H无码,十大看黄台高清视频,国产在线无码视频一区二区三区,国产男女乱婬真视频免费,免费看女人的隐私超爽,狠狠色狠狠色综合久久蜜芽