fom Freepik fom Freepik

為什麼要自己做網站?

身為一個熱愛騎自行車的上班族,我經常需要計算爬坡時需要多少功率,或是分析 GPS 軌跡檔案來規劃騎乘時間。特別是工作上常常需要分析電輔腳踏車的性能,要多少瓦數才能爬什麼坡,市面上雖然有一些工具,但總是缺少我想要的功能,而且大多是英文介面。

於是我想:「不如自己做一個?」

這個想法讓我開始了一個有趣的學習之旅。從完全不懂網站架設,到現在有了一個自己用得順手的專業工具,這個過程不僅讓我學到了技術,更重要的是學會了如何將工作需求變成實用工具。

我做了什麼?

🚴‍♂️ 自行車功率計算器

我的網站主要功能很簡單:

  • 輸入你的體重、功率,就能算出在不同坡度能騎多快
  • 反過來,輸入目標速度,就知道需要多少功率
  • 可以上傳 Strava 或 Garmin 的 GPX 檔案,自動分析整條路線需要多久時間
  • 特別針對電輔腳踏車的功率需求進行分析

聽起來很專業?其實核心就是一些物理公式的計算,任何人都能理解。

🌟 與眾不同的地方

為什麼不直接用現有工具?

  • 大部分工具都是英文,台灣騎士用起來不方便
  • 很少支援 GPX 檔案直接拖拉上傳分析
  • 計算結果不夠詳細,看不出各種阻力的影響
  • 沒有針對台灣常見路線(像武嶺、陽明山)優化
  • 缺乏電輔腳踏車的專門分析功能

所以我做的不只是一個計算器,而是專為自己(和可能有同樣需求的人)設計的實用工具。

技術選擇:簡單就是美

💻 為什麼不用複雜的框架?

一開始我也想過要用 React 或 Vue 這些熱門框架,但後來發現:

  • 載入更快:沒有多餘的程式庫,網頁開啟飛快
  • SEO 更好:Google 更容易理解和收錄
  • 維護簡單:不用擔心框架版本更新問題
  • 成本更低:不需要複雜的建置流程

最終我選擇了最簡單的技術:HTML + CSS + JavaScript,但這不代表功能陽春。

🚀 為什麼選擇 Firebase?

在比較了各種主機服務後,我選擇了 Google 的 Firebase:

費用考量

  • 完全免費(每月 10GB 流量)
  • 對個人工具來說綽綽有餘
  • 目前流量不大,免費額度就夠用

技術優勢

  • 全球加速,台灣用戶載入很快
  • 自動 HTTPS 安全連線
  • 與 Google 服務整合完美

未來彈性

  • 之後如果有需要可以輕鬆升級
  • 可以串接其他 Google 服務
  • 部署流程簡單

版本控制:為什麼 Git 這麼重要?

🔄 我的工作流程

剛開始我也不懂版本控制,每次改程式都是直接覆蓋檔案。直到有一次改壞了,找不回原來的版本,才深刻體會到 Git 的重要性。

現在我的工作方式是:

  1. 平常開發:在 develop 分支實驗新功能
  2. 本地測試:確認功能正常運作
  3. 正式發佈:合併到 main 分支,自動部署上線

這樣的好處是:

  • 🛡️ 絕對不會弄壞正式網站
  • 🔄 可以隨時回到之前的版本
  • 📋 清楚記錄每次的修改內容

💡 給新手的建議

如果你也想開始用 Git:

  1. 不用一開始就學複雜的指令
  2. 先學會基本的 addcommitpush
  3. 養成經常備份的習慣
  4. 用 GitHub Desktop 這類圖形介面工具

自動化部署:讓機器人幫你工作

⚙️ 什麼是自動部署?

簡單說,就是當我把程式碼上傳到 GitHub 後,系統會自動幫我更新網站,不需要手動操作。

以前的流程:改程式 → 手動上傳檔案 → 手動部署 → 測試網站 ❌ 現在的流程:改程式 → 推送到 GitHub → 自動部署 → 收到完成通知 ✅

🎯 實際效益

節省時間

  • 每次部署從 10 分鐘縮短到 3 分鐘
  • 可以更專注在功能開發

