dw's 小站

DS / CS / CH / 斜槓與轉職的人生

我是 dw / David Ye,是 Houzz 的軟體工程師。
化學系畢業,興趣是聽音樂看動漫追劇打遊戲,偶爾來這邊寫寫文章。

這個 Blog 主要紀錄:

  • 新技術學習或是應用
  • 喜歡的歌詞翻譯與心得

在 GitHub Action 優化 Node.js App 的環境建置

身為一位維護公司內部建置與發佈工具的工程師,建立方便又有效率的 CI/CD 工具來建置與測試產品,並且為產品的穩定性把關,一直是我們團隊的重要目標。不過我們對待自己的內部工具常常比產品來得隨便…所以在我和主管聊過之後,決定慢慢幫我們的內部工具也來建立一些自動化的測試以及部署。

DeskMini X300 組裝紀錄

契機

因為家母還在用我淘汰已久的舊電腦,有各種奇怪的問題,包含卡鍵或是滑鼠失靈、鍵盤連點之類的,對於電腦不太熟悉的家母來說要應付這些問題十分困難,而每次我都要出手去查出是什麼奇怪問題也很麻煩。

也正很很久沒有組電腦了,就上參考 PTT 上原價屋抓菜單,後來發現華擎的 DeskMini 這個可以自己選配內部組件的迷你主機,就覺得蠻有趣的,整個配起來價格也可以接受,不會和市面上的迷你電腦差太多(有的文書機真的便宜的很誇張ˊˋ),性能需求也可以自己掌控,就下單買來組了。

Git Checkout / Switch / Restore 比較

前言

git checkout 原本的功能有:

  • 切換分支
  • 檔案管理

雖然兩者只是一個功能的一體兩面(從特定分支拿取特定檔案),但大多時候我們使用的時候會避免在一個指令進行太多邏輯操作,所以大多都只用到切換分支或是檔案管理其中一個。
而且說實在,checkout 一個檔案實在不是一個語意上很直觀的說法。

我的 Node.js Process 怎麼不會結束?

工作時碰到了某個以 Node.js 撰寫的 scheduled job(排程工作)一直保持在 running 的狀態,永遠不會進到 complete。這時一般首先想到的是,程式可能在某個地方卡住了,進入無窮等待(像是進入無限迴圈一樣)。

一開始我試著使用懶人 debug 方法:加入幾個 console.log 看看 code 是跑到哪裡停住了。
結果,到程式碼最後一個 console.log 也有被執行到。
但程式依然沒有結束。

Git 小技巧

前言

原來 Git 比想像中的易學難精

剛開始學 git,我是隨便買了一本薄薄的書,然後跟著裡面的內容照著跑,就把 git 的基礎學起來了,例如說暫存區、分支、commit、tag、push 等等
曾經我以為這樣就算學會 git 了,我也這樣用 git 用了一兩年,直到有一天在實習的公司被問到說

你會用 Git?那你會用 rebase 嗎?

…那是什麼?