--- tags: linux2023 --- # 2023 年 Linux 核心設計/實作課程第一次作業檢討 ==[講解錄影](https://youtu.be/pB0YOqkNk4Y)== ## 為何強調「改進漢語表達」? 台大電機系李宏毅教授對於 ChatGPT 的看法是,要善用人工智慧的成果,一旦人們得以善用,人類的書寫不該比 GPT 一類的語言模型差。這學期我除了親自批改每一份作業,我額外要求學員「改善漢語表達」,也是呼應李宏毅教授的觀點。 複製一段學員提交的作業內容 > 「刪除重複 value 相同的 element,此方法僅用於該 list 是 sorted,將 ptr 的 value 與 ptr->next 比較,如果值相同就刪除 ptr->next 並將 kill_self 設為 true,當 ptr->next 與自身 value 不同時將 ptr 移至 ptr->next,同時檢查如果 kill_self 為 true,刪除 ptr->prev」這句話,注意 list 是指「鏈結串列」 讓 ChatGPT 改進,得到 > 「從已排序的鏈結串列中刪除值重複的元素。首先比較指標 ptr 的值與 ptr->next 的值,如果相同,則刪除 ptr->next 並將 kill_self 設為 true。接著,如果 ptr->next 與 ptr 的值不同,則將 ptr 移動到 ptr->next,同時檢查是否應刪除 ptr->prev。如果 kill_self 設為 true,則刪除 ptr->prev。」 工程人員用語精準、表達明確意圖,並強化溝通,是必要的基本素養。 > [台灣人才硬功夫了得!缺的是溝通與社交能力](https://www.managertoday.com.tw/articles/view/53483) ## [lab0](https://hackmd.io/@sysprog/linux2023-lab0) 預期目標 * [C 語言程式設計](https://hackmd.io/@sysprog/c-programming) 議題,如[不定個數參數的處理](https://en.wikibooks.org/wiki/C_Programming/stdarg.h), [signal](https://en.wikibooks.org/wiki/C_Programming/signal.h), [setjmp/longjmp](https://en.wikibooks.org/wiki/C_Programming/setjmp.h) 和記憶體管理; * 學習 [GNU/Linux 開發工具](https://hackmd.io/@sysprog/gnu-linux-dev) - [Cppcheck](http://cppcheck.sourceforge.net/): 靜態程式碼分析工具 - [Valgrind](https://valgrind.org/): 動態程式分析工具 * 學習使用 Git 與 GitHub * 樹立一致且易於協作的程式開發規範 * 研究自動測試機制 * 接觸 [Linux Programming Interface](http://man7.org/tlpi/) * 理解電腦亂數原理、應用場景,和相關的驗證 * 研究 Linux 核心鏈結串列的實作機制,及其高效的排序實作 > [第三週作業: review](https://hackmd.io/@sysprog/linux2023-review) :warning: 留意細節!唯有重視小處並步步為營,方可挑戰原始程式碼達到三千萬行的 Linux 核心 ## 觀摩 > [作業區](https://hackmd.io/@sysprog/linux2023-homework1) * [yanjiew1](https://hackmd.io/@yanjiew/linux2023q1-lab0) * [alanjian85](https://hackmd.io/@alanjian85/lab0-2023) * [komark06](https://hackmd.io/@komark06/SyCUIEYpj) * [willwillhi1](https://hackmd.io/@willwillhi/lab0-2023) * [WangHanChi](https://hackmd.io/@wanghanchi/linux2023-quiz1) / [lab0](https://hackmd.io/@wanghanchi/linux2023-lab0) * [Shiritai](https://hackmd.io/@Eroiko/lab0-impl) * [Risheng1128](https://hackmd.io/@Risheng/linux2023-lab0) ## [積銖累寸](https://dict.idioms.moe.edu.tw/idiomView.jsp?ID=13400) * [kart81604](https://hackmd.io/@kart81604/HkGHY1cTs) * [peter91015](https://hackmd.io/@peter91015/lab0-c) * [KHLee529](https://hackmd.io/@KHLee529/linux2023-lab0) * [paul90317](https://hackmd.io/@paul90317/linux2023-spring-lab0) * [gaberplaysgame](https://hackmd.io/@GaberPlaysGame/linux2023-lab0) * [paulpeng-popo](https://hackmd.io/@normal/SyAQbn26j) * [hongpei100](https://hackmd.io/@MrShark/S1Z73ZTTj) * [ShallowFeather](https://hackmd.io/@ShallowFeather/lab0-2023) * [zeddyuu](https://hackmd.io/@zeddyuu/2023lab0) * [hankTaro](https://hackmd.io/@hankTaro/lab0-2023) * [koty6069](https://hackmd.io/@koty6069/lab0-2023) * [CYT701](https://hackmd.io/@TimChen731/2023-lab0) * [dodo920306](https://hackmd.io/@dodo920306/BJGHTPoTo) * [fewletter](https://hackmd.io/@fewletter/lab0-c) * [chiacyu](https://hackmd.io/@chiacyu/SJxLeQt6i) * [DokiDokiPB](https://hackmd.io/@DokiDokiPB/2023-lab0)