從第一天開始,我對 API 幾乎一無所知,只知道它是一種讓不同程式互相溝通的工具。但經過這 30 天的學習,我不僅會使用 API,還學會了如何設計一個可以自動整合資料並執行的系統。
這段時間,我從最基本的 JSON 解析和 HTTP 請求開始,一步步學會如何串接多種 API,例如天氣、空氣品質和新聞。接著我還做出了可以互動的命令列工具(CLI)和漂亮的網頁介面(使用 Streamlit)。
每天的練習都讓我更瞭解程式設計的思考邏輯和實際應用,讓我能把學到的知識用在真實的專案中。
1. API 不只是資料,而是服務之間的橋樑
我以前以為 API 就是拿資料的網址,但現在我知道它更像不同系統之間溝通的語言。就像服務生在餐廳裡幫忙點餐,API 負責傳遞請求和回應,只要會呼叫 API 和處理回傳資料,就能把多個服務串起來。
2. 錯誤處理比寫程式更重要
有時候 API 金鑰會過期或輸入錯誤,伺服器可能超時,甚至 API 回傳結構改變,程式就會報錯。一開始我只想讓程式跑得起來,但後來明白,讓程式不會因錯誤崩潰更重要。所以我學習使用 try-except 來捕捉錯誤,理解錯誤訊息和狀態碼,並懂得寫錯誤日誌,這些讓程式更穩定。
3. 模組化與自動化讓開發更有效率
當我把天氣、空氣品質和新聞拆成不同模組後,程式變得更乾淨且容易維護。再加上排程和自動化,程式可以每天自動執行,就像有一個一直幫我工作的夥伴,讓整個開發流程更順暢且省時。
Day 07:第一次成功呼叫 Open-Meteo API
當我第一次在終端機看到台北今天的氣溫數據時,那種真實從網路抓到資料的感覺讓我非常有成就感。
Day 21:API 金鑰安全與 .env
管理
這是我第一次體會到,寫程式不只是完成功能,更要注意安全。我學會了不要把 API 金鑰直接寫在程式碼裡,而是放在 .env 檔案,保護自己的金鑰不被洩漏。
Day 26–28:CLI + GUI + 整合專案
這幾天是我學習最快速的期間,從用命令列控制程式,到做出漂亮的 Streamlit 網頁介面,讓我的 API 作品變成一個完整的小應用。
在這 30 天的學習挑戰中,讓我從完全沒有基礎,到能夠自己設計並實作一個功能完善的 API 應用程式。過去我只是跟著教程學習,按部就班,但這次的經驗讓我開始自己思考更進一步的問題:
我能不能把學到的功能整合到我自己的專屬應用裡?
這讓我體會到,學會單一技能不是終點,而是開啟更大可能的開始。
怎麼讓這些功能自動化?
讓程式每天自己跑,不需要我手動操作,這是一種讓生活更方便的方式,也讓我學會了排程與自動化工具的使用。
出錯了怎麼辦?
這讓我開始重視錯誤處理,學會捕捉例外、分析錯誤訊息,讓系統能更穩定,也讓我更有信心面對未來的挑戰。
這些思考不只是技術上的成長,更讓我學會了追求效率與穩定的態度。這次挑戰不只是學會了工具,而是培養了我解決問題、持續學習的能力。
接下來,我計劃繼續升級我的生活助手 App,加入更多實用的資訊來源,例如匯率、健康數據和地震警報等 API。這樣可以讓 App 提供更全面的生活資訊,幫助我更方便地掌握重要消息,達到真正的讓系統貼近生活的目標。未來的發展方向就是讓我的生活助手變成一個更智能、更全方位的工具,幫助我更方便、更快速地獲取所需的資訊。
這次的鐵人賽不僅僅是寫程式的練習,更是一段持續挑戰自己的過程。每天學一點、改一點、測一點,長時間累積後,終於完成了一個完整的作品。起初我只是個對程式有些微了解的初學者,但透過這個挑戰,我變成了能夠整合資料、設計使用介面、並且做好錯誤處理的小開發者。這段歷程讓我充滿了成就感,也激励我繼續在開發的道路上前進。