cloud-init 是一個 package,可以藉由配置 cloud-init 來執行各種任務,自動初始化 cloud instance。在初次開機時就將想要的檔案或設定與系統一併弄好而不用手動處理。大部分雲平台都支持 cloud-init,目前是 industry standard (行業標準)。


cloud-init 是一個 package,可以藉由配置 cloud-init 來執行各種任務,自動初始化 cloud instance。在初次開機時就將想要的檔案或設定與系統一併弄好而不用手動處理。大部分雲平台都支持 cloud-init,目前是 industry standard (行業標準)。

使用 Packer 建立 AWS EC2 AMI 或者是 GCP Machine Image,兩個都會有機率發生一些問題, 有時候是 image 內一些應用程式安裝出現問題;有時候是再最後啟動 AWS 或 GCP 虛擬機時,使用 user-data 或 startup-script 時會出現問題,共同的錯誤訊息是 no installation candidate. 。 AWS 機率發生體感機率比 GCP 高不少。那問題的根源是什麼呢,來看看吧!

這題真的蠻難的,一開始看題目我也覺得很繞口,給了一個非負數的 nums 和一個 m 代表把 nums 分成 m 個 group 且 每個 group non-empty 並取 m 個 group 中的最大值。但注意,前面只是代表一種切法而已,我們是要找所有可能切法之中的最小值。看一下 Related Topics 發現可以用 Binary Search 和 DP 求解,也是一道高頻題目。

石頭遊戲,兩個人輪流選石頭,Alex 先選,每次只能選開頭或結尾,最終獲得石頭總數多的人獲勝。 乍看之下不好想到可以用 DP 解,但其實可用一個 2D-state 去描述遞迴的狀態。 這題一開始會好奇是因為負評倒讚很多,個人是感覺能從 Game Theory 單純想出這結論也是蠻厲害的…

最近很常寫 Terraform ,知道一些 terraform cli 指令可以幫助自己寫的更好,也在學習 Terraform 的過程中,把覺得值得記錄的一些注意事項 & 小技巧留在這裡。

這題是求最長相同的子序列,可用 Dynamic Programing 來做,最難的還是想出狀態函數。這裡使用 2D-dp ,其中 dp[i][j] 表示 :
- text1 的前 i 個字符
- text2 的前 j 個字符
的最長相同的子序列的字符個數

Java 賦值語句,是有返回值的,而且還並不是想像中的 bool 類型 ! 想想其實一直都有看到一些類似的用法,但因自己平時開發並沒有特別使用過,也沒有很深入去探討了解。今天在這邊就舉例一些出來,來說明 Java 賦值語句的返回值。

無類別域間路由( Classless Inter-Domain Routing ,簡稱 CIDR )是為了避免造成 IP 位址的大量浪費,於是出現的一種技術。CIDR重點有:
- 多變長度子網路遮罩 (Variable-Length Subnet Mask,VLSM)
- 路由匯總 (Route Summarization)(暫不介紹)

這題是 62. Unique Paths 的延伸,能選擇往下或往右走直至終點為止,要求出有多少種可能走法,但多了一個限制,會在路徑中加了一些 obstacle 擋住了某些路徑。是一道典型的 Dynamic Programming - 2D matrix 類型的題目。和爬樓梯等都屬於動態規劃中常見題目,因此也經常會被用於面試之中。

一道很經典的題目,是給定一 string ,能不能分被拆分成 wordDict 裡面的單詞。注意這題,wordDict 裡面的單詞可以重複使用,即單詞使用沒有次數限制,所以 string 可以分成任意段,這就增加了題目的難度。解法蠻多種的,可先從 brute force 下手,再加上暫存優化後,就是蠻標準的 dp 解了,來解一下吧。