減少錯誤

  • 不會因為手動操作失誤
  • 每次部署流程都一致

現況與學習心得

📊 目前狀況

說實話,網站才剛上線不久,瀏覽量還很少,主要還是我自己在用。但這其實沒關係,因為一開始的目的就是解決自己的需求,能夠順便幫到其他有相同需求的人更好。

🤔 遇到的困難

技術挑戰

  • 不同 GPS 設備的檔案格式差異
  • 複雜的物理公式計算
  • 跨瀏覽器相容性問題
  • 電輔腳踏車功率計算的特殊考量

功能完善

  • 如何讓計算結果更準確?
  • 怎樣讓介面更直觀好用?
  • 如何處理各種特殊情況?

🚀 解決方案

技術方面

  • 多看文件,多試錯
  • 在自行車社群請教專業知識
  • 找朋友幫忙測試不同裝置
  • 針對工作需求持續調整功能

📚 最大的收穫

這個專案讓我學到的不只是技術:

技能成長

  • 全端網站開發基礎
  • 使用者體驗設計思考
  • 問題分析與解決能力
  • 將工作需求轉化為工具的能力

心態轉變

  • 從「我不會」到「我可以學」
  • 從「湊合著用」到「做個好用的」
  • 從「只有我用」到「也許能幫到別人」

未來想法

🎯 短期目標

  • 持續完善現有功能
  • 修正使用上發現的問題
  • 增加更多電輔腳踏車相關的分析功能
  • 讓工具更符合實際工作需求

📈 如果有機會

  • 也許會嘗試簡單的 SEO 優化
  • 如果真的有其他人覺得有用,會考慮加入更多功能
  • 可能會寫一些騎車相關的實用文章

給想開始的人的建議

🎯 從解決自己的問題開始

你不需要一開始就想著要做給很多人用:

  • 先解決你自己真正遇到的問題
  • 快速做出能用的版本
  • 用起來順手比功能複雜更重要

🛠️ 選擇適合的工具

技術選擇

  • 不一定要用最新最炫的技術
  • 選擇你能掌握的工具
  • 優先考慮簡單穩定

平台選擇

  • Firebase 適合新手入門,而且免費額度很夠用
  • GitHub 是必學的版本控制
  • 簡單的 HTML + CSS + JavaScript 就能做很多事

💪 保持學習動機

設定實際的目標

  • 第一週:網站能正常運作
  • 第一個月:自己用起來很順手
  • 之後:根據需求持續改進

享受過程

  • 學習新技術的成就感
  • 解決問題的滿足感
  • 工具越來越好用的開心

🌐 工具分享

如果你也有類似的需求,歡迎試用我做的工具:

🚴‍♂️自行車功率計算器

這個工具完全免費使用,功能包括:

  • 功率與速度計算
  • GPX 檔案路線分析
  • 電輔腳踏車功率需求分析
  • 適合台灣路線的爬坡計算

雖然還在持續改進中,但基本功能都很穩定。如果使用上有任何問題或建議,也歡迎聯絡我!

總結:從需求到工具

這個專案從想法到能用,花了我大約3天的業餘時間。雖然現在瀏覽量還不大,但每次用自己做的工具解决工作問題時,那種滿足感是很特別的。

🌟 核心心得

技術不是門檻

  • 你不需要是資深工程師
  • 現在的工具讓開發變得很簡單
  • 重要的是解決真實的問題

實用至上

  • 功能不用多,但要真的有用
  • 自己用得順手最重要
  • 能幫到別人是額外的驚喜

持續改進

  • 不要等到完美才開始用
  • 邊用邊改,邊改邊學
  • 小步快跑比規劃完美更實際

🚀 如果你也想開始

  1. 找到你的需求:什麼工作或生活問題一直困擾著你?
  2. 簡單開始:不要想著一次解決所有問題
  3. 快速上手:先做出能用的版本
  4. 持續改進:根據使用經驗不斷優化

記住,最好的工具往往是從解決自己的小問題開始的。你的需求可能也是別人的痛點,說不定你的小工具就能幫到更多人!

這篇文章記錄了一個普通上班族如何將工作需求和業餘興趣結合,做出實用工具的過程。希望能鼓勵更多人動手解決自己遇到的問題。