iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

30 天把自己榨好榨滿的四週四語言大挑戰! 系列

不知道大家有沒有看過一本書叫做七週七語言,這本書用七週的時間,每個禮拜都介紹一門新語言。而我最近剛好看到Hackerrank有一個專欄叫做 "30 Days of Code",於是我就想說,何不把這兩個概念結合在一起,來挑戰看看30天內用四種語言(Scala、Python、Golang、Rust),也就是四週四,來完成這個專欄呢?因此就有這個 "30天的四週四語言大挑戰" 計畫啦!我不會像坊間已經很多的101教學文,也不會只是貼Code,而是從實作出發,並拆解其中的精妙之處,讓你就算本來不懂,經過30天後也能和我一起對這四門語言有深入淺出的了解啦!(我也不知道為什麼我要這麼自虐呀呀呀呀)

鐵人鍊成 | 共 30 篇文章 | 22 人訂閱 訂閱系列文 RSS系列文
DAY 21

[Day 20] 把東西給我排好

今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...

2019-10-07 ‧ 由 ryanyang1221 分享
DAY 22

[Day 21] 什麼類型都可以

今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...

2019-10-08 ‧ 由 ryanyang1221 分享
DAY 23

[Day 22] 種下一棵有用的樹

今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...

2019-10-09 ‧ 由 ryanyang1221 分享
DAY 24

[Day 23] 再好好看看這棵樹

今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...

2019-10-10 ‧ 由 ryanyang1221 分享
DAY 25

[Day 24] 一條獨一無二的鏈

今天在 Hackerrank 的主題是,延續我們之前研究的 Linked list,為這個 Linked list 去增加一個 Function 來把 Link...

2019-10-11 ‧ 由 ryanyang1221 分享
DAY 26

[Day 25] 與時間複雜度的競賽

今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...

2019-10-12 ‧ 由 ryanyang1221 分享
DAY 27

[Day 26] 以組合代替繼承?

老實說今天 Hackerrank 的主題讓我有點不想浪費一天的篇幅去講,因為是在講 Nested Logic,說穿了就只是要你練習兩層以上的 If Else 之...

2019-10-13 ‧ 由 ryanyang1221 分享
DAY 28

[Day 27] 自己的程式自己測

先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...

2019-10-14 ‧ 由 ryanyang1221 分享
DAY 29

[Day 28] 來看正規表示式

今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...

2019-10-15 ‧ 由 ryanyang1221 分享
DAY 30

[Day 29] 一起做事效率高

今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...

2019-10-16 ‧ 由 ryanyang1221 分享