2022年8月7日

程式是人寫出來的,測試也是

本文章首次刊登於 Web 長島計畫《第三期:測試,這不是測試》 軟體測試是什麼 軟體開發的過程中,除了功能本身的開發外,還有一個很重要的環節是「測試」。有的人聽到「寫測試」,直覺反應是「好麻煩」,或覺得這只是個浪費時間的事。如果程式一開始就寫的好,為什麼還需要花時間來寫測試呢? 當然,如果能確定程式是「正確無誤的」,就可以省去寫測試的時間。然而,實際情況下,程式是人寫出來的;是人寫的,就有機會犯錯,只是錯的多或少罷了。 如果把整個「軟體開發」的過程比喻做「寫考卷」,開發者就像是寫考卷的學生。不管你有沒有讀書,都還是可以作答並交出考卷。至於要怎麼知道答案寫的正不正確、能夠得到多少分數,就得要靠「對答案」才能知道了。「對答案」這個動作,其實就是「測試」在做的事。測試是在核對開發者開發出來的功能,是不是確實符合 ...

2021年8月30日

在 Windows 上配對 Apple 鍵盤時需要輸入 PIN 碼(Apple keyboard PIN)

keywords: Mac 鍵盤、PIN 碼、Magic Keyboard、Windows、巧控鍵盤 最近在把 Magic Keyboard 和 Windows 筆電配對時發生一件很奇怪的事,就是當我點擊「連結」時,它一直要求我「輸入『鍵盤』的 PIN」,但重點是,螢幕上沒有跳出任何告知我鍵盤 PIN 碼的畫面,我也不知道鍵盤的 PIN 碼到底什麼是什麼。 後來找到了這篇文章(How do I...

2021年5月4日

從找衣服了解時間複雜度(Time Complexity)

剛剛用日常上班前挑衣服的例子和沒學過程式的 00 說明時間複雜度的概念很好理解耶~! 例子是這樣的... 一早要出門的時候,想要從衣櫃中找出紅色的上衣。 其中一種方式是像左圖一樣,這是掏寶上很熱門的「疊衣服褲子收納神器」,雖然看起來整理的很乾淨,但如果你要從中找到紅色的衣服,你就得要由上而下一件一件找,最糟的情況就是一直翻到最下面才能找到你要的紅色衣服。 ...

2021年4月26日

[心得] 2021 求職面試心得分享

由於過去求職時在 ptt 上或許多個人網誌中獲得了許多幫助,因此這次也來分享自己面試的心得,希望對於求職的大家們能夠有些幫助。 這次求職過程中,在和幾位不同的 Team Lead 或是 CTO 面談的過程中,真的讓我感受到多數厲害的人總是自信而謙虛的,他們不會透過問題來讓你覺得自己不懂,反倒是很 open-minded 讓你感受到雖然這個自己現在不懂,但沒關係,甚至會進一步透過提問來協助你進一步釐清自己的思路。 ...

2021年4月20日

[心得] ALPHA Camp X 天下雜誌:那些年我們一起走過的數位轉型

這次很幸運有機會能夠擔任 ALPHA Camp 與天下雜誌合作舉辦的實體/線上活動,也是我自己第一次擔任活動主持人。 從小,我家就非常多與天下相關的雜誌,不論是天下、康健、Cheers 都有,因為我爸媽算是很早期的訂戶,所以一開始收到 ALPHA Camp 詢問能否的擔任活動主持人時,我內心是有些興奮的,是一種竟然可以有機會進到從小就一直在接觸的媒體的雀躍感,而且天下雜誌多數時候也給我相當正面的感受,算是台灣媒體界的清流之一。 ...

2021年3月26日

gRPC 是什麼?以 Golang 進行示範與說明

gRPC 說明影片 @ BESG :::tip source code 對應的程式碼可檢視 besg-grpc 的 repository。 ::: gRPC 是什麼:以 Golang 說明與實作 RPC 的全名是 remote procedure call,主要是作為電腦和電腦間溝通使用。A 電腦可以呼叫 B 電腦執行某些程式,B 電腦會將結果回傳給 A 電腦,A 電腦在收到回應後會再繼續處理其他任務。RPC 的好處在於,雖然 A 電腦是發送請求去請...

2021年3月8日

[React] 讓父層可以取得子層的 DOM 元素:ForwardRef 的使用

圖片來源:Algolia blog 內文資料來源:Forwarding Refs @ React Docs 目的 有些時候父層的元件希望能夠取得子層的 DOM 元素(例如,button 或 input),以便能夠在父層控制子層 DOM 元素的 focus, selection 或 animation 的效果。這時就可以使用 Ref forwarding 來讓父層取得子層 DOM 元素,以便控制和操作它。 :::note 通常需要被 forwardRef ...