如何在 Terminal 計算指令執行的時間?

你有想過幫你在 Terminal 執行的指令計算執行時間嗎? 前陣子因為工作上的需求,用各種指令兜了一個檔案分類工具出來,但因為對效能有嚴格的要求,需要在指定時間內完成,所以查到 time 這個好用的指令可以幫我們計算指令的執行時間。

閱讀全文 如何在 Terminal 計算指令執行的時間?

JavaScript 計算函式執行時間

要在 JavaScript 計算函式的執行時間,可以用現在的 Timestamp 和函式執行後的 Timestamp 相減,即可獲得執行時間,大多數人都會用 new Date().getTime() 來取得時間戳,但如果你的函式執行時間小於 1 毫秒,就會因為 Timestamp 最小單位只到毫秒而無法計算執行時間,因此在這建議使用 Window.Performance API,它可以提供從網頁載入到現在的豪秒數,精確度到千分之一毫秒。

閱讀全文 JavaScript 計算函式執行時間

還在煩惱怎麼錄製 GIF 嗎? 讓 LICEcap 來幫你!

GIF 這格式曾經絕跡,直到最近因為 Facebook、Twitter 的興起,越來越多人拿 GIF 來製作動圖,或是用在 Messenger 當作貼圖,而我自己則是拿來當作部落格文章的教學影片之用,GIF 的好處是檔案精簡、在網頁上載入方便,對於某些動作比較粗略的情況,拿 GIF 來作為教學所用十分適合;今天要跟大家分享的 LICEcap 可以用螢幕錄影的方式製作 GIF 圖檔,支援 Mac、Windows,介面操作簡易,我部落格最近的 GIF 都是使用 LICEcap 所錄製的。

閱讀全文 還在煩惱怎麼錄製 GIF 嗎? 讓 LICEcap 來幫你!

Linux Grep Tips – 搜尋有指定字串的列

在 Linux 裡面有時我們會需要從檔案中快速的搜尋帶有關鍵字的「列」,例如在看 log 時可能會想找出某個時間發生的錯誤,打開檔案一行行找實在不怎麼經濟實惠,這時你就會需要 grep 的幫助啦!

閱讀全文 Linux Grep Tips – 搜尋有指定字串的列

Kibana Date Type Field Query

在 Kibana 裡面,想要搜尋某段時間內的資料,第一個一定是想到 Kibana 內建的 Time Picker,不得不說這真的是很好用的工具,但少數情況你的資料可能不只一個日期欄位,而你必須用 Query 的方式而非 Time Picker 處理,例如 Email 的資料,寄信、開信、點擊都會有 Log 傳到我的伺服器,這時候會有兩個時間,一個是信件寄出的,另一個則是事件發生的時間(例如開信、點擊),像這樣的情況就可能會需要在搜尋框裡面用日期欄位做搜尋。

閱讀全文 Kibana Date Type Field Query

Using Command to Display Notification on macOS

在 macOS 有個很方便的通知中心,你可以寫程式傳送訊息到通知中心,就會像 iOS 那樣顯示在螢幕上,但其實如果你是要傳送訊息的話,可以直接在 Terminal 一個指令搞定哦! 不用從頭去學 Objective-C 或 Swift 也可以使用 macOS 的通知功能; 像每次在等測試執行時,總會想善用時間讀讀文件,這時就可以用 Notification 來通知自己測試是否執行完成,不用擔心看文件看得太開心忘記測試還在執行,當測試完成你也會及時收到通知,一刻都不浪費! 當然也不只測試可以這樣用,因為這個 Notification 是以指令的方式存在,所以只要是在 Terminal 執行的程式都可以做到一樣的功能哦!

閱讀全文 Using Command to Display Notification on macOS

Rails Capybara Feature Testing 踩雷日記

用一句話形容今天,大概是「第一次學 Capybara 踩地雷就上手」,花了整整六小時(以上)在寫兩個簡單的測試,途中遇到各種有趣的地雷,不寫一篇文章紀錄這慘烈的一天我怕今天氣到睡不著覺。 先聲明,這是第一次寫測試,所以有些觀念可能是錯誤或過舊的,歡迎大家留言告知,一定立刻修改,這不是一篇技術文,而是一篇發洩文(怒)

閱讀全文 Rails Capybara Feature Testing 踩雷日記

WTF Elastic X-Pack License – How to uninstall X-Pack

如果你透過搜尋引擎找到這篇文章,想必對 X-Pack 跟我一樣有著滿滿的怨念。最開始覺得 X-Pack 是個免費好用的外掛就把它裝到 Elasticsearch 跟 Kibana 身上,結果過了 30 天才看到提示說因為 License 過期,你需要去「更新授權碼」,否則不能登入 Kibana,其實到這邊我都還以為是註冊一個帳號就可以拿到新的授權碼,結果到官方網站看了很久,我沒有看到任何關於授權、費用、購買之類的文字(後來發現其實有,很小… 你們是有沒有想賺錢阿),最後竟然是靠 Google 搜尋才找到價格方案的頁面。

閱讀全文 WTF Elastic X-Pack License – How to uninstall X-Pack

JavaScript String Replace All

在 JavaScript 使用 String.replace 時要注意它可能和你預期的行為不同,當你想取代某個字串時,你會發現 replace 只取代了第一個字串,例如 “AAA”.replace(“A”, “B”),你預期會得到 “BBB” 但實際上你會得到的是 “BAA”,這是因為 JS replace 的第一個參數其實是 Regex 而非字串,如果你輸入字串,就只會取代第一個遇到的字串,導致和預期不同的問題。

閱讀全文 JavaScript String Replace All