KD's Tech Blog

軟體工程和產品專案管理現場觀察:關於軟體開發/程式設計/工程思維的技術部落格

GraphQL 入門教學筆記(ESM 模組版)| 學習筆記


前言在傳統的 REST API 中,前端往往需要根據不同的需求,呼叫多個端點取得資料,有時還會遇到資料過多(Over-fetching)或不足(Under-fetching)的問題。為了解決這些痛點,Facebook 在 2015 年開源了 GraphQL,一種靈活且高效率的查詢語言。 GraphQL 讓前端可以明確指定想要的資料欄位,伺服器僅回傳需要的資料,改善資料浪費與重複請求的問題。此......

Monorepo 入門教學筆記:使用 npm Workspaces 管理多專案 | 學習筆記


一、什麼是 Monorepo?Monorepo(Monolithic Repository) 是一種將多個相互關聯的專案(如前端、後端、共用函式庫等)統一放在同一個 Git 倉庫中進行版本管理的架構策略。這種做法可提升跨專案開發效率、共用程式碼的一致性,並簡化 CI/CD 流程。 相較於 Multi-repo(每個專案獨立倉庫),Monorepo 具有以下幾項優勢: 優點 統一依賴......

React 與 Next.js 入門教學筆記 | 學習筆記


1. React 簡介React 是由 Facebook(現 Meta)開發的 JavaScript 前端函式庫,主要用於構建 UI 元件。它採用組件化開發方式,並透過 Virtual DOM 提升效能。 2. Next.js 簡介Next.js 是一個基於 React 的框架,提供伺服器端渲染(SSR)、靜態網站生成(SSG)等功能,讓開發者能夠更輕鬆地開發 SEO 友好的應用程式。 3.......

軟體工程專有名詞彙整學習筆記


軟體工程專有名詞 Agile 敏捷開發 DbC 契約精神 SOLID 原則 TDD 測試驅動 KISS 原則 YAGNI (避免過度設計) DRY (模組化、擅用設計模式) 迪米特法則(降低依賴和耦合) 依賴注入 關注點分離 無暇程式碼 clean code 設計模式 ...

Vue Router 入門教學筆記 | 學習筆記


前言Vue Router 是 Vue.js 官方提供的前端路由解決方案,專為構建單頁應用(SPA, Single Page Application)而設計。它讓我們可以根據網址變化動態切換畫面而不重新載入頁面,是開發 Vue 應用不可或缺的工具之一。 本文將介紹 Vue Router 的基本概念、安裝方式、核心語法,並透過簡單實作幫助我們快速入門。 一、什麼是前端路由在傳統網頁架構中,網址......

Element Plus 介紹入門教學筆記 | 學習筆記


前言在現代前端開發中,UI 框架對於提升開發效率、提升用戶體驗具有至關重要的作用。Element Plus 是一個基於 Vue 3 的開源 UI 框架,它提供了豐富的組件,並且與 Vue 3 的 Composition API 完美兼容,能幫助開發者快速構建高質量的前端應用。 在筆記中,我們將使用 Vue 3 的 setup() 語法來講解如何在專案中使用 Element Plus,並展示如......

Vuex 入門教學筆記:集中式狀態管理實作入門教學筆記 | 學習筆記


前言在 Vue.js 開發中,當應用程式變得複雜,元件之間需要共享的狀態越來越多時,僅靠 props 與 events 傳遞資料會變得混亂與難以維護。這時,我們就需要一個集中式的狀態管理方案,而 Vuex 正是官方為 Vue 提供的解決方案。 Vuex 是一個專為 Vue 應用開發的狀態管理模式。它將應用中所有的狀態集中管理,並以可預測的方式更新,便於追蹤與維護。 一、Vuex 是什麼?V......

Webpack 入門教學筆記:現代前端建構工具的基礎與實戰 | 學習筆記


前言在前端專案日益龐大與模組化的今天,建構工具(build tools)扮演了極其關鍵的角色。而 Webpack 作為目前最主流的模組打包器(module bundler),廣泛應用於各類前端應用與框架中(如 React、Vue 等)。本篇筆記將介紹 Webpack 的基本概念、核心組件與實際範例,協助你快速理解與實作。 一、什麼是 Webpack?Webpack 是一個靜態模組打包器,它......

Grid 網頁排版技巧入門教學筆記 | 學習筆記


前言在現今網頁設計中,排版的結構與呈現方式對於用戶體驗至關重要。隨著網頁設計的演進,CSS Grid 成為了最強大且靈活的排版工具之一。透過 CSS Grid,你可以輕鬆創建複雜的佈局,並且適應不同設備的需求。本文將介紹 CSS Grid 的基本概念與使用技巧,幫助你迅速掌握如何在網頁設計中使用 Grid。 1. 什麼是 CSS Grid?CSS Grid Layout(簡稱 Grid)是 ......

Flexbox 網頁排版技巧入門教學筆記 | 學習筆記


1. Flexbox 簡介Flexbox(Flexible Box Layout)是一種 CSS3 佈局模式,專門用來設計一維的彈性佈局,適用於水平或垂直排列元素,使網頁排版更加靈活且易於維護。 1.1 為何使用 Flexbox? 彈性調整:元素可根據可用空間動態調整大小。 簡化佈局:減少對 float、inline-block 及 position 依賴。 更好的對齊方式:內建強大的對齊與......