zack-404 (邱律銘)
簡介
1. 成果發表和貢獻:
與 Linux 核心相關的公開演講、貢獻到 Linux 核心和相關專案 (應標註對應的公開 commits/patches)、貢獻本課程的教材和使用的專案,包含授課教師編撰/翻譯的書籍 (即《Demystifying the Linux CPU Scheduler》, 《Concurrency Primer》, 《Linux Kernel Module Programming Guide》, 〈每位程式開發者都該有的記憶體知識〉),必須要獲得採納才算,即便只是修正錯字,也可列入貢獻。有效採計區間為 2 月 20 日到 6 月 30 日
雖目前尚未對 Linux 核心做出直接的貢獻,但這學期我詳閱教材《Concurrency Primer》,並做出對應的 期末專題 ,可以設計出 Java 的
這部份因沒有任何貢獻,但有閱讀相關教材,因此想給自己 6 分。
2. 作業/隨堂測驗:
你的開發紀錄,人在做,Google 在看
即使自己尚未修習資料結構與演算法,或甚至是程式設計,在面對這種等級的題目時,仍接受挑戰,因此這部份想給自己 10 分。
開發紀錄、評量成果和產出,以及觀摩其他學員的期末專題並提問 (要有對應的公開軌跡),且至少要涵蓋一項列於課程期末展示的專案。注意:你有義務回覆其他學員 (和授課教師) 對你期末專題的提問,並在 7 月 6 日中午前做出回應且更新更新在期末專題頁面
期末專題: Java Concurrency
因自己想要轉系,所以期末放較多時間在準備考試。然而在這種情況下,仍藉由第一手資料 Oracle Java Documentation 學習 Java Concurrency 的議題。結合老師上課所教授的多執行續程式設計知識,在短時間內就完成 MPMC, MPSC 等相關實作,並結合創業題目,用於手機應用程式的開發。
因此,這部份想給自己 10 分。
4. 與授課教師的互動:
標注與授課教師「一對一討論」的時間,並列出你針對授課教師的問答、測驗和後續討論及啟發。課堂問答也可列入
- 有哪些推薦的加密貨幣賽道
- 如何減少手機 GPS 耗電,以利碳排計算應用程式的效能
- 如何估算 Java 新增 Thread 的成本
- 意外發現本網站的帳號不能有 ‘-’ 字元
在與老師討論加密貨幣或其他投資話題時,老師意外與我分享之前與 Kronos 合作的經驗。在許多交易策略下,往往高速運作下就能獲得不少的報酬。尤其在加密貨幣這個市值較小的領域,往往可以藉由搬磚獲得不低的報酬。這也就萌生我對於網路系統的興趣,而期末專題便是一個敲門磚, MPMC 常常用於解決伺服器處理 request 或是網路封包的處理。
而藉由老師提供的 GPS 資訊,我們團隊目前選擇將注意力在於在減少 GPS 的資訊下,優化演算法判斷的精準度,或是以模糊的方式處理碳排的計算,而花較少的精力在尋找更省電的套件。
根據上述事實,因認真投入課程,所以這部份想給自己 10 分。
5. 所見所聞所感:
務必提及閱讀〈因為自動飲料機而延畢的那一年〉和回顧自身在本課程的投入狀況
「步步為營」作為課程的核心素養之一,使我重新認識什麼是工程。我本來做事是「有就好」而非「做到好」,但這門課是不允許前者的。許多事都要「做到好」,例如
「協作」也是課程中強調的一個項目,並對此有著非常深的感觸。在修課的同時,我也有加入一個創業團隊。在我加入之前,就是一個負責前端,一個負責後端,協作相對較不重要。但在我加入之後,變成有四位在處裡軟體開發,大家卻還是像以前一樣都個作個的,交流甚缺。這也就導致會有人是沒工作,卻也有人是忙翻天的情形,不能有效分配工作。目前的計畫是打算在隔週會時,讓大家報告自己做了什麼,未來會希望每個人每週都可以寫週報並引入 Git 促進成員間彼此的交流。
對此,在閱讀〈因為自動飲料機而延畢的那一年〉後,我感觸非常深。在加入創業團隊或是參與課程的過程中,常遇到挫折,而挫折卻又讓我不想面對。但實際上,不面對也不能解決問題,只能硬著頭皮去解決,而不是逃避不面對問題、害怕挫折。在作業一中,那時候我幾乎每天都在寫,才有寫出東西;但到了作業二,那時候我實在受不了了,就沒有每天做了,產出就比作業一低了一大截。而期末專題,雖然是非常晚才開始的,但我卻不擔心自以會寫不完,靜下心來認真作,也是可以有相當不錯的產出的。
「認識自己,並面對自己」這個從第一週就強調的素養,其實也是我自己非常感興趣的議題。後者「面對自己」顯然對之後技術的精進有著顯著的影響,這樣才能不怕失敗,持續讓自己更好,抑或是面對自己的不足,進而改進之。但前者「認識自己」,雖與技術的精進較無關聯,但實際上這卻是自我覺察的重要環節。若人能夠有著足夠的自我覺察能力,那便更可以知道自己缺什麼而補什麼。
而期末專題的部分,非常感謝老師給我這個與創業的工作有關的題目。在經過詳細閱讀第一手文件及老師推薦的教學後,我對於 Java Concurrency 有著一定程度的了解,可以實作出 MPMC, MPSC, SPMC, SPSC 的程式碼,而此為 GitHub 連結 。
基於上述在課程所見所聞所感的事實,我想給自己 10 分的成績。
自我評量成績
方案B: 9 + 1 = 10