JavaScript 避免輸入法選字觸發 Enter 事件的方法

 作者 Puck Wang |  建立於 2024-05-26 22:52  |  更新於 2024-05-26 23:28  |  版本 c3a77a1  |  分類: 問題解決 |  標籤: NodeJs, JavaScript, TypeScript, HTML

在寫前端時,有時候會遇到需要在 Input 上偵測 Enter 事件來提供特殊功能,像是搜尋的 Input 可以增加 Enter 執行搜尋。

在使用 event.key 去判斷是否為 enter 時,應該會遇到輸入法選字也會誤判的問題。

Continue Reading...

關於編碼 (Encoding)、加密 (Encryption)與雜湊 (Hashing)

 作者 Puck Wang |  建立於 2024-05-19 12:14  |  更新於 2024-05-19 14:05  |  版本 d634e03  |  分類: Software Development |  標籤: Encoding, Encryption, Hashing

常有人會把「編碼 (Encoding)」、「加密 (Encryption)」以及「雜湊 (Hashing)」這三者混淆,甚至是誤用。

作為軟體開發者,應該對這些基本的資料處理技術有簡單的理解,否則開發出來的軟體很容易出現資安問題。

Continue Reading...

為 Yup 自訂驗證加上支援 Typescript

 作者 Puck Wang |  建立於 2022-05-02 14:11  |  更新於 2022-05-02 14:35  |  版本 317d3c7  |  分類: 軟體開發 |  標籤: Front-end, 資料驗證, Yup, Typescript

我們在使用 Yup 時,很常會使用 Yup.addMethod 來新增自訂的驗證方式,但如果專案是 Typescript 的卻沒有加上適當的 Type,會使編譯時出現錯誤。

這時候我們為加上正確的 Type,不只不會出現錯誤,使用上也更方便。

Continue Reading...

使用 Git Bisect 快速找到第一個有問題的 Commit

 作者 Puck Wang |  建立於 2021-04-19 03:34  |  更新於 2021-12-12 06:36  |  版本 bfd595b  |  分類: 版本控制, Debug |  標籤: Git
Git log
Git log

現在專案很常使用 Git 作為版本控制系統,所以在遇到 Bug 找不到是哪裡出錯時,可以藉由找出第一次出錯的 Commit 來找到問題原因。

但在大型專案中,全部 Commit 可能達上千筆,如果遇到很久沒發現的 Bug,就可能會發比較久的時間去找是哪個 Commit 出問題。

常見的可能會看 Commit 訊息來反推可能有問題的 Commit,或是用最笨的方法一個個往回找,這樣效率都不太好。

利用 Git 內建的 Git Bisect 來使用二元搜尋的方式來找有問題的 Commit,就可以大大提升效率。

Continue Reading...