應同事 win 邀請,野人獻曝 2017 年在零散的工作時間裡,對公司某個 PHP Legacy Code 專案作 Code Coverage 改善的心得分享。
- 1月 08 週一 201819:12
改善 PHP Legacy Code Coverage
- 9月 05 週一 201622:39
MySQL 的 LIKE 字串跳脫處理
以前沒特別留意,只知道需要跳脫單引號、雙引號和反斜線。最近做了一個專案,才發現以前的認知有點落差…
PHP 提供的處理函式 mysqli_real_escape_string() 有跳脫部份字元: NUL (ASCII 0), \n, \r, \, ', ", ^Z 。
PHP 提供的處理函式 mysqli_real_escape_string() 有跳脫部份字元: NUL (ASCII 0), \n, \r, \, ', ", ^Z 。
- 7月 28 週四 201616:48
透過命令列暫時關閉 Chrome 的 XSS Auditor
無意間發現 Chrome 有針對 XSS 做保護機制。如果伺服器端什麼都沒有設定的時候, Chrome 會把這個機制叫出來,叫做「XSS Auditor」,預設開啟,以免被惡搞:
- 7月 21 週四 201614:33
收到偽裝成來自 KKBOX 的垃圾郵件

收到偽裝成來自 KKBOX 的垃圾郵件。查了一下域名, whois 資訊基本上就是亂填,地址「板橋中山路一段156-3號」是大眾銀行板新分行的地址,也就是假的。
從域名註冊日期在今年 2 月 8 日來看,是初一就開工的意思⋯難怪台灣會是過勞島(無誤)。
- 2月 24 週三 201612:07
國泰世華部份 ATM 換裝成支援 NFC 的版本

這是在捷運台北101/市貿站拍到的:
扣除已經貼上說明但還猜不出用途的投幣口,以及很明顯是 QRCode 條碼掃瞄元件以外,還有一個沒有貼說明的貼紙。後來經過國泰世華的 ATM 時都會特別留意一下。
- 2月 01 週一 201623:02
試用甘特圖軟體 GanttProject 和 Gantter 的一些記錄
因為工作上的需要,開始摸索學習甘特圖。由於種種不可抗力的原因,需要在分別在 Windows 和 MacOS 下都能夠使用這個檔案,而且沒有辦法使用 Microsoft Project ,所以請了估狗大神找了一下免費的軟體,一共找到兩套,分別是 GanttProject 和 Gantter.com 。
兩套軟體剛好都有同事用過,最後我還是選了比較符合自己需求的 GanttProject 。
兩套軟體剛好都有同事用過,最後我還是選了比較符合自己需求的 GanttProject 。
- 6月 21 週日 201510:14
Windows 中文輸入法(IME)按下 Ctrl-A 造成輸入內容清空的問題
一開始是在無意間遇到這個問題的,然後也沒有辦法穩定重製出來,所以也就放著沒有理它了。
上個星期四(也就是端午節連假放假前一天),整理未解問題清單時看到這個問題,一時手癢試了一下,沒想到就重製出來了。
新倉頡輸入法在輸入的時候總共會有二個部份,我查了一下沒查到確切的名字,暫時就自己隨便稱呼一下了。第一個部份是字根區,字根一定要按空白鍵才會組成一個字;第二個部份是緩衝區,組完的字都暫存在這個區域,直到使用者按下 enter 鍵或者切換輸入法為止,才會送出。
上個星期四(也就是端午節連假放假前一天),整理未解問題清單時看到這個問題,一時手癢試了一下,沒想到就重製出來了。
新倉頡輸入法在輸入的時候總共會有二個部份,我查了一下沒查到確切的名字,暫時就自己隨便稱呼一下了。第一個部份是字根區,字根一定要按空白鍵才會組成一個字;第二個部份是緩衝區,組完的字都暫存在這個區域,直到使用者按下 enter 鍵或者切換輸入法為止,才會送出。
- 5月 15 週五 201511:49
週五開信驚喜? friday.tw 「friDay 購物」不請自來的廣告信
連續兩個星期收到來自 friday.tw 的廣告信了。問題是我根本沒有註冊 friday.tw 的服務啊?是說廣告信本來就不會請你同意就是了…
檢查了一下,手上多個不同的 email 都收到了, gmail 也有,學校信箱也有,工作用的信箱也有,甚至八百年沒開的信箱都收到了。
信件是透過 tt3.ecrm.com.tw 這個域名發出來的,查了一下叫「功典資訊股份有限公司」,代表人陳傑豪,公司在新北市新店區民權路95號14樓; friday.tw 的註冊者是時間軸科技股份有限公司,也就是 Hiiir.com ,代表人洪小玲,公司在台北市內湖區港墘路220號10樓;背後的金主是遠傳電信股份有限公司,代表人徐旭東,公司在台北市大安區敦化南路二段207號28樓。
另外順手查了一下,「濫發商業電子訊息管理法草案」(之類的,換了好幾個名字了)還躺在立法院倉庫裡睡得很安穩哩…
檢查了一下,手上多個不同的 email 都收到了, gmail 也有,學校信箱也有,工作用的信箱也有,甚至八百年沒開的信箱都收到了。
信件是透過 tt3.ecrm.com.tw 這個域名發出來的,查了一下叫「功典資訊股份有限公司」,代表人陳傑豪,公司在新北市新店區民權路95號14樓; friday.tw 的註冊者是時間軸科技股份有限公司,也就是 Hiiir.com ,代表人洪小玲,公司在台北市內湖區港墘路220號10樓;背後的金主是遠傳電信股份有限公司,代表人徐旭東,公司在台北市大安區敦化南路二段207號28樓。
另外順手查了一下,「濫發商業電子訊息管理法草案」(之類的,換了好幾個名字了)還躺在立法院倉庫裡睡得很安穩哩…
- 2月 24 週二 201510:33
關閉 Avast 的 HTTPS 掃描

最近因為聯想的 Superfish 事件,檢查了一下自己的瀏覽器…
然後發現在瀏覽 https 站台的時候, Chrome 會顯示「這個網站的身分已經過 avast! Web/Mail Shield Root 驗證」 blah blah blah …
- 11月 30 週日 201413:38
數字和排序的筆記
記錄一些曾經遇過的數字和排序問題,給自己看。
數字
大多時候遇到的數字都是正整數,不需要特別處理。(耶~)
加上千分位符號,例如 1,234,567 。用
四捨五入到某一位,例如 1234567 四捨五入到萬,變成 1230000 。用
取百分比,通常搭配四捨五入使用。要注意的例外是被除數為 0 的情況, php 會噴 warning , js 會變成
忽略正負值。用
轉成純字串。例如手機號碼是 09 開頭,沒轉成字串的話就會變成 9 開頭的九位數。
除以 1024 的倍數,通常是轉成 KB MB GB ... 等單位用的。
除以 1000 的倍數,通常是轉成 K M G ... 等單位用的。
除以 10000 的倍數,通常是數字太大時才會用到的。
像超商折扣那樣的五捨六入。遇到時只能自己寫 function 了… orz
數字
大多時候遇到的數字都是正整數,不需要特別處理。(耶~)
加上千分位符號,例如 1,234,567 。用
number_format() 可以處理。四捨五入到某一位,例如 1234567 四捨五入到萬,變成 1230000 。用
round() 可以處理。類似的狀況有無條件進位/無條件捨去,對應的是 floor() 和 ceil() 。取百分比,通常搭配四捨五入使用。要注意的例外是被除數為 0 的情況, php 會噴 warning , js 會變成
Infinity 或 NaN 。忽略正負值。用
abs() 取絕對值即可。轉成純字串。例如手機號碼是 09 開頭,沒轉成字串的話就會變成 9 開頭的九位數。
除以 1024 的倍數,通常是轉成 KB MB GB ... 等單位用的。
除以 1000 的倍數,通常是轉成 K M G ... 等單位用的。
除以 10000 的倍數,通常是數字太大時才會用到的。
像超商折扣那樣的五捨六入。遇到時只能自己寫 function 了… orz
