Alex Chuang

@alex-c1234

Joined on Mar 3, 2025

  • contributed by < alexc-313 > 因為自動飲料機而延畢的那一年 「大多數的資工系在大三、大四時,依然連個網站、app都做不出來,或者說做出來但跟玩具一樣,沒辦法實際上線使用。」這句話讓我印象深刻,從進入資工系到現在快一年了,做的東西都是簡化版的再簡化,完全沒辦法實際應用,大多時候能勉強撐過 demo 就可喜可賀了,我想除了學校課程外,最大的問題出在我自己身上,畢竟有能力貢獻開源專案的人也大有人在,我有太多基礎不了解,太多有難度的知識要學,太少時間與耐性好好把每個資料看完,這門刻我修得很辛苦,雖然在開始上課前我就知道我會遇到許多困難,但現實超出我的預期,老師上課講的內容、提供的資料我幾乎每個都有困難,老師常說:「缺什麼補什麼」,但我真的缺太多東西了,再加上時間有限,進度追得有點辛苦。 目前進度: 你所不知道的 C 語言 - 完成第一遍閱讀 Demysstifying the Linux CPU Scheduler - 閱讀至 ch1.3.1 LKMPG - 閱讀至 ch6
     Like  Bookmark
  • contributed by < alexc-313 > 在使用者層級繪製棋盤 觀察原本實作方法 觀察 draw_board 函式可知原本的實作方式是將整個棋盤回傳到使用者層級,且由 DRAWBUFFER_SIZE 得到每次回傳時總共會傳遞66位元組。
     Like  Bookmark
  • contributed by < alexc-313 > Reviewed by SimonLiu423 在 q_free() 的實作中(commit aca44ec),每次在釋放節點前會呼叫 list_del(cur) 將節點從該 list 中移除,但這步驟是可以省略的,因為釋放目前節點不會影響 list_for_each_safe 的運作,所以沒必要確保刪除過程中 list 的每個節點 prev、next 都是合法的。 queue.h 中已有 q_release_element() 函式可以去釋放指定的 element,為了增加可讀性及可維護性,建議將 q_free()、q_delete_dup() 中釋放節點的部分改為利用這個函式達成。 大部分 commit message 中都沒有提及你如何實作該函式,會讓讀者難以理解你為何做這次修改,以及你如何實作。 在 queue_insert_* 中,​​​​... ​​​​int len = strlen(s) + 1; ​​​​new->value = malloc(sizeof(char) * len); ​​​​if (!new->value) {
     Like  Bookmark
  • contributed by < alexc-313 > 2025q1 第 1 週測驗題 測驗 1 :::success 運作原理 ::: 觀察以下程式碼: #include <stddef.h>
     Like  Bookmark
  • contributed by < alexc-313 >
     Like  Bookmark