--- 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)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.