分享到plurk 分享到twitter 分享到facebook

linjohnss (林晉暘)

簡介

  • 國立成功大學 測量及空間資訊學系 111 級 (2018 ~ )
  • 國立成功大學資訊工程學 雙主修 (2019 ~ )
  • GitHub: linjohnss
  • HackMD: linjohnss

2022 Linux 核心設計 春季班 自我評量

作業共筆

測驗共筆

期末專題

  • rhashtable 研究:
  • 1 對 1 討論時間
    • 2022/4/28 星期四下午 9:00 ~ 9:30
    • 2022/6/11 星期六下午 3:00 ~ 3:30
    • 2022/6/21 星期二下午 3:00 ~ 3:30
  • 目前完成成果
    • 摘譯 LWN 文章與論文,並輔以 Linux 核心應用作說明
    • 撰寫 Linux 核心模組測試論文演算法與 Linux 核心 rhashtable.h 的成果

修課心得

「誠實面對自己」是這堂課投下的第一顆震撼彈,從課程一開始就感到深深的挫敗感,但卻異常興奮,可能我有被虐體質XD。深知自己的不足,每週都花大量時間閱讀老師提供的素材,Linus Torvalds 的 TED 演講聽了 5 次以上,甚至還分享給實驗室同學。除了與身邊朋友討論,這堂課最特別的就是每個人都有 HackMD 的開發紀錄,除了理解自己與大神的巨大差距,也可以透過觀摩大神的開發紀錄學習他的思考路徑,期許自己也要繼續變強!

寫了 3 年的 c 語言,透過 lab0-c 與學期初的測驗才理解 c 語言的強大,每次有了新的理解,就會迫不及待的分享給其他人,其中在開發 IMU (慣性測量單元) 的 driver 時 Bitwise 操作就被我用上,優化了原先用迴圈處理的程式。

Hashtable 可以說是我這學期課程後半所圍繞的議題了,作為被大量使用於 Linux 核心的資料結構,在第一次與老師一對一討論時一問三不知,印象最深刻的是老師說我只是在翻譯程式碼,並不理解程式的用途與意義,努力錯方向了!此時我才明白只是看懂程式碼是不夠的,更重要的應該是要能理解其動機與解決的問題,甚至要能判斷程式的優劣,並提出優化方案。之後跑去研究 stm32 拖了一個月才與老師再次一對一討論,這次討論老師重新給我一個題目 rhashtable,儘管已經對 Hashtable 與 Concurrency 有了初步的認識,但對於新的題目還是一頭霧水。回去又是投入大量時間去研究,在我研究初期的時後,老師恰好在課堂上分享了我的開發紀錄,讓我的開發紀錄瞬間有大量觀看數,這間接鼓勵我並激起我的鬥志。於是我再次與老師預約一對一討論講述目前的進度與後續規劃,這次終於不再被罵,並且獲得了實質的交流。整個課程我都跟不太上,但就如老師所說「還有時間,不要太早放棄!」

自我評量 (1 ~ 10)

我給自己 9 分

學期初每週都投入 18 小時以上在課程教材與作業上,學期中有所停滯,但在期末專題時又投入大量時間,並在最後實作出論文的測試成果。其中我恰好出現在老師的深夜 HackMD 通知兩次,剛好都在為這堂課看日出啊。