github使用教學

GitHub 使用教學手冊 📋 文件資訊 版本: 2.0 更新日期: 2025年8月29日 適用對象: 新進開發同仁、團隊協作開發者 維護者: 專案開發團隊 📚 目錄 Git/GitHub 基礎概念 1.1 什麼是 Git? 1.2 什麼是 GitHub? 1.3 為何要使用? 1.4 版本控制的重要性 1.5 團隊開發的挑戰 1.6 Git 的解決方案 1.7 GitHub 的附加價值 環境設定 2.1 安裝 Git 2.2 設定個人資訊 2.3 GitHub 帳號設定 2.4 Personal Access Token 設定(替代方案) 2.5 Git 效能優化設定 基本操作流程 3.1 Clone 專案 3.2 建立 Feature Branch 3.3 Commit Message 撰寫規範 3.4 Push 到 Remote 3.5 建立 Pull Request (PR) 3.6 Code Review 流程 3.7 Merge 規範 Git 進階操作 4.1 Interactive Rebase 4.2 Cherry-pick 操作 4.3 Git Bisect 除錯 4.4 Stash 暫存操作 4.5 Submodule 子模組管理 4.6 Git Hooks 自動化 4.7 大型檔案處理 (LFS) 日常工作流程建議 ...

October 31, 2025 · 38 min · 8013 words · Eric Cheng

GitLab使用教學

GitLab 使用教學手冊 📋 目錄 GitLab 基本介紹 1.1 Git vs. GitLab - 基本概念 1.2 為什麼選擇 GitLab? 1.3 專案架構概覽 1.4 GitLab 核心功能詳解 專案工作流程說明 2.1 環境準備 2.2 Clone - 複製專案到本地 2.3 Pull - 同步遠端更新 2.4 Commit - 提交變更 2.5 Push - 推送變更到遠端 2.6 Merge Request - 合併請求 專案開發規範 3.1 分支策略 3.2 Commit Message 規範 3.3 Merge Request 流程 3.4 Code Review 要求 GitLab CI/CD 基本介紹 4.1 CI/CD 概念說明 4.2 GitLab CI/CD 架構 4.3 .gitlab-ci.yml 設定檔 4.4 Java 專案 CI/CD 設定 4.5 常用 CI/CD 指令 4.6 本專案的 CI/CD 應用 常見問題與解決方式 5.1 Merge 衝突處理 5.2 錯誤回復方式 5.3 分支管理問題 5.4 權限和認證問題 5.5 效能和同步問題 5.6 CI/CD Pipeline 問題 5.7 團隊協作問題 開發最佳實務建議 ...

October 31, 2025 · 38 min · 8029 words · Eric Cheng

git使用教學

專案 Git 教學手冊 目錄 Git 基本觀念 1.1 什麼是版本控制? 1.2 為什麼使用 Git? 1.3 Git 基本概念 實務提醒 第1章實作練習 環境設定 2.1 Git 安裝 2.2 基本設定 2.3 個人與公司帳號區隔 2.4 SSH 金鑰設定 2.5 HTTPS vs SSH 選擇 2.6 Java 開發環境整合配置 實務建議 第2章實作練習 專案流程 3.1 如何 Clone 專案 3.2 分支策略與命名規範 3.3 Commit Message 規範 3.4 Pull / Fetch / Merge / Rebase 使用時機 3.5 Push 前檢查事項 3.6 衝突處理 團隊協作 4.1 Pull Request (PR) / Merge Request (MR) 流程 4.2 Code Review 規範 4.3 分支保護規則 4.4 工作流程最佳實務 常見錯誤排解 5.1 誤 Push 的處理 5.2 Commit 錯誤訊息修正 5.3 Reset vs Revert 使用時機 5.4 分支相關問題 5.5 合併問題解決 5.6 遠端倉庫問題 最佳實務 ...

October 31, 2025 · 32 min · 6802 words · Eric Cheng

Hexagonal Architecture設計教學

