前端三分鐘

一起用三分鐘分享技術與知識

人生的二分搜尋法

為什麼喜歡的演唱會總是聽一場少一場

想像一下我們參加了一場比賽,你需要在沙灘上透過唯一的選擇找到最大最喜歡的貝殼,規則是只能做一次選擇撿貝殼,且過程中不能更換,起點、終點、比賽時間會是固定的。 在沙灘上撿貝殼,就好像我們在做人生的終極二選一,都只是單純要或不要的決定,唯一的限制和規則是時間固定的流逝,而我們只能不斷的決定。 接下來我們就用演算法的角度來看看為什麼演唱會總是聽一場少一場? 二分搜尋法終極二選一中,有一個比較可以類......
me
林彥成
2024-10-27 | 3 min.

Node.js 模組管理工具比較

npm、pnpm、yarn 和 bun 的優缺點與選擇指南

在 Node.js 生態系統中,選擇合適的模組管理工具就像選擇神奇寶貝御三家一樣,是提升開發效率並成為開發大師的關鍵。 本文將深入比較四種流行的 Node.js 模組管理工具: npm、pnpm、yarn 和 bun,分析它們的優缺點,幫助開發者根據專案需求做出明智的決策。 npm 優勢與劣勢分析npm (Node Package Manager) 是隨 Node.js 安裝的官方模組管理工......
me
林彥成
2024-10-13 | 4 min.

人生的貪婪演算法

你想的最佳解也許不是真的最佳解又如何

貪婪演算法是一種常用的算法,尤其在圖論中的最小成本生成樹中應用廣泛。 貪婪演算法演算法根據當前狀況選擇最佳解,但往往忽略了全域的最佳解。 舉個例子,當我們從南投前往高雄時,可能面臨以下選擇: 計程車 (2.5 小時) 先坐公車到台中高鐵 (30 分鐘) 先坐公車到台中市 (40 分鐘) 在此情況下,貪婪演算法會選擇第二個選項,因為它當下時間成本最低,但不一定能最快到達目的地。 貪婪演算法......
me
林彥成
2024-10-06 | 2 min.

JavaScript 模組超進化

從工業革命到文藝復興

JavaScript 模組超進化,從沒有元件概念的開端,到 React 引入的元件化概念,開始了大前端時代的工業革命時代,也是那個時候開始,有了專職的前端工程師職位,也才有各位大大們現在認識的小編。 隨後是 Module Federation 的靈活性、ESM 的即時載入功能、瀏覽器支援遠端載入的技術,這一切都是技術進步的積累,也大大提高了大家對於前端工程的想像,當然這也直接的反應到薪水的成......
me
林彥成
2024-10-03 | 4 min.



為什麼選擇 Zustand 作為最佳狀態管理解決方案

那隻熊也許不會最好但卻是最可愛的

當我選擇 Zustand 作為狀態集中管理的解決方案時,有很多原因促使我做出這個決定。Zustand 的輕量級和彈性特性使其在架構上無縫穿梭於專案的各個角落,避免了因架構限制而導致的可讀性下降和優化難度增加。 以下是我使用 Zustand 快兩年後的一些心得,從幾個層面來分析。 為什麼不該再繼續用 Redux 了?選擇狀態集中管理的解決方案時,Zustand 的輕量級和彈性特性讓我不再依賴 ......
me
林彥成
2024-10-02 | 4 min.

為什麼選擇 React Hooks

基礎範例解析與優缺點全面分析

React Hooks 介紹React 引用的 Hooks 設計,讓副作用處理和外部功能更輕鬆地進入函式元件,相比於類別元件的寫法,提供了更簡單的解決方案。舉例來說,Redux 的 useSelector 可以取代 connect 和 mapStateToProps。接下來,我們將通過 useState 和 useEffect 兩個 Hooks 的範例,來對比其與類別寫法的不同。 React......
me
林彥成
2024-08-17 | 6 min.

Vite 系統環境變數

從把妹角度理解前後端如何和平相處

環境變數對於一個系統來說是非常重要的,以把妹來說同樣的男生遇到不同的妹子時,腦中需要即時套用不同的參數來做出對應的表現來不被抓包自己是海王。 系統在設計和規劃的時候,當然也需要經過環境變數的設計來讓同樣一套系統能夠應對測試、UAT、Production 環境的情境。 Vite 系統環境變數設定Vite 是下一代的前端模組打包工具,背後是直接使用 ESM 所以可以達到快速即時的開發體驗,但也由......
me
林彥成
2024-05-30 | 1 min.

Reactjs 問世十年後的開發體驗

一袋米扛幾樓的難度有多少

Reactjs 從 2013 年問世後至今滿 10 年,提供前端開發領域元件設計的典範基礎,逐步帶動並完善了開發的生態系統。 最初的 React 就是一個單純的函式,提供 props 並進行內部的狀態運算後回傳一個計算後的 DOM 元素呈現在網頁上。 DOM = React(props, state) 回顧過去的十年,Reactjs 的發展從 Clean Architectur......
me
林彥成
2024-04-06 | 11 min.



share