玩看看 go 的泛型函數 (Generics Function)

在 2022-03-22 這天 Go 正式發佈 1.18 版了! 這個版本其中一大特色就是增加了社群討論許久的泛型(Generics) 今天來玩看看 go 的泛型函數(Generics Function) 沒...

29 March 2022 · 2 min · nyo

拿筆電安裝 Debian server

把以前的舊筆電翻了出來,發現還可以正常運作,所以打算重灌來拿當做測試用 Server,這篇簡單的記錄一下這次重灌做了什麼事 筆電:ThinkPa...

25 March 2022 · 1 min · nyo

在 Linux 終端機上查看電池狀態

在 /sys/class/power_supply/BAT0/ 資料夾裡,有一系列的檔案存放著電池的資訊 1 2 3 4 5 6 7 8 9 10 $ ls /sys/class/power_supply/BAT0/ alarm charge_stop_threshold serial_number capacity current_now status capacity_level cycle_count subsystem charge_control_end_threshold device technology charge_control_start_threshold hwmon1 type charge_full manufacturer uevent charge_full_design model_name voltage_min_design charge_now power voltage_now charge_start_threshold present 只要是檔案類型的,...

22 March 2022 · 1 min · nyo

使用 brew 切換不同的 go 版本

使用 brew 安裝 go 可以很容易在不同的版本中切換。 Brew 目前我工作環境安裝的 brew 版本是 3.4.1,只要使用 link/unlink 指令就可以切換。 1 2 3 4 $ brew -v Homebrew 3.4.1-52-gf0f1eb6 Homebrew/homebrew-core (git revision 0192df1b390; last commit...

15 March 2022 · 1 min · nyo

Grafana Loki 收集 Log

Grafana Loki 是一個輕量的 log 收集服務。 Loki 的標語 Like Prometheus,But For Logs 說明著這個服務靈感來自 Prometheus。跟其他的 log 收集服務比較下,Loki 有以下特性: 不對 log...

21 December 2021 · 2 min · nyo

Nyo 版本,懶人的每月記帳法

開始工作之後,總是會在意自己到底是不是所謂的「月光族」。 常見的工具像是各種的 APP、應用程式、試算表等,都有試過,但也都無法持續的使用。 在多...

26 November 2021 · 2 min · nyo

tcp_tw_recycle and tcp_tw_reuse

如果你遇過 linux server 上有著大量 TIME_WAIT 你一定在 google 上看過把 net.ipv4.tcp_tw_recycle 跟 net.ipv4.tcp_tw_reuse 設定為 1 的優化方法,想要介此來減少 TIME_WAIT 或是增加 server 可以處理的連線數量 但是這些做法可能是無效的,...

08 August 2021 · 2 min · nyo

什麼是快速失敗 (Fail Fast)

身為一個軟體工程師,我們通常希望程式正常運作不要有問題,但是在開發過程中一定少不了 debug 跟設計錯誤處理的流程,這時候決定處理錯誤策略,就是一件很...

22 July 2021 · 2 min · nyo

優雅的關機 (Graceful Shutdown) Goroutine

Graceful shutdown 直接翻譯是 「優雅的關機」 這種做法是在收到程式終止的指令時,先處理好執行中的動作才結束程式。 使用這個機制可以正確的關閉連線,完成處理到一半...

06 July 2021 · 2 min · nyo

怎樣的 PBI 寫法比較好

PBL: Product Backlog,產品的工作項目清單 PBI: Product Backlog Item,產品的工作項目 身為 Scrum 團隊的一員,每個 Sprint 的重要任務之一,就是搞懂 PBL (Product Backlog) 上的項目,想辦法實...

04 July 2021 · 3 min · nyo

近期的線上會議回顧

台灣依舊在三級防疫警戒的今天,在家上班的時日不知不覺也差不多有一個月了 回顧這段時間,不知道為什麼最近的會議量滿到一個不行 而這些會議都很容易就...

21 June 2021 · 3 min · nyo

Blog Git Log Gource

gource 是一個可以把版本控制記錄製作成動畫的視覺化工具 看到別人 perl 開發歷史紀錄之視覺化 在玩這工具 就也想來玩看看 不知道要找哪個專案來試,就拿來跑看看 blog...

05 June 2021 · 1 min · nyo

Exa: 更棒的 ls 指令

exa 是 ls 指令的另一個選擇,使用 rust 開發的 github: https://github.com/ogham/exa exa 的特色 幫檔案跟一些屬性都上色,甚至加上 icons,更容易閱覽 可以用樹狀圖顯示,tree 的另一個選擇...

27 March 2021 · 1 min · nyo

utterances: 使用 github issue 做部落格的留言系統

說到留言系統,過去最常看到的大概是 Disqus 但是實際使用過會發現 Disqus 的檔案太肥大,會拉長網站的載入速度,所以在我把部落格移到 github 上面的時候,就完全不想要...

20 March 2021 · 1 min · nyo

Interface in Go

Interface Go 的 interface (介面) 是一堆方法簽章集合而成的 type (型態), 只要一個 type 實作出 interface 定義的所有方法,就是實作 interface interface 是 Go 用來定義物件行為的方式,其概念是: 如果...

16 March 2021 · 2 min · nyo

2020 打字練習記錄

2020 十月開始到十二月斷斷續續練習了幾十天的英打,有時練習一兩分鐘,有時練了超過 30 分鐘, 從 30 wpm 練習到可以破 60 wpm,最高記錄有摸到 71 wpm 一開始是看...

27 February 2021 · 1 min · nyo

IPv6 簡介

IPv6 是為了解決 IPv4 位址用盡問題而誕生的 長度從 IPv4 的 32 位元增加到 128 位元 常用表示方法 使用冒號組合 8 組 4 個十六進位數字 1 2 ex. 2001:0db8:86a3:08d3:1319:8a2e:0370:7344 簡短 IPv6 的規則 每一組數字前導...

26 February 2021 · 1 min · nyo

Vim File Explorer - Defx

原本的 vim file explorer 是用 NERDTree,最近發現 vim 大師 Shougo 有推出 Defx,所以就來試試新工具 Defx 沒有預設的快捷鍵,需要自己做大量設定。一開始我把快捷鍵...

21 February 2021 · 2 min · nyo

Makefile: Phony Targets

Makefile Rule Makefile Rule 格式如下 1 2 target: prerequisites recipe target: 要產生的檔案名稱 prerequisites: 產生 target 所需要的檔案 recipe: 要執行的動作 這裡準備一個寫 golang 會用到的 Makefile 如下面: 1 2 build: go build -o main main.go 執行 make bui...

24 January 2021 · 1 min · nyo

有效率的會議準則

開會很花時間,不順利的會議令人心很累。 有效率的會議提升時間的價值,更使人愉快工作。 工作時一定會有各種會議,「時間」跟「注意力」在不知不覺中就...

08 December 2020 · 2 min · nyo