分享到plurk 分享到twitter 分享到facebook

版本 1e1a38de827f9e55ce7f0918afc6e32606b449fc

User/zack-404

Changes from 1e1a38de827f9e55ce7f0918afc6e32606b449fc to 5920f1cd05caac1775e1d14f5c314828af6f7adf

---
title: zack-404 (邱律銘)
categories: User
...

# 簡介
* 國立成功大學 物理學系 116 級
* Github: [`zack-404`](https://github.com/zack-404)
* HackMD: [`zack-404`](https://hackmd.io/@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》,並做出對應的 [期末專題](## 3. 期末專題:) ,可以設計出 Java 的

這部份因沒有任何貢獻,但有閱讀相關教材,因此想給自己 6 分。

## 2. 作業/隨堂測驗: 
> 你的開發紀錄,人在做,Google 在看

1. [作業一]: [HackMD](https://hackmd.io/@zack-404/linux2024-homework1)
2. [quiz1+2]: [HackMD](https://hackmd.io/@zack-404/linux2024-homework2)
3. [作業五]: [HackMD](https://hackmd.io/@zack-404/2023q1Homewotk5)

即使自己尚未修習資料結構與演算法,或甚至是程式設計,在面對這種等級的題目時,仍接受挑戰,因此這部份想給自己 10 分。

## 3. 期末專題:
 
> 開發紀錄、評量成果和產出,以及觀摩其他學員的期末專題並提問 (要有對應的公開軌跡),且至少要涵蓋一項列於課程期末展示的專案。注意:你有義務回覆其他學員 (和授課教師) 對你期末專題的提問,並在 7 月 6 日中午前做出回應且更新更新在期末專題頁面

期末專題: [Java Concurrency](https://hackmd.io/@sysprog/rJbuY8ZvC)

因自己想要轉系,所以期末放較多時間在準備考試。然而在這種情況下,仍藉由第一手資料 Oracle Java Documentation 學習 Java Concurrency 的議題。結合老師上課所教授的多執行續程式設計知識,在短時間內就完成 MPMC, MPSC 等相關實作,並結合創業題目,用於手機應用程式的開發。

因此,這部份想給自己 10 分。

## 4. 與授課教師的互動: 
> 標注與授課教師「一對一討論」的時間,並列出你針對授課教師的問答、測驗和後續討論及啟發。課堂問答也可列入

1. 有哪些推薦的加密貨幣賽道
2. 如何減少手機 GPS 耗電,以利碳排計算應用程式的效能
3. 如何估算 Java 新增 Thread 的成本
4. 意外發現本網站的帳號不能有 '-' 字元

在與老師討論加密貨幣或其他投資話題時,老師意外與我分享之前與 Kronos 合作的經驗。在許多交易策略下,往往高速運作下就能獲得不少的報酬。尤其在加密貨幣這個市值較小的領域,往往可以藉由搬磚獲得不低的報酬。這也就萌生我對於網路系統的興趣,而期末專題便是一個敲門磚, MPMC 常常用於解決伺服器處理 request 或是網路封包的處理。

而藉由老師提供的 GPS 資訊,我們團隊目前選擇將注意力在於在減少 GPS 的資訊下,優化演算法判斷的精準度,或是以模糊的方式處理碳排的計算,而花較少的精力在尋找更省電的套件。

根據上述事實,因認真投入課程,所以這部份想給自己 10 分。

## 5. 所見所聞所感:
> 務必提及閱讀〈因為自動飲料機而延畢的那一年〉和回顧自身在本課程的投入狀況

「步步為營」作為課程的核心素養之一,使我重新認識什麼是工程。我本來做事是「有就好」而非「做到好」,但這門課是不允許前者的。許多事都要「做到好」,例如

「協作」也是課程中強調的一個項目,並對此有著非常深的感觸。在修課的同時,我也有加入一個創業團隊。在我加入之前,就是一個負責前端,一個負責後端,協作相對較不重要。但在我加入之後,變成有四位在處裡軟體開發,大家卻還是像以前一樣都個作個的,交流甚缺。這也就導致會有人是沒工作,卻也有人是忙翻天的情形,不能有效分配工作。目前的計畫是打算在隔週會時,讓大家報告自己做了什麼,未來會希望每個人每週都可以寫週報並引入 Git 促進成員間彼此的交流。

對此,在閱讀〈因為自動飲料機而延畢的那一年〉後,我感觸非常深。在加入創業團隊或是參與課程的過程中,常遇到挫折,而挫折卻又讓我不想面對。但實際上,不面對也不能解決問題,只能硬著頭皮去解決,而不是逃避不面對問題、害怕挫折。在作業一中,那時候我幾乎每天都在寫,才有寫出東西;但到了作業二,那時候我實在受不了了,就沒有每天做了,產出就比作業一低了一大截。而期末專題,雖然是非常晚才開始的,但我卻不擔心自以會寫不完,靜下心來認真作,也是可以有相當不錯的產出的。

「認識自己,並面對自己」這個從第一週就強調的素養,其實也是我自己非常感興趣的議題。後者「面對自己」顯然對之後技術的精進有著顯著的影響,這樣才能不怕失敗,持續讓自己更好,抑或是面對自己的不足,進而改進之。但前者「認識自己」,雖與技術的精進較無關聯,但實際上這卻是自我覺察的重要環節。若人能夠有著足夠的自我覺察能力,那便更可以知道自己缺什麼而補什麼。

而期末專題的部分,非常感謝老師給我這個與創業的工作有關的題目。在經過詳細閱讀第一手文件及老師推薦的教學後,我對於 Java Concurrency 有著一定程度的了解,可以實作出 MPMC, MPSC, SPMC, SPSC 的程式碼,而此為 [GitHub 連結](https://github.com/zack-404/javaConcurrency) 。

基於上述在課程所見所聞所感的事實,我想給自己 10 分的成績。

## 自我評量成績

方案B: 9 + 1 = 10