2019-10-25 06:38 AM 1 6,799
jQuery :contains() 選擇器可用來選取子元素內包含特定文字的元素。最近遇上一個狀況,網頁上有兩個選項,內容分別是【同意】跟【不同意】: <p> <span>同意</span> <span>不同意</span&g...
2019-10-24 05:30 AM 3 6,329
分享這幾天犯下的 SQL 低級錯誤。 有個新功能上線,資料庫需要配合新增資料表。該功能已在測試台測試多時,將當初建立 TABLE 的 SQL 腳本送交部署人員在正式資料庫建立資料表,不料程式執行出錯: System.Data.SqlClient.SqlException (0x80131904): ...
2019-10-23 06:37 PM 4 3,947
整理完「重構」一書列舉的壞味道,再補上另一份參考資料。 NDepend 是個評估程式碼好壞,估算技術債的 Visual Studio 擴充套件。它會用事先定義的規則分析專案,清查程式碼的壞味道,給出一組品質指標及技術債(Technical-Debt)估價,技術債的計量單位是預估償債(調整程式)所需的...
2019-10-19 06:20 PM 4 9,750
由「好程式」跟你想的不一樣!一文,我們知道重構是「提升程式碼的可讀性,寫出容易修改擴充的好程式」的有效手段,接下來,你得先知道什麼叫壞程式,才寫出好程式。 Kent Beck 用「壞味道』(Bad Smell,中譯本把它翻成程式異味,但我偏好最早聽 Ruddy 老師採用的翻譯 - 壞味道)傳神地形容...
2019-10-17 08:30 PM 17 20,974
從事程式開發超過二十年,我一直不是開發方法論的信徒,對於 TDD、重構、Pair Programming 這些僅止於概略輪廓,不曾深入。不過,寫了超過一萬小時,對於程式該怎麼寫才漂亮,多少也發展出自己的心法,例如:抽取成方法重複利用或共用、將函數結果存成變數重複利用減少呼叫... 等等。不記得是怎麼...
2019-10-13 11:30 AM 0 4,972
網友發問,ASP.NET MVC ActionFilter 可攔截檢查 MVC Action 執行結果,若 Action 傳回 return RedirectToAction("..."),ActionFilter 能否取得導向的 URL? 以下列程式為例,目標是在 TestAc...
2019-10-12 02:38 PM 4 12,089
我從 onclick/onselect 寫 JavaScript 開始寫動態網頁,經歷了 jQuery 盛世,陸續學過 Knockout.js/AngularJS MVVM,還玩過一點 TypeScript;從來前端開發演進如火箭升天,但我當了中輟生,沒再跟隨前端潮流前進。當今主流的前端開發加入許多...
2019-10-09 10:00 PM 0 1,833
我目前開發網頁主要還是用 Visual Studio,採取 ASP.NET MVC cshtml 產生 HTML 主體並搭上 jQuery/Vue.js 處理 MVVM 的策略,力求專案架構簡潔,避免扯上 npm、webpack 等重量級工具(除非是要寫 SPA),走一種「輕前端風格」。 既然採行這...
2019-10-07 09:15 PM 4 4,201
最近寫到內容維護 UI,想留下資料修改軌跡。除了保留修改前修改後的完整內容,我還想出一份簡單的差異報告,指出哪幾行有更改,增加了哪幾行、哪幾行被刪除... 等,方便一眼看出變更重點;甚至不必保留舊版,用最新版加差異報告便能一路反推完整修改歷程,大量節省儲存空間。思考這個需求時,我想到 Git dif...
2019-10-04 09:42 PM 3 21,585
產生文字檔或顯示純文字時會蠻常遇到類似:呈現多欄資料,文字靠左,數字靠右,每一欄寬度固定,字串長度不足時補空白至指定寬度。(例如下面這個例子) 分享我以前的笨寫法 - 自己寫一個輸出固定長度字串的函數,傳入字串(或數值)、欄位寬度並指定左靠或右靠,函數負責補足空白: class Program {...
2019-10-03 10:06 PM 1 28,313
看到一則新聞,提到那種有紅、黃、左轉箭頭、綠四枚燈號的紅綠燈,圓形綠燈亮但左轉箭頭綠燈沒亮時,只要對向沒有來車,是可以左轉的。默默搞錯多年,特將此發現分享到專頁,收到 Derek 與 Lane 令人意外的回響 - 不準,警察照樣會開單。 為一探究竟,爬文查到該新聞在PTT 八卦版的討論,網友的回應卻...
2019-09-28 10:09 AM 9 25,343
我是在翻譯如何選擇程式語言?海報時才認識 Python 這個程式語言。 在我心中它取代當年 BASIC 語言的角色,語法單純易上手,格外適合非資訊相關領域但想或需要寫程式的人學習,Python 因此在科學研究與學術領域十分受歡迎,應用廣泛。 自己有多年 C# 開發經驗,面對一般程式需求,不論命令列工...
2019-09-25 10:08 PM 1 7,524
分享這幾天寫程式學到的 System.Reflection 小技巧一枚:使用 Type.GetMethod() 於執行期間取得類別的靜態方法,方法包含選擇性參數。以強型別呼叫,選擇性參數可省略不寫,.NET 會帶入預設值;但透過 MethodInfo.Invoke() 呼叫時,object[] 參數...
2019-09-24 08:05 PM 3 3,315
同事遇到的案例,某台伺服器升級後,某支連接該主機網路磁碟機的固定排程出錯。手動測試以檔案總管無法連上伺服器,確認帳號密碼正確,但得到含糊的「An extended error has occurred./發生延伸錯誤。」訊息。再試了其他主機,使用相同帳號密碼連線網路磁碟並無問題。 改用net use...
2019-09-23 08:35 PM 1 5,272
分享 .NET 老鳥前陣子犯下的低級錯誤 - 字串比對結果與預想不同,還因觀念不清迷惑好一陣子(羞)。 故事是這樣的,先前知道 Dapper 查詢所傳回的 dynamic 底層型別是 DapperRow,並可轉型成 IDcitionary<string, object>方便動態指定欄位處...
2019-09-22 12:31 PM 2 5,708
目前為止,筆記裡示範 EF Core Code First 都是先 dotnet ef migrations add InitialCreate 自動產生對映 Model 所需的資料表結構類別, 再透過 dotnet ef database update 帥氣地直接連上資料庫建立或更新資料表、Ind...