原创 HTTP發展歷程

爲了滿足好奇心吧, 簡單介紹下HTTP的各個版本. 瞭解HTTP協議是如何一步步發展至今的. 這篇文章不會涉及太多原理 HTTP/0.9 HTTP/0.9 誕生於1991年, 甚至都沒有RFC標準, 就是一個簡單的文檔. 這個版本的HTTP

原创 golang error 使用

前言 在Go的編程中, error的使用場景數不勝數, 主要就是用來處理各種異常情況. 長久以來, 我的使用方式都是這樣的: err := errors.New("fail") if err != nil{ //do somethine

原创 mac 鎖屏後常亮

場景 mac鎖屏後, 屏幕一直亮着, 不會熄屏變暗 解決 執行命令, 查看具體哪個軟件導致屏幕常量 pmset -g | grep displaysleep 比如這裏, 是因爲百度雲盤, 關掉就行啦.

原创 go反射無法獲取私有字段的值

場景 有如下代碼: ctx := context.WithValue(context.Background(), "k1", "v1") ctxValue := reflect.ValueOf(ctx).Elem() fieldValue

原创 容器內存相關知識

這篇文章是我研究容器內存整理出的相關內容. 前後內容並沒有上下文關係, 每個知識點都可以單獨查看. 內存控制 使用這樣的命令啓動一個容器docker run -d -m 300M xxx. 可以限制容器使用的內存最大爲300M. 那麼doc

原创 Docker kill 1無效

前言 我們在平常強制停用一個進程的時候, 會選擇什麼命令? 一般在測試使, 不考慮程序突然中斷帶來的影響, 直接使用kill -9 pid強制停止就行. 但是, 就在剛剛, 我啓動了一個docker容器, 進入容器後執行命令kill -9

原创 redis優化思路整理

前言 在實際使用過程中, 經常會碰到Redis響應延遲高的問題, 故將可能出現的問題及優化思路整理一下, 以防不時之需. 這裏羅列的問題是目前能夠想到的, 後續如果遇到新的問題會再回來更新的. 業務修改 主要從Redis的業務使用方面處理,

原创 Redis字符串佔用偏高

前言 直接上測試結果, 向redis中寫入值(KV相同)爲5000001..5100000共10萬個字符串類型KV 數據. 先自以爲是的單計算一下需要多少內存: K/V相同, 均爲整形, 各佔用8字節, 那麼一條數據會佔用16字節. 10萬

原创 ssh執行單行命令 alias 失效

場景 使用ssh命令鏈接遠程服務器後執行.bashrc中定義的alias命令, 提示命令不存在. ssh [email protected] ll # ll: command not found 但是使用ssh命令登錄後, 在交互界面是可以正常執

原创 北京健康寶彈窗3

這次國慶回家前查看過, 老家這邊疫情並不怎麼嚴重, 因此放心的回來了. 可誰知在10月4號當天, 突然收穫了健康寶彈窗3. 但是新增的陽性是在市裏, 而我所在的縣距離市裏將近500裏地, 沒想到竟然能夠波及到我這裏. 再後來, 發現不光我所

原创 Go 異常處理流程

前言 有這樣一段代碼: func main() { // 捕捉異常 defer func() { if err := recover(); err != nil { fmt.Println(err) } }() go

原创 身份證最後的X是什麼

一直以來都有一個疑問? 爲什麼我的身份證號最後一位是個字母嘞? 別人都是數字的呀? 爲了搞懂這個問題, 我專門研究了一下身份證號碼的組成. 身份證號碼組成 我找到了在1999年9月30號發佈國務院公報, 其中第16頁對公民身份證號碼有這樣一

原创 Go sync.Map探究

在Go中, 有這樣一個數據結構sync.Map, 他的出現是爲了提供一個併發安全的map. Map 在瞭解sync.Map之前, 我們有必要知道爲什麼map不是併發安全的, 這裏一筆帶過了. map這個數據結構在各個語言中都有實現, 基本上

原创 Golang 接口原理

問題 小提示, 若想直接查看原理, 可從接口原理開始查看. 有這樣一段GO代碼: func main() { var obj interface{} fmt.Printf("obj == nil. %b\n", obj == nil)

原创 離職,離別

在我寫下這段文字的時候, 已經是半夜的三點. 沒錯, 我失眠了, 翻來覆去怎麼也睡不着, 還是決定爬起來小小的感概一下吧. 我離職了, 就在今天正式離開了這個我爲之奮鬥了近4年的公司. 雖然這次離職是在半年前就已經決定了的, 但真的到了離開