如何在 github 建立 ansible role
什麼是 ansible role ansible 的 role 讓我們可以封裝許多的 task 跟 handlers 等等 playbook 的工作。 怎麼開始寫 role 這次我們來寫一個 hello world ansible 有提供 ansible-galaxy 的指令,用來管理 role。可以使用這個指令來產生 role 的基本資料夾跟檔案。 ...
什麼是 ansible role ansible 的 role 讓我們可以封裝許多的 task 跟 handlers 等等 playbook 的工作。 怎麼開始寫 role 這次我們來寫一個 hello world ansible 有提供 ansible-galaxy 的指令,用來管理 role。可以使用這個指令來產生 role 的基本資料夾跟檔案。 ...
想要用 go 開發一個 web service 很簡單,網路上有一大堆的範例, 但是通常你不太可能直接拿著範例就上戰場打仗。要應用在現實中的場景,通常還需要加一些程式。 這裡我以開發 web service 為例,整理一下目前我會在 main.go 寫什麼 ...
docker 本身有提供重啟政策(restart policy)讓你可以控制容器是否要自動重啟。 使用方式 在 docker run 加上 --restart flag 1 $ docker run -d --restart unless-stopped nginx 在 docker-compose.yml,設定 restart: xxx ...
久違的更新一下 vim 1 $ brew upgrade vim 打開 vim 馬上出現一堆錯誤訊息 1 2 3 [vim-hug-neovim-rpc] failed executing: pythonx import [pynvim|neovim] [vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named 'neovim' E605: Exception not caught: [vim-hug-neovim-rpc] requires one of `:pythonx import [pynvim|neovim]` command to work 這些錯誤好熟悉,似乎是 vim 又找不到 python 的套件了 ...
我目前的團隊從正式開始使用 Story Point 到現在,有超過一年的時間了。平常工作時偶然的發現團隊內有一些不一樣的地方,於是想要寫篇文章來記錄一下。 其實大概半年前就想要寫的,拖著拖著居然又過了半年,拖延症真是個可怕的傢伙。 ...
1.18 都 release 才想要看看怎麼把 go version 改到 1.17 修改 go.mod 使用 go mod edit 修改 go.mod 檔案的 go version 1 $ go mod edit -go=1.17 go 1.17 的 go mod tidy 增加了 -go 參數,可以直接修改 go.mod 檔案中的 go version 1 $ go mod tidy -go=1.17 升級依賴套件 升級依賴套件 + 更新 go.mod ...
Event Stroming 是一個可以用來讓團隊了解商業邏輯並設計軟體的工具,最終用大量的便利貼來呈現結果 The picture that explains everything (from Alberto Brandolini’s “Introducing Event Storming”) 這篇整理一下便利貼的用途說明 ...
在 2022-03-22 這天 Go 正式發佈 1.18 版了! 這個版本其中一大特色就是增加了社群討論許久的泛型(Generics) 今天來玩看看 go 的泛型函數(Generics Function) 沒有泛型 我們來寫一個尋找 slice 資料索引的 function ...
把以前的舊筆電翻了出來,發現還可以正常運作,所以打算重灌來拿當做測試用 Server,這篇簡單的記錄一下這次重灌做了什麼事 筆電:ThinkPad t420s ...
在 /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 只要是檔案類型的,都可以直接 cat 查看資料 ...
使用 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 2022-03-14) Homebrew/homebrew-cask (git revision 96b4f7dabd; last commit 2022-03-14) 安裝 go 安裝 go 最新版 (1.17) 跟 go 1.16 版 ...
Grafana Loki 是一個輕量的 log 收集服務。 Loki 的標語 Like Prometheus,But For Logs 說明著這個服務靈感來自 Prometheus。跟其他的 log 收集服務比較下,Loki 有以下特性: 不對 log 進行全文索引。介由存儲壓縮的非結構化 log 和僅索引 metadata,Loki 操作更簡易而且執行成本更低 使用的相同於 Prometheus 的標籤對 logs 進行索引和分組,讓您能夠用相同標籤在 metrics 和 logs 之間無縫切換 有 Grafana 原生支援 Loki 的運作結構 ...
開始工作之後,總是會在意自己到底是不是所謂的「月光族」。 常見的工具像是各種的 APP、應用程式、試算表等,都有試過,但也都無法持續的使用。 在多次的放棄都重試之後,總算是找到比較適合自己的方法:「每月記帳」。 ...
如果你遇過 linux server 上有著大量 TIME_WAIT 你一定在 google 上看過把 net.ipv4.tcp_tw_recycle 跟 net.ipv4.tcp_tw_reuse 設定為 1 的優化方法,想要介此來減少 TIME_WAIT 或是增加 server 可以處理的連線數量 但是這些做法可能是無效的,甚至是「有風險在」的 ...
身為一個軟體工程師,我們通常希望程式正常運作不要有問題,但是在開發過程中一定少不了 debug 跟設計錯誤處理的流程,這時候決定處理錯誤策略,就是一件很重要的事情了。 ...
Graceful shutdown 直接翻譯是 「優雅的關機」 這種做法是在收到程式終止的指令時,先處理好執行中的動作才結束程式。 使用這個機制可以正確的關閉連線,完成處理到一半的任務。能夠保障工作跟資料的完整性,避免突然的中止程式造成一些奇怪的問題。 ...
PBL: Product Backlog,產品的工作項目清單 PBI: Product Backlog Item,產品的工作項目 身為 Scrum 團隊的一員,每個 Sprint 的重要任務之一,就是搞懂 PBL (Product Backlog) 上的項目,想辦法實現它。 ...
台灣依舊在三級防疫警戒的今天,在家上班的時日不知不覺也差不多有一個月了 回顧這段時間,不知道為什麼最近的會議量滿到一個不行 而這些會議都很容易就超過一個小時甚至到半天,收到的會議效果卻可能很小,或跟本是零 ...
gource 是一個可以把版本控制記錄製作成動畫的視覺化工具 看到別人 perl 開發歷史紀錄之視覺化 在玩這工具 就也想來玩看看 不知道要找哪個專案來試,就拿來跑看看 blog 的資料囉 ...
exa 是 ls 指令的另一個選擇,使用 rust 開發的 github: https://github.com/ogham/exa exa 的特色 幫檔案跟一些屬性都上色,甚至加上 icons,更容易閱覽 可以用樹狀圖顯示,tree 的另一個選擇 可以支援 git status 以及一些額外的檔案資訊 執行效能跟 ls 差不多 安裝方式 1 $ sudo apt install exa 1 $ brew install exa 設定 alias 取代 ls 1 2 3 4 5 6 7 alias ls='exa' alias la='exa -a' alias ll='exa -lh' alias ls='exa' alias ll='exa -lh' alias la='exa -lah' alias lr='exa -lR' 實際使用截圖 ...