Hexagonal Architecture 設計教學手冊 📚 文件說明 本教學手冊旨在幫助新進同仁快速理解和應用 Hexagonal Architecture(六邊形架構)。透過循序漸進的方式,從基礎概念到實務應用,讓團隊成員能夠有效地運用這種架構模式進行軟體開發。 🎯 學習目標 理解 Hexagonal Architecture 的核心概念與設計理念 掌握 Ports & Adapters 模式的實作技巧 學會在實際專案中導入六邊形架構 提升程式碼的可測試性與可維護性 建立與團隊協作的共同語言 📖 目錄 Part 1. 基礎概念 認識 Hexagonal Architecture(六邊形架構) 1.1 Hexagonal 的由來與核心理念 1.2 與傳統分層架構的比較 1.3 Ports & Adapters 模式的核心概念 Hexagonal Architecture 的設計目標 2.1 解耦業務邏輯與基礎設施 2.2 減少技術債務與提升可測試性 2.3 支援 Domain-Driven Design 的角色 Hexagonal 與其他架構模式的關係 3.1 與 Clean Architecture 的異同 3.2 與 Onion Architecture 的異同 3.3 適用場景與限制 Part 2. 核心組件與實作模式 Ports & Adapters 詳解 4.1 定義與職責 4.2 輸入 Port / 輸出 Port 4.3 主動 Adapter / 被動 Adapter Domain 層的角色 ...

October 31, 2025 · 89 min · 18939 words · Eric Cheng

HTML5與CSS3程式語言教學

HTML5 與 CSS3 程式語言教學手冊 目錄 前言 開發環境設定 HTML5 開發規範 CSS3 開發規範 專案中的命名規則與檔案結構 CSS 動畫與轉場效果 HTML5 新特性與 API JavaScript 整合與互動 網頁無障礙設計 常見錯誤與解決方法 開發最佳實務 範例程式碼 結語 檢查清單 1. 前言 1.1 HTML5 與 CSS3 在專案中的角色 HTML5 和 CSS3 是現代網頁開發的基石,在我們的專案中扮演著至關重要的角色: HTML5 的角色 結構定義者:負責網頁內容的語意化結構 互動基礎:提供表單、多媒體等互動元素 可及性保障:確保網站對所有使用者都能順利存取 SEO 基礎:良好的 HTML 結構有助於搜尋引擎優化 CSS3 的角色 視覺呈現:控制網頁的外觀與佈局 使用者體驗:創造流暢的動畫與互動效果 響應式設計:確保在各種裝置上都有良好的顯示效果 效能優化:減少不必要的圖片使用,提升載入速度 1.2 重要性 在現代網頁開發中,HTML5 和 CSS3 的重要性體現在: 標準化:遵循 W3C 標準,確保跨瀏覽器相容性 可維護性:良好的結構和命名規則讓程式碼易於維護 效能:正確使用能大幅提升網頁載入速度 可及性:符合無障礙設計標準,服務更多使用者 SEO 優化:語意化的 HTML 有助於搜尋引擎理解內容 2. 開發環境設定 2.1 必要工具 2.1.1 程式碼編輯器 推薦:Visual Studio Code ...

October 31, 2025 · 15 min · 3071 words · Eric Cheng

IntelliJ IDEA Community Edition使用教學

IntelliJ IDEA Community Edition 使用教學手冊 文件資訊 版本: 1.0 建立日期: 2025年8月29日 適用對象: Java 後端開發新進人員 IDE 版本: IntelliJ IDEA Community Edition 2023.3+ 目錄 IntelliJ IDEA CE 下載與安裝 1.1 下載 IntelliJ IDEA Community Edition 1.2 安裝步驟 1.3 首次啟動設定 1.4 授權與隱私設定 開發環境基本設定 2.1 JDK 設定 2.2 Maven 整合設定 2.3 編碼設定 2.4 Code Style 設定 2.5 檢查器設定 匯入專案與建立新專案 3.1 匯入現有專案 3.2 建立新專案 3.3 專案設定優化 與 Git/GitHub/GitLab 的整合 4.1 Git 基本設定 4.2 本地版本控制操作 4.3 遠端儲存庫整合 4.4 分支管理 4.5 處理合併衝突 4.6 Pull Request / Merge Request 管理 專案編譯與執行 ...

