第一次嘗試需要在web.config設定appSettings的共用元件,因此打包NuGet Package時要多加入修改web.config的安裝腳本,其中有些小眉角,我摸索了一陣子才搞定,以下是心得分享。 我要做的事是在appSettings裡新増一筆<add key="a...

最近在寫共用元件,打算放在公司的NuGet私服供同事下載安裝,換版時還可自動更新,大大降低管理成本。講到製作NuGet Packet,NuGet Package Explorer雖然方便,但畢竟是GUI工具,我希望修改元件並測試OK後,直接在Visual Studio專案按個鍵就自動上傳到NuG...

同事報案,用JS Bin跑迴圈計算從1加到n測試效能,發現 for 迴圈次數增加到100萬後加總結果不對,每次執行會得到小於正確值(499999500000)的隨機數字;但若不用for改用lodash _.times(),跑再多次結果也是正確的。 為了調查,先將程式碼簡化到可重現問題的最精簡內容:...

接獲同事報案追查TypeScript問題,二人一起陷入迷霧近20分鐘才恍然大悟… 有段TypeScript程式自訂類別,在類別方法用this.PropName="..."修改自身屬性值(註:類似需求我習慣用self大法,寫成self.PropName="…"),偵錯時用瀏覽器F12開發者工具下指令...

前面我們介紹了Kerberos/NTLM驗證,也實地觀察過HTTP 401、401、200的歷程。登入網站只輸入一次密碼,想當然爾同一個身分驗證可用來存取後續的css、js、jpg、gif… 若是每次讀檔都401、401、200重新走一次,未免太沒效率。 隨便開個Windows驗證的網頁,Fidd...

記錄這兩天遇到的鬼問題。 【聲明】因處理過程龐瑣且某些操作屬不可逆,無法反覆驗證追出真兇,本文僅整理處理經驗供參。 前陣子將家裡的PC升級成SSD,重灌Windows 10後,SATA硬碟傳輸速度有點怪(這是另一則奇妙故事,一言難盡,有機會再寫,此處略過細節避免失焦),主機板Asus P8H67-...

昨天談到IIS整合式Windows驗證會優先嘗試Kerberos,不行再改用NTLM,那麼如何得知現在用的驗證方式是哪一種? 瀏覽器的F12開發工具雖然有HTTP往來記錄,但不會顯示驗證過程,因此,Fiddler才是最佳觀察工具。 為了捕捉標本,我特地用Hyper-V架了AD,還學會用「setsp...

在企業內部寫ASP.NET的人都用過整合式Windows驗證吧?來個小測驗: 沒加入網域的PC可以用AD帳號登入隸屬該網域的IIS嗎? 在測試環境建立一測試網域,與公司正式AD網域間無信任關係。正式網域PC是否可以用測試網域帳號登入測試網域的IIS? 承上,正式網域PC需...

多年前發展過一種可快取查詢:呼叫GetCachableData函式時傳入Cache Key、查詢或產生資料Callback函式、Cache保留期限(或指定閒置未用多久自動清除)三個參數,GetCachableData會依「若Cache有資料就直接沿用;若Cache無資料則當場產生並存入Cache」...

清明時節,返鄉掃墓兼跑馬的時刻又到了,連續第三年的鳳梨馬。 今年安排較充實的行程,前一天去了台灣地理中心碑、埔里酒廠跟紙教堂。 行前功課沒做足,對於哪個才是「台灣地理中心碑」有點迷惘,先在山下看到一個感覺不夠威,加上Fenix 3高度計顯示的海拔與資料上的555公尺差約100公尺,爬階攻上山頂找到...

我經常寫小工具程式,不用安裝程式,單一EXE檔隨Copy隨用是最理想的部署設計。不過,程式稍稍複雜就難免依功能屬性拆分多個專案,有時需用到跨專案的共享程式庫,至於引用Json.NET、Dapper、NLog等必備套件的情況更是普遍。例如以下專案,Tool為Console Application(E...

問題情境如下:整理原屬舊作業系統碟的硬碟,在刪除檔案時常遇到系統檔被設定只有TrustedInstaller等系統帳號才能刪除的狀況,此時需修改NTFS進階安全設定克服。 如下圖所示,檔案被設成TrustedInstaller才能完全控制權限,連Administrators都無法修改權限。唯...

在Windows,你為什麼不睡覺?一文中,我學到播放影片軟體會佔用音效裝置,導致Windows閒置自動睡眠設定失效,而powercfg /requests指令則可用來快速查詢資源是否處於使用中。此後,每次讓電腦睡眠前,我會特別關掉播放中的影片,避免半夜Windows自動更新或其他排程甦醒後不再自...

同事報案網頁在IE與Chrome表現不同,依稀記得遇過,但沒寫成沒找到明確記錄,花了時間回想、研究、實驗,得到結論後才恍然憶起,從HipChat對談翻出以前的辦案記錄。明明是前科犯還重啟調查,記憶力壞掉好可怕,也懊悔浪費了時間。由此得一結論-「勿以茶包小而不記,永遠別信任中年人的記憶力」,故寫此...

前天提過的TFS Build Queue卡單今天再度上演,一樣又是重啟TFS Build Service才解決,由於已非偶發罕例,決定展開調查。由事件檢視器查到一筆發生在卡單前一刻的可疑錯誤,Build 1257號,正好是被卡住1258號的前一筆,訊息為An error occurred whi...