分類
javascript 程式學習

Mocha.js 與 Babel 7 的組合

之前的一段時間,為了單元測試的結果最接近實際結果,因此希望能夠與産品一樣在瀏覽器內進行,
因此使用 Karma.js 搭配 chrome 下執行,運作的時候會多一個作為測試的 chrome 瀏覽器。

後來覺得,既使使用 chrome 來測試,也不能代表在 IE, Safari, FireFox 下都能絕對正確地運作,
單元測試主要針對資料處理、數值運算的檢查,跑在同樣以 V8 引擎為基底的 Node.js 上應該沒太多差別。
就算小部分的不同,與少開啟一個瀏覽器所增加的測試效率相比,在 Node.js 下測試比較有利。

藉由將專案的 Babel 版本升級到 7,重新串接單元測試的流程,並將過程記錄下來。

分類
linux shell script

取代該行文字的資料

如果只是單純要取代,去掉一行的資料。可以使用 tr 指令,
這樣就不需要使用 sedawk ,花費許多時間在測試正規表示式。

工作上遇到一個需求,需要取出 node.js 專案中 package.json 裡特定模組的名稱,
這裡把需求改為要知道所有的 babel 模組名稱,利用管線,可以串成一行來得到結果。

分類
linux shell script 程式學習

快速截出對應表裡的資料

在實作 CI 流程中,有一段使用 shell script 實作的地方,
需要承接流程開始時傳入的環境變數,由對應表中找到對應的資料,以進行相關的流程。

本來以為需要使用的正規表示式來完成這個功能,但偏偏卡在不知怎麼下搜尋關鍵字,
找到由正規則表示取出某段資料,放到變數裡的程式寫法。
一度在評估是不是要去研究 awk 或 sed 的文件,但又隱隱覺得殺雞不該用牛刀。

好在過了一會兒,讓我找到用更基本指令完成工作的方法。

分類
程式學習

不同作業系統的換行字元

不同作業系統對的「換行」在文字檔案中的表示方式有一些差異,
以常見的 windows, mac 以及 linux 來說,使用到了 ASCII 字元集的兩個,分別是 LFCR

分類
python 程式學習

Python 的四捨五入

最近在學習 Python 程式,練習中偶而發現這件事。

在練習 NumPy 的時候,執行下面程式,發現結果不如自己預期。

import numpy as np
ary = np.array([ 5, 10, 15, 20, 25 ])
print(np.around(ary, -1))
# [ 0 10 20 20 20]

一般對於 round 解釋,是 四捨五入 ,不過在上面的程式中,最後一個位數 25 四捨五入到十位數的結果,卻是 20 而不是預想中會進位變為 30