October 31, 2025 · 23 min · 4899 words · Eric Cheng

Java程式語言教學

Java 程式語言教學手冊 目錄 Java 語言簡介 1.1 Java 的歷史與特性 1.2 為什麼專案使用 Java 1.3 Java 認證路線簡介 1.4 認證考點提醒 1.5 小練習 開發環境與工具 2.1 JDK 安裝(Java 21) 2.2 IDE 設定 2.3 Build 工具 2.4 認證考點提醒 2.5 小練習 Java 基礎語法 3.1 Hello World 程式 3.2 基本資料型別、變數、常數 3.3 運算子與型別轉換 3.4 流程控制 3.5 陣列操作 3.6 字串處理 3.7 認證考點提醒 3.8 小練習 物件導向程式設計 (OOP) 4.1 類別與物件 4.2 建構子與方法 4.3 繼承 (Inheritance) 4.4 多型 (Polymorphism) 4.5 封裝 (Encapsulation) 4.6 抽象類別與介面 4.7 認證考點提醒 4.8 小練習 核心 API 與工具 5.1 集合框架 (Collections Framework) 5.2 泛型 (Generics) 5.3 日期時間 API 5.4 檔案 I/O 操作 5.5 正規表達式 5.6 認證考點提醒 5.7 小練習 例外處理與錯誤管理 6.1 例外處理機制 6.2 自訂例外 6.3 最佳實務 6.4 認證考點提醒 6.5 小練習 進階語法與認證內容 ...

October 31, 2025 · 141 min · 29986 words · Eric Cheng

JdbcTemplate 安全 SQL 實作指引文件

以下是完整的 《JdbcTemplate 安全 SQL 實作指引文件》Markdown 版本,可直接放入你的 Git Repository(例如 /docs/security/jdbctemplate-sql-guideline.md),作為團隊安全規範或 Code Review checklist 使用。 # 🧭 JdbcTemplate 安全 SQL 實作指引文件 **版本:v1.0** **適用範圍:** Spring Boot 專案中使用 `JdbcTemplate` 或 `NamedParameterJdbcTemplate` 的資料存取層 **目的:** 防止 SQL Injection 攻擊與弱掃誤判 --- ## 1️⃣ 目的與原則 SQL Injection(SQL 注入)是 OWASP Top 10 的主要風險之一。 若在 API 中直接拼接 SQL 字串(尤其包含前端輸入),將導致弱掃報告出現 Injection 問題,甚至被惡意利用。 **安全實作原則:** 1. 所有 SQL 查詢必須採用 **參數化查詢(Parameterized Query)**。 2. 不可直接拼接使用者輸入字串到 SQL。 3. 動態欄位或排序需求必須使用 **白名單機制(Whitelist)**。 4. 禁止讓 client 直接傳入完整 SQL。 5. 所有 DB 帳號採用最小權限原則(Least Privilege)。 --- ## 2️⃣ 正確安全作法範例 ### ✅ 查詢範例 ```java String sql = "SELECT id, name, email FROM users WHERE email = ?"; return jdbcTemplate.query(sql, new Object[]{email}, new UserRowMapper()); ✅ 插入範例 String sql = "INSERT INTO users (name, email) VALUES (?, ?)"; jdbcTemplate.update(sql, name, email); ✅ 更新範例 String sql = "UPDATE users SET status = ? WHERE id = ?"; jdbcTemplate.update(sql, status, id); ✅ 刪除範例 String sql = "DELETE FROM users WHERE id = ?"; jdbcTemplate.update(sql, id); ✅ 動態查詢(條件可變) 重點:條件以程式判斷拼接,但參數仍使用 ? 綁定。 ...

October 31, 2025 · 3 min · 498 words · Eric Cheng

Jenkins CI_CD 教學手冊

