大家好,我是個從律師轉職的軟體工程師,踏入這個領域不知不覺也快兩年了。回想當初轉換跑道,一切從自學 Python 開始,接著摸索資料庫、API 等後端技術。後來有幸進入 AppWorks School (現已更名為 AiWorks) 接受 iOS App 開發訓練,最終進入金融業的 IT 部門。
進入公司後,我的工作日常相當「精彩」,除了本行的 iOS 專案開發與維護,還得兼顧後端維運、和 SQL 打交道,甚至管理 Splunk、Kong APIM 這些系統。雖然實際能投入在 iOS 開發的時間不如預期,但我對這塊領域的熱情從未減少。親手打造出一個能看、能用、能互動的應用程式,那種從無到有的創造感與成就感,是其他工作難以比擬的。也因此,剛進公司時,對於無法專注在 iOS 開發上,心裡難免有些失落。但現在回頭看,我相信廣泛接觸不同技術對一個軟體開發者來說絕對是不虧的事情。然而,心中那份對 iOS、特別是 SwiftUI 的渴望,依然強烈。
目前公司的專案仍以 Objective-C 與 UIKit 為主,雖然我曾用 SwiftUI 開發並上架過個人 App,但總覺得學得不夠扎實。這次鐵人賽,對我來說正是一個完美的機會,能強迫自己更多了解 SwiftUI 的世界,將那些零散的知識串連起來。
在公司任職期間,我有幸參與了 Azure DevOps 的導入過程。坦白說,起初它對我而言,就只是個「新來的工具」:用 Wiki 寫文件、開 Work Items 追蹤任務、等 Pipeline 編譯出 .ipa 檔,然後透過 Pull Request (PR) 進行程式碼審查。每個環節都得遵循特定流程,像是 Pipeline 還需要主管審核才能部署,有時覺得有些繁瑣。
但隨著時間推移,這些經驗讓我逐漸體會到,DevOps 不僅僅是工具的堆砌,它更是一種文化,一種讓開發、測試與部署流程更順暢、更可靠的思維模式。當我看到一個小小的修改,能自動觸發測試、打包、甚至部署到測試環境,我才真正理解自動化所帶來的安心感。
即使現在是一人開發的個人專案,我也相信導入良好的 DevOps 實踐也是一個不錯的嘗試:
這次的系列文章,我將結合 SwiftUI 開發與 DevOps 實踐,從建立基礎專案開始,一步步實現自動化的開發流程。
這個專案的起點是,每當開車在路上,例如聽到廣播說「國道一號 123K 處發生事故」,或是臨時起意想找個「台 19 線 89K」或是「台 7 線 77k」的里程牌打卡時,才驚覺要在地圖上找到這些「點」有多困難。以往我只能土法煉鋼,靠著 Google Map 的街景服務,在公路上慢慢滑動、放大縮小,尋找那塊小小的里程牌,過程既繁瑣又沒效率。
這個痛點,正是我想用技術解決的問題。因此,我希望透過這次專案打造一款簡單實用的 App,讓使用者能直接輸入公路名稱與里程數,App 就能立即在地圖上標示出對應的精確位置。
啊,「台 19 線 89K」這個點有什麼特別的嗎?因為 1989 年生的我,單純想跟 1989 合照一張罷了…XD
期待在這 30 天裡,從一行行程式碼開始,不僅打造出一個有用的小工具,更建立起一套屬於自己的開發流程。