比起其他人可能有先擬好草稿,甚至先把30天的文章打好
這次的鐵人賽我是邊實作邊寫文章
一來是畢竟這次參加鐵人賽也是一時興起
另一方面也是因為工作關係所以沒啥時間寫自己的side project
而最近由於想著這份工作自己做起來實在是
一沒成就感,二沒歸屬感
所以也想著趁這次機會將自己的工作所學用鐵人賽紀錄
然後中間也有很多看起來很像踩到雷的敘述也是正常的(?
一來是確認自己所學到底能不能複製出來
二來是將來萬一又要用上時就可以回顧自己文章依樣畫葫蘆就好
所以這篇鐵人賽與其說是技術分享,不如說是讓自己不要踩雷的說明書
當然如果這篇鐵人賽有讓你成功學到東西
或是解掉千年未解的BUG
對我來說,那也是功德一件了
而這次的鐵人賽在寫文章同時,也有去看其他人的作品
只能說,有經驗就是不一樣
而這也讓我有蠻多意外收穫的
這邊也推薦幾個鐵人賽主題歡迎大家去看
如果我等等接下來介紹的文章是小魔術的話
這個人的魔術應該是大衛考柏菲級別了(?
基本上這篇文章把Python能且常運用的方便都寫到了
如果有時間的觀眾也歡迎去看看然後自己寫寫看
真的挺有趣的
金流?啊整篇文章又跟金流無關,我也沒有要學金流
看這篇有啥用?
的確這篇的後半文章是有講到金流串接沒錯
但是整篇文章的鐵眼(?是接案
這作者讓我印象深刻的地方有兩個
一是這作者非本科出身,過了十幾年可能比我痛苦好幾倍的碼農生活
卻可以靠著自己的努力,成功化身成接案專員
並且可以達到周休三日,日平均工時4小時,月入10萬
這也讓我成為了接下來勇於嘗試轉換跑道的契機
二來是,這作者人真的很好
對於疑難雜症幾乎有問必答
所以不管是想轉換跑道,或是想知道如何接案,甚至想要找一個外包
都歡迎去閱讀這篇鐵人賽,以及跟作者交流
前面兩篇可能比較算軟實力,講講一些Python的有趣應用,或是人生上的跑道轉換
但這篇就是實打實的硬主題了
這篇最主要的宗旨就是,要你了解unittest的重要性
以及如何寫出好的code
這一篇也是讓我受益良多
也讓我開始學習在寫code時隨時注意是否有犯了上述的錯誤
還有如何做好unittest防止作繭自縛
雖然主要使用的語言是Java,但是程式這種東西就是一通百通,用其他語言概念也差不多
想要如何快速且穩定的開發程式,非常推薦讀這個鐵人賽主題
以上就是大概的心得分享了
在最後的時候來跟大家分享一下小魔術吧
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a is b
False
啥鬼?為啥a跟b填256會是True 257會是False
原因就是在於Python的整數-5 ~ 256這個區間都會先預先塞在記憶體中
當有變數要存取時就直接塞他這個記憶體位址
那257由於沒有預先塞在記憶體中
所以就會建一個塞一個
也就是a = 257時會塞到某個記憶體中,b = 257會塞到另一個記憶體中
這就是這個魔術的原理啦
# 先建立一個含3個string的list
a = [""]*3
# 再建立一個含3個a的list
b = [a]*3
# 修改b內第0個a內第0個的string為'x'
b[0][0] = 'x'
# 印出來
print(b)
啊我不是只有改一個值而已,阿其他兩個的值是在變甚麼的
這個簡單來說是變數時的記憶體存取問題
簡單來說假設a的建立在第1號記憶體
此時執行b = [a]*3
時
就會有三個記憶體在1號的變數存在b內
因此只要某個a的值改變
3個相同編號記憶體的值自然也會改變
如果改成下列寫法
b = [['']*3 for _ in range(3)]
就會變成執行三次指令,指令內容為建立3個string的list
因此這樣就會把三個list分配在三個不同的記憶體
自然也就不會有上面的問題啦
以上就是這次鐵人賽的所有文章啦
也感謝大家願意看到最後
如果有甚麼疑問,或是想要來交流
甚至想要來砲這個作者誤人子弟(?
都歡迎來這篇文章的任何地方留言分享
有看到的話我幾乎都會回
至於明年鐵人賽還會不會參加,就看我有沒有財富自由或生活自由吧(?
就這樣啦,咱們後會有期