Jenkins CI/CD 教學手冊 📋 目錄 (Table of Contents) 第一部分:基礎概念與環境建置 Jenkins 簡介與核心概念 環境安裝與基本設定 Jenkins 介面導覽 Plugin 管理與基礎設定 第二部分:Job 建立與管理 Freestyle Project 入門 憑證與密碼管理 Git 整合與版本控制 Maven 建置整合 第三部分:Pipeline 進階應用 Pipeline 基礎與 Declarative Syntax Jenkinsfile 結構深度分析 測試報告與程式碼覆蓋率整合 靜態程式碼分析與品質檢查 第四部分:進階功能與故障排除 Pipeline 故障排除與除錯技巧 部署策略與環境管理 監控、通知與效能優化 第五部分:企業級應用與最佳實務 企業級 CI/CD 架構設計 容器化與雲端整合 DevOps 文化與實務 實務案例研究 附錄 附錄 A:常用指令參考 A.1 Jenkins CLI 指令 A.2 Git 整合指令 A.3 Docker 容器指令 A.4 Kubernetes 部署指令 附錄 B:配置範例 B.1 Jenkins 系統配置範例 B.2 多環境配置範例 B.3 安全配置範例 附錄 C:故障排除指南 C.1 常見 Jenkins 問題 C.2 網路連接問題 C.3 Docker 建置問題 C.4 性能調優指南 附錄 D:最佳實踐清單 D.1 安全最佳實踐 D.2 效能最佳實踐 D.3 維護最佳實踐 附錄 E:工具和資源 E.1 推薦工具清單 E.2 學習資源 附錄 F:認證考試對照 F.1 Jenkins 認證考試對應 F.2 相關技術認證 附錄 G:版本更新歷史 📖 教學手冊說明 🎯 學習目標 本教學手冊旨在幫助新進 Java 開發者從零開始學習 Jenkins 與 CI/CD 自動化流程,涵蓋從基礎概念到實務應用的完整知識體系。 ...

October 31, 2025 · 195 min · 41351 words · Eric Cheng

Linux使用教學

Linux 使用教學 專案開發環境導向 + 認證準備指南 適用於 Java 開發專案團隊的 Linux 學習手冊 📋 目錄 1. 前言 1.1 本手冊目的 1.2 適用對象 1.3 專案環境說明 1.4 學習方法與建議 2. Linux 基礎概念 2.1 Linux 與開源精神簡介 2.2 Linux 系統架構 2.3 檔案系統階層結構 2.4 使用者與群組管理 2.5 檔案與目錄權限 3. Linux 常用指令 3.1 檔案與目錄操作 3.2 檔案檢視與搜尋 3.3 檔案壓縮與解壓縮 3.4 權限管理 3.5 程序管理 3.6 網路工具 3.7 軟體管理 4. 開發環境操作 4.1 安裝與設定 JDK 4.2 安裝與設定 Python 4.3 安裝與設定 Node.js 4.4 資料庫客戶端 4.5 使用 Git 與 GitLab/GitHub 4.6 容器化開發工具 4.7 Maven/Gradle 編譯與部署 5. 專案日常任務 5.1 SSH 遠端登入 5.2 檔案傳輸 5.3 Log 查詢與分析 5.4 錯誤排查技巧 5.5 排程任務 6. Linux 系統安全與最佳實務 6.1 sudo 與使用者權限控管 6.2 SSH 安全性 6.3 防火牆設定 6.4 SELinux / AppArmor 基本操作 7. CI/CD 與 Linux 整合 7.1 Jenkins 於 Linux 的安裝與設定 7.2 Jenkins Pipeline 與 Shell Script 7.3 Linux 與容器整合 7.4 自動化部署流程範例 8. Linux 認證導向補充 8.1 認證體系概覽 8.2 LFCS (Linux Foundation Certified System Administrator) 8.3 RHCSA (Red Hat Certified System Administrator) 8.4 LPI (Linux Professional Institute) 認證 8.5 認證準備策略 9. 附錄與總結 9.1 學習路徑總結 9.2 常見問題與解答 (FAQ) 9.3 實務檢查清單 9.4 進階學習資源 9.5 職涯發展指南 9.6 結語與展望 1. 前言 1.1 本手冊目的 📖 為什麼需要這份手冊? ...

October 31, 2025 · 79 min · 16733 words · Eric Cheng