
去超商機台列印文件,紙從出紙口滑出來了,文件在手上,結果螢幕彈出「列印失敗,請重試」。台灣的超商機台幾乎承擔一切服務——繳費、取票、列印——這種場景不是假設,是很多人真的愣在那裡不知道要不要相信那個紅色畫面的瞬間。後端的 500 就是這件事,只是發生在 API 層。

去超商機台列印文件,紙從出紙口滑出來了,文件在手上,結果螢幕彈出「列印失敗,請重試」。台灣的超商機台幾乎承擔一切服務——繳費、取票、列印——這種場景不是假設,是很多人真的愣在那裡不知道要不要相信那個紅色畫面的瞬間。後端的 500 就是這件事,只是發生在 API 層。
通知發出去,API 回 500。不是 try/catch 漏了,不是業務邏輯寫錯。是資料庫的 ENUM 欄位看到一個陌生字串——group_expense_updated——直接拒收。錯誤發生在應用層底下,連 catch 都來不及。
除了能取出資料外,轉成json來處理當然會比較方便嚕。所以首先檢查一下node.js的最新版本,升級後再安裝node-mysql跟JSON-js:
# wget http://nodejs.org/dist/v0.8.11/node-v0.8.11.tar.gz
# tar zxvf node-v0.8.11.tar.gz
# cd node-v0.8.11
# ./configure
# make
# make install
# which node
/usr/bin/node
# node -v
v0.8.11
# which npm
/usr/bin/npm
# npm -v
1.1.62
# npm install socket.io
接著就找個資料夾建立index.js:
閱讀全文