每週一個 Algorithm,Review 一篇英文文章,總結一個工作中的技術 Tip,以及 Share 一個傳遞價值觀的東西!
寫在前面的話。不知不覺已經落下ARTS的操練快五個月了,期間經歷了辭職、賦閒在家、找新工作、搬新家等階段,到今天算是入職新公司兩個月。
之所以重新想起來要繼續操練,主要是我在耗子叔的羣裏看到有人堅持完成了一年的練習。這激發了我,讓我有種要重新撿起來的衝動。
操練身體,操練敬虔,操練技術,任何一樣堅持都會面對想要放棄的念頭。我想最怕的不是停歇,而是就此止步了,而整裝上陣,或許會是一個新的起點....
Algorithm: 學習算法
題目:38. 報數
描述:報數序列是一個整數序列,按照其中的整數的順序進行報數,得到下一個數。其前五項如下:
1. 1 2. 11 3. 21 4. 1211 5. 111221
1 被讀作 "one 1" ("一個一") , 即 11。
11 被讀作 "two 1s" ("兩個一"), 即 21。
21 被讀作 "one 2", "one 1" ("一個二" , "一個一") , 即 1211。
給定一個正整數 n(1 ≤ n ≤ 30),輸出報數序列的第 n 項。
注意:整數順序將表示爲一個字符串。
解題過程:相對簡單的題,不需要特別的算法知識,找到規律即可。基本上就是遍歷字符串,記錄字符以及重複出現的次數,然後轉化爲一個二位數。另寫一個函數即可。
解法:https://leetcode.com/submissions/detail/250705719/
Review: 學習英文
題目: 技術債務的隱喻
馬丁大叔於2003年首次寫下這篇文章,最近重寫一遍,發表在個人博客上。
技術債務,作爲一個隱喻,代表的是軟件中的缺陷。這些缺陷由不太關心質量的程序員在做出改動時被引入到系統中, 分佈在各處,會給未來的軟件變動帶來額外的開銷,就好像財務負債裏要還的利息一樣。
他給出的建議是,就像我們對待財務負債那樣,一次償還一部分。在變更的地方,花少部分時間,先把那些有缺陷的代碼移除,引入更適合的結構。這樣做的好處是,越是變更頻繁的地方,有缺陷的代碼就會消失越快,而那些穩定的問題代碼則會被保留下來,不需要大力氣去改動。
對我的啓發是,下次開發軟件代碼時,如果遇到技術債務,先償還一部分,不用帶着很大壓力去做大改動。
Tips: 知識點
常用緩存更新的套路:
失效: 程序從緩存中取數據,緩存沒有,從數據庫取數據,成功後放到緩存中。
命中:程序從緩存中取數據,返回
更新:程序先更新數據庫數據,成功後,失效緩存數據
Share: 價值觀
無