Try   HackMD

2024q1 Homework5 (assessment)

contributed by < lumynou5 >

〈因為自動飲料機而延畢的那一年〉的啟發

如果這是一部少年熱血漫畫,那麼在這樣艱困的情況下,主角一定會堅持努力不放棄,主角的好朋友會提一些蠢想法,然後主角會突然開悟,問題解決皆大歡喜。

但這是他媽的真實的人生,熱血毫無用武之地,主角的好朋友提的意見對解決問題完全沒有任何幫助,主角日日夜夜都在思考這個問題的解法,跑了許多地方、搞了整整一個半月,但是依舊一點進展都沒有。

比起幾年前的草草讀過,這次我在閱讀時也在反思,有了些許心得。

你最大的問題在太害怕失敗了……

這句話我想送給自己。我常常因為害怕失敗,到頭來反而什麼也沒做成。即便失敗也能從錯誤中學習,經驗不就是從一次次嘗試中累積的嗎?但什麼都不做就只是 noop,最終只會成為 noob。

而在這幾周的課程中,老師一再強調要注重細節、注重 commit message,讓我發現過去自己寫程式時從未注意的地方,例如快取等等。

同時我也認識到了自己的不足:

  • 缺乏表達能力。寫作業時,讓我發現自己很不會用文字表達,但溝通卻必不可少,除了寫程式外還有很多需要練習的。
  • 投入的時間不夠,有時還會因為困難而駐足不前。但如同老師說過的「不會沒關係,現在開始學就好」,不會並不可恥,可恥的是因此而逃避,我認為這是我需要消除的壞習慣。

這些話並不只是喊喊口號,無論是學習的態度還是撰寫程式的堅持,都應該是真正去實踐的精神。除了知識,我覺得這些才是我在這門課最大的收獲。

想投入的專題題目

高效網頁伺服器

Jserv 老師在課堂上說的「如果將來你的小孩問你手機是怎麼運作的,你卻回答不出來……」令我印象深刻,明明每天都在上網,身為工程師,卻不知道網路是怎麼運作的、HTTP 都規範了什麼。我希望能藉此更深入瞭解這些知識,及並行程式設計、I/O 模型、最佳化、scalability 等議題,習慣注重細節的開發。此外也是因為之前就開始寫了,想將它完善。而且只使用 C99 標準庫和 Linux 系統呼叫,而不依賴於其他函式庫,也讓我有機會實際應用在課程中學到的 list_headcontainer_of 等技巧。