寫程式

A collection of 80 posts
ES6: Map 物件,特性是有順序性
寫程式

ES6: Map 物件,特性是有順序性

在這篇文章中,我深入探討了 ES6 的 Map 物件和它獨特的方法。我示範了如何使用 Map 來存儲鍵值對,並介紹了 Map 的多個操作,包括新增、取值、檢查、迭代和清空等。我還比較了 Map 與傳統 Object 的效能和特性,指出 Map 在處理大量動態鍵值對時的優勢。此外,Map 的順序性和對各種數據類型鍵的支援,使其成為一個非常靈活和強大的數據結構選項。
2 min read
CI/CD 原理: 持續集成&持續交付/部署
寫程式

CI/CD 原理: 持續集成&持續交付/部署

在這篇文章中,我深入探討了 CI/CD 的三個階段:持續整合(CI)、持續交付(CD)和持續部署(CD),並解釋它們在軟件開發過程中的重要性。我強調了持續整合如何幫助團隊減少整合衝突,持續交付如何保證軟件隨時可部署,以及持續部署如何實現自動化生產部署。此外,我還介紹了在 GitLab 和 Jenkins 中實施 CI/CD 的具體例子。
7 min read
CI/CD: GitHub Actions 自動部署到 GitHub Page
寫程式

CI/CD: GitHub Actions 自動部署到 GitHub Page

在這篇文章中,我探討了如何在 GitHub 上使用 GitHub Actions 來實施 CI/CD,重點介紹了如何撰寫用於持續部署的工作流程腳本。透過簡單的實例,我說明了從建立專案、手動部署、到設定自動化部署的全過程,並提供了 GitHub Actions 腳本的具體配置方法,以幫助讀者能夠更好地利用這一功能來自動化他們的部署過程。
3 min read
動態規劃與分治法(Divide-and-Conquer)
寫程式

動態規劃與分治法(Divide-and-Conquer)

在本文中,我探討了動態規劃與分治法的核心原理和應用。我說明了動態規劃是如何在分治法的基礎上,通過保存小問題的解來避免重複計算,從而提高效率。分析了這兩種方法的實際應用如費波那契數列,並對比了它們的效率。此外,我還介紹了如何使用分治法將大問題分解成小問題,進而找到最終解答的過程。
5 min read
遞迴(Recursion): 原理與實例
寫程式

遞迴(Recursion): 原理與實例

在本文中,我深入探討了遞迴(Recursion)的概念,說明其如何在程式中透過函式自我呼叫來實現循環操作。我介紹了直接遞迴和間接遞迴的不同類型,並用費波那契數列和正整數階乘等經典問題來展示遞迴的應用。此外,我也比較了遞迴與迭代的差異,並探討了動態規劃如何優化遞迴操作,以減少計算重複和提高效率。
5 min read
前端面試常見考題(1-2 年)
寫程式

前端面試常見考題(1-2 年)

在這篇文章中,我深入探討了網頁生命週期的各個階段,從用戶輸入網址到網頁結束,並解釋了如何通過各種前端技術來處理和優化這一過程。我也提到了如何使用不同的 HTTP 方法來執行 CRUD 操作,以及跨瀏覽器兼容性問題的解決方案。此外,我還討論了如何運用 CSS 盒模型來改善頁面布局,以及動畫的實現和性能優化技巧。
5 min read
排序: 泡泡排序等經典排序法
寫程式

排序: 泡泡排序等經典排序法

在這篇文章中,我介紹了幾種基本的排序方法,包括選擇排序、泡沫排序、插入排序、合併排序以及快速排序。我闡述了每種排序法的時間複雜度和空間複雜度,並通過具體的 JavaScript 實例和動畫來展示每個排序算法的具體運作過程。這些排序方法涵蓋了從基本到較為進階的技術,幫助讀者理解各種排序技術在實際應用中的表現及效率。
5 min read
Regex 正則表達式快速理解與實作
寫程式

Regex 正則表達式快速理解與實作

在這篇文章中,我介紹了正則表達式(Regex)的基本概念和實作方法。透過具體的例子和說明,我解釋了如何使用 Regex 進行字串搜索、替換以及數據驗證等操作,並探討了其在不同編程環境中的適用性。我也提供了一些實用的線上工具推薦,以幫助理解和視覺化 Regex 的匹配過程,讓讀者能夠更有效地運用這一強大的工具。
7 min read