設定 gVim 的字型

前兩天在 mac 嘗試東西的時候,偶然發現了不錯的字型。想要套用到的 Windows 上的 gVim 裡面,
讓使用時候的心情能更好一些,誰知道裝完了字型,很尷尬的發現,我不知道「正確的字型名稱」。

不管是在 Windows 裡的「字型」或是 mac 裡的「字體簿」,字型都有它獨有的「顯示名稱」。
若是一般的文書處理,可以直接由下拉選單來設定,但是在偏程式類的設定,不光是 gVim,
像是 VS Code 也是需要知道字型的「真實名稱」,才能正確的指向。

閱讀全文〈設定 gVim 的字型〉

燒腦的感覺

最近換了工作,為了自己的要求,以及希望能在三個月後談到好薪水。這陣子努力地把自己還不熟悉,甚至還不會的東西裝進腦袋裡。加上最近花錢去學新的程式技術,排隊等著吸收的東西,又變得更多了。

不知道是因為自己的雜務太多,還是因為腦袋太久沒有的處理這麼高強度的事情,光是了解要學習的內容,就有一點點吃力,再加上不時偷偷襲來的睡意,會讓整個下午,甚至整天的學習成果大打折扣。

當喘口氣的時候,看著現在正在經歷的這段燒腦日子,老實說滿讓人懷念……有點仿弗回到高中時代,那個每天學習到暈乎乎,仍不知道自己學的這些東西,未來有沒有派上用場的機會。

閱讀全文〈燒腦的感覺〉

wifi 設定 3G / 5G 不同名

最近家裡的網路一直很不穩定,明明訊號不會很弱,但偏偏就是很常斷線。

還讓我以為是手機壞了,因為連不到的時候,手機會有點燙,放著吹吹冷氣一段時間就好。

直到換了手機後狀況依然,才驚覺問題不單純。查了一下 wifi 基地台的設定,猜想可能是其中 3G / 5G 的連線名稱一致的關係…

閱讀全文〈wifi 設定 3G / 5G 不同名〉

Mocha.js 與 Babel 7 的組合

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

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

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

閱讀全文〈Mocha.js 與 Babel 7 的組合〉

取代該行文字的資料

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

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

閱讀全文〈取代該行文字的資料〉

快速截出對應表裡的資料

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

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

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

閱讀全文〈快速截出對應表裡的資料〉

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

閱讀全文〈Python 的四捨五入〉