Medium 好讀版點此。
我終於!終於!終於完成 iThome 鐵人賽挑戰了!
特地選在九月一號開賽,九月的每天都發布一篇,等全部都發完就剛好是九月結束的日子,但這也代表九月的每一天,都有股隱形的壓力,深怕一個疏失,就要明年再來。
早在考研究所前數個月,我就已經養成撰寫技術文章的習慣,原本只是寫研究所考科的筆記,沒想到居然還有超過兩百人追蹤這我認為內容頗為無聊的技術部落格!當然,寫這些東西也不可能走流量導向,我只是把當下學到、且花較多時間理解的資訊領域知識寫下來,哪怕是在美國交換時也是如此,目的只有一個:等以後要複習某個知識點時,回來看自己的寫的筆記就能快速掌握。
而在資訊領域,寫技術文章正好有個里程碑值得我去挑戰,就是「鐵人賽」!要選定一主題,連續發文三十天,而我的文章字數通常都達數千、甚至上萬,圖都還堅持全部手繪,非常耗時,在要處理學校課業與論文的時期,實在難以達成。
就這麼剛好,2025 鐵人賽在我領到碩士畢業證書後不久開放開賽,這對已經沒有外務、又希望在履歷上多累積些成果的我來說,無疑是最棒的參與時機!畢竟之前當資訊家教時都鼓勵學生參賽,若自己沒有完賽經驗,實在說不過去。
雖然在九月才開賽,但我在七月底就開始撰寫,有不少內容甚至還因為初版不滿意而重寫,因此,名義上只為期一個月的挑戰,我卻足足花了超過兩個月!
連續發文三十天聽起來頗具挑戰性,但參加這比賽真正困難的,其實是「選題」,究竟以什麼為主題,可以連續三十天保持輸出?
我想到了碩三上旁聽 Azole (小賴) 老師上課講到 Git 時,提出的兩個問題:
git init
之後,跑出來的 .git/
資料夾裡面有什麼?git add
與 git commit
之後,.git/
資料夾發生了什麼變化?聽到問題的當下,我的腦袋一片空白!對耶,這個軟體的各子領域必備工具 git 到底背後是怎麼運作的,我居然完全不知道!想當初在 AppWorks School、以及後來在學校做專題時,表面上有用 git 進行版本控制與團隊協作,實際上都在亂 commit、分支隨便切、衝突隨便解,最後分支跟 commit 紀錄都一團亂,明明有用 git,卻沒有讓這好用的工具發揮其該有的效果。
那我何不把握機會,就以 git 的內部運作為題參加鐵人賽?一邊寫、一邊做實驗觀察、一邊試著解說,這樣等三十篇全部發完,我不就對 git 有更深入的了解?再者,雖然網路上的 git 教學文非常多,但針對「內部運作」這種進階內容的著墨非常少,於是,我便仔細觀察常用之 git 操作為 .git/
資料夾帶來的變化,列出以下三十篇的主題:
在一邊做實驗、一邊寫文章參賽的過程中,我才知道原來 git 還有物件、原來針對 commit 細節的調整都會做出新 commit、原來 git 還有打包機制、原來在 GitHub 上開分支或合併分支的 commit 會自動帶有簽章...!也是透過這些簡單的實驗觀察,我在日後做專案用到 git 時,才踏實地感受到自己真的知道怎麼用這套工具、這些工具又是怎麼幫我做事的,就算不記得細節,日後回去看當初鐵人賽寫的文章,也能快速複習。
首先當然是好好休息!參賽的每一天,我都過得有些緊繃,雖然身為剛領到碩士畢業證書的畢業生,覺得難度並沒有比寫論文來得高,但那種只要一天忘記發文就等同宣告失敗的壓力,還是讓我有微微的焦慮感,每天吃完早餐後的第一件事情就是發文,某些日子早上有行程,也一定要在出門前就完成發文,深怕如果下午或傍晚回來才發,搞不好就寫不完或不小心忘記、前功盡棄。
然而,鐵人賽挑戰只是「當初因為要趕論文而被擱置」的待辦清單之一,清單上還有好幾個項目,接下來要持續努力!