cloc 全名是 Count Lines of Code , 為一個計算 code 和設定檔行數的 CLI 工具,是使用 Perl 語言開發的開源統計工具。cloc 支援非常多程式語言、平台、格式的統計,可以快速地計算一個 project 中所有文件的行數、空行、註釋行等等。有時候在寫一些報告會用到,可以幫助整理資料。

Continue reading

terraform archive 是一個 HashiCorp 公司提供的一個 Provider,可以讓使用者在 Terraform 中,將指定的目錄或檔案打包(例如 zip )。

雲端上運行的無伺服器計算服務非常熱門,著名的如 AWS Lambda 、 Azure Functions、GCP Cloud Functions,也常使用 terraform 工具來進行部屬。這時再使用 terraform archive ,方便地把例如 python code 打包成 zip,簡便地部署到服務上。

Continue reading

tar是 Unix 和類 Unix 系統上常用的壓縮工具,名字來自於 tape archive 的縮寫, tar 可以將多個文件或目錄打包成一個檔案。單純 .tar 檔案是沒有壓縮資料的,只是把好多目錄與資料夾打包起來變成一個大檔案而已;如果要有壓縮資料的功能,要使用 .tar.gz 壓縮檔案,是最常見的壓縮檔案格式。

Continue reading

這題是要求 Binary Tree 的 diameter ,要注意一下 diameter 的定義並不等於深度 ! 根據題目中的例子,可了解所謂 diameter 的定義,是兩點之間的最遠距離。雖然 Binary Tree 的 diameter 並不等於深度,但是和深度有非常大的關係,所以解法用 DFS 是比較直觀的想法。(雖然題目難度說是 easy,但我個人覺得應該算初階 medium…)

Continue reading

deep copy 是程式初新手常會有疑問的地方,這邊剛好可以藉由解題來複習指標的概念。另外這題有很巧妙的解法,就是利用 HashMap 來建立原 node 和拷貝 node 之間的映射 ! 也可以使用遞迴的解法,寫起來相當的簡潔。

Continue reading

RUN、CMD 和 ENTRYPOINT 指令都可以用來執行具體的命令。RUN 指令是在 Docker 鏡像構建時把執行結果會記錄到鏡像中;而 CMD 和 ENTYPOINT 指令是在容器啟動時自動執行。

ENTRYPOINT 和 CMD 的區別在於使用 ENTRYPOINT 時, CMD 指令會被作為其默認參數,也可以在啟動容器時通過覆蓋 CMD 指令來輸入參數。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan