Month: 2019-10

接到指令要安裝一台 Nginx 當 Reverse Proxy。依過去幾次經驗估計是件簡單任務,應可在半小時內搞定。基本上就是照著(How to install and use Nginx on CentOS 7 / RHEL 7)的步驟,再依先前筆記在 /etc/nginx/conf.d 加入一個...

去年的貓空半馬跑出 1:55:45 的場地 PB,今年沒有刻意在速度下功夫(年紀漸長,沒膽練間歇操心臟),但是月跑量努力維持在 200K 以上,體能狀況還行。賽前與經紀人(誰?)、教練團(哪來的?)跟六萬人的防護醫療團隊(你狠愛演?)研商結果,將本場定位成台北馬的前哨暖身測試,開放自由配速小試身手。...

年初跑了烏峽馬因陪跑初馬當了後段班,飽覽美景但與美食失之交臂,徒留遺憾。一聽說邵老師的 Ulay 烏來馬開報,立馬手刀報好名坐等豐盛補給。 接駁車上車地點在新店捷運站,離家算近,但新店到烏來四點發車時間早了點(猜是要配合送志工到會場),凌晨交通順暢,四點四十多分就到了,拱門還沒吹起來... XD ...

如何使用 JavaScript 模擬 <input type="file"> 選取檔案上傳操作,一直是我寫網頁自動測試的最大障礙。 基於安全考量,瀏覽器禁止 JavaScript 代替使用者為 <input type="file"> 的...

整理完「重構」一書列舉的壞味道,再補上另一份參考資料。 NDepend 是個評估程式碼好壞,估算技術債的 Visual Studio 擴充套件。它會用事先定義的規則分析專案,清查程式碼的壞味道,給出一組品質指標及技術債(Technical-Debt)估價,技術債的計量單位是預估償債(調整程式)所需的...

由「好程式」跟你想的不一樣!一文,我們知道重構是「提升程式碼的可讀性,寫出容易修改擴充的好程式」的有效手段,接下來,你得先知道什麼叫壞程式,才寫出好程式。 Kent Beck 用「壞味道』(Bad Smell,中譯本把它翻成程式異味,但我偏好最早聽 Ruddy 老師採用的翻譯 - 壞味道)傳神地形容...

從事程式開發超過二十年,我一直不是開發方法論的信徒,對於 TDD、重構、Pair Programming 這些僅止於概略輪廓,不曾深入。不過,寫了超過一萬小時,對於程式該怎麼寫才漂亮,多少也發展出自己的心法,例如:抽取成方法重複利用或共用、將函數結果存成變數重複利用減少呼叫... 等等。不記得是怎麼...

我從 onclick/onselect 寫 JavaScript 開始寫動態網頁,經歷了 jQuery 盛世,陸續學過 Knockout.js/AngularJS MVVM,還玩過一點 TypeScript;從來前端開發演進如火箭升天,但我當了中輟生,沒再跟隨前端潮流前進。當今主流的前端開發加入許多...

最近寫到內容維護 UI,想留下資料修改軌跡。除了保留修改前修改後的完整內容,我還想出一份簡單的差異報告,指出哪幾行有更改,增加了哪幾行、哪幾行被刪除... 等,方便一眼看出變更重點;甚至不必保留舊版,用最新版加差異報告便能一路反推完整修改歷程,大量節省儲存空間。思考這個需求時,我想到 Git dif...

產生文字檔或顯示純文字時會蠻常遇到類似:呈現多欄資料,文字靠左,數字靠右,每一欄寬度固定,字串長度不足時補空白至指定寬度。(例如下面這個例子) 分享我以前的笨寫法 - 自己寫一個輸出固定長度字串的函數,傳入字串(或數值)、欄位寬度並指定左靠或右靠,函數負責補足空白: class Program {...

看到一則新聞,提到那種有紅、黃、左轉箭頭、綠四枚燈號的紅綠燈,圓形綠燈亮但左轉箭頭綠燈沒亮時,只要對向沒有來車,是可以左轉的。默默搞錯多年,特將此發現分享到專頁,收到 Derek 與 Lane 令人意外的回響 - 不準,警察照樣會開單。 為一探究竟,爬文查到該新聞在PTT 八卦版的討論,網友的回應卻...