--- title: leonnig (陳建良) categories: User ... # 簡介 * 國立成功大學 工程科學所 114 級 * GitHub: [`leonnig`](https://github.com/leonnig) * HackMD: [`Cool-55`](https://hackmd.io/@Cool-55) # 2025 Linux 核心設計/實作 春季班 自我評量 ## 成果發表和貢獻 1分。 並未對相關教材提出貢獻。 ## 作業/隨堂測驗 7分 * 作業一: [HackMD](https://hackmd.io/qo_3yYnoRg6vbtMuDrEOyw) * 作業二: [HackMD](https://hackmd.io/B3v04aGhTCes8SemFduHug) * 作業三: [HackMD](https://hackmd.io/FXdnB2ZxRleQBa3rRjPmCw) * assessment: [HackMD](https://hackmd.io/pgP3ujNeSIy9Rghi-7KEEA?view) ## 期末專題 5分 * [Linux 核心專題: 重作Lab0](https://hackmd.io/WJX0QWZfR4OVCoA94qCqmg?view) 因為在跟老師的一對一之中發現,我自以為我完成了第一份作業,我自以為我懂了,但我卻沒辦法回答 list_sort 為何要做出這樣的改進,他的考量點是甚麼,select 在 web.c 裡面是如何去運用的,dudect 論文內和lab0 中的差異,所以期末專題我將第一份作業中,我重新閱讀了 lab0 的相關知識以及設計實驗,我讀了Bottom-Up Mergesort--a Detailed Analysis 以及 Queue-merge sort 兩篇論文,但未完成 The Cost Distribution of Queue-Mergesort, Optimal Mergesorts, and Power-of-2 Rules 的閱讀,並使用 perf 和 catch grind 對 list_sort 和 q_sort 進行了效能比較,以及查閱了 select() 系統呼叫的用法以及 socket programming 的知識,但後來沒有完成 dudect 的部分以ˋ及記憶體分析。 ## 與授課教師的互動 4分 * 一對一討論 (2025/6/6) 在一對一討論中,老師問了我 Merge sort 的 worst case,我當下腦袋完全沒想法,查了 google 之後竟然沒讓我找到一個明確的答案,就想說賭一把,就回答了 merge-sort 應該沒有甚麼明顯的 worst case 吧,然後我就聽到老師叫跟我說,"你看,你找不到就說沒有!",這句話我印象很深刻,因為這完完全全就是我一直在做的事,沒有真的重視細節。 - Q1: merge sort 的 worst case? (如何產生 worst case?) [HackMD](https://hackmd.io/o2H9UQgDTmKgFcmFvq_XUw) - Q2: Assume x is a single precision floating point (float) and x always >= 1.. Calculate square root of x with external functions [HackMD](https://hackmd.io/3Z9TzTrESF6iliLiHD1H_w) ## 所見所聞所感 6分 在這堂課中,有時候我會覺得很無力,因為在面對課程的測驗題時,我總是盯著題目,腦袋一片空白,只能偶爾幾次在題目給予的程式碼中碰碰運氣矇對,不知道要如何去下手,但我再做第二次作業,回顧第一次小考題目的時候,第一周的指標和鏈結串列的應用,我就花了 2 天在閱讀指標的操作相關的教材,我發現當你靜下來好好地把教材看過,並且"真的" 了解了那些知識,再回去把曾經完全不會的題目解決,這件事是讓我感到開心的,看過 [因自動飲料機而延畢的那一年](https://www.opasschang.com/docs/the-story-of-auto-beverage-machine-1),作者程中真的遭遇很多挫折,但他到最後都沒有放棄,解決方案試過了不行就再換一個,真的很了不起,這個堅持下去的精神以及不怕失敗的勇氣,也是我所缺少的。在進行期末專題時,看到 Bottom-Up Mergesort--a Detailed Analysis 論文時,才發現一對一時問過的 merge sort worst case 也是重要的因素,要如何針對 worst case 探討比較次數,或是廣度和深度搜尋對 cache 的影響,都是 list_sort 中你可以去了解到的,但你如果沒有慢下來仔細去查看 commit message,不去閱讀論文,你不會知道來龍去脈,為甚麼要這麼做,理由是甚麼,考量點是甚麼,這也讓我學習到對細節的重視。 ## 自我評量 方案 B :$1 + floor(GEOMEAN) = 1 + floor(3.84) = 4$ 4分