【茶包射手日記】IIS Log 檔換日問題
線上主機每天產生數百 MB 的 IIS Log,為避免 Log 檔吃光磁碟空間,我們多會安排排程執行壓縮及清理作業,每天將前一天的 Log 壓成 ZIP 檔,再依「原始 Log 檔保留 N 天,壓縮 Log 保存 M 天,超過 M 天移至後線儲存空間」的原則刪除或搬移檔案。今天發現某台機器的 Log 清理排程每天準時兩點執行,但 IIS Log 壓縮檔全是空包彈,大小只有 22...
View Article英文單字朗讀 MP3 DIY
這是「搶救英文大作戰」的副本任務,小閃光的英文字彙慘不忍睹,我想到把單字表轉成朗讀 MP3 的方法,想讓她照三餐服用看看能否起死回生。查了一下,文字轉 MP3 大家幾乎都是用 Balabolka,它可以朗讀輸入的文字,有眾多調整選項,還能轉成 MP3,十分方便。簡單試用,得到幾點心得:文字轉語音功能事實上來自 Windows 內建的 SAPI (Microsoft Speech...
View ArticleCoding4Fun–Microsoft Speach API 筆記
前篇文章用 Balabolka 搞定自製英文單字朗讀 MP3,但老讀者們都猜到接下來會發生什麼事... 是的,C# 整合 SAPI 讓電腦講話的練習來了!原本以為要裝什麼 SDK 或套件,沒想到 .NET 已內建,專案只需參照 System.Speech 就好。開始前先看一下你的 Windows 裝了哪些語音以及其支援語系:static void ListInstalledVoices() {...
View Article2018 海山馬
跑馬至今,海山馬是我唯一年年參加不缺席(20134567)的賽事,並留下目前唯一的落馬經驗。為保持全勤記錄,儘管天氣炎熱賽道單調補給平常獎牌無奇,還是報了名。六點開跑,全馬賽道跟去年一樣,出發向左往城林橋停車場折返回起點 10K,接著繼續往大漢橋折返回起點再 10K,然後依相同路線跑第二趟湊足 42K。氣象預報晴天少雲,最高溫 31...
View ArticleIIS HTTP 重新導向功能筆記
將 IIS 網站的特定網址導向其他網址,有幾種做法:UrlRewrite 模組彈性高,支援複雜的轉換規則(可使用 Regular Expression 定義規則),能在使用者未察覺的情況下完成轉換,例如將 /product/book/computer 轉為 /product.aspx?zone=book&catg=computer,提供較友善的網址並增進 SEO。...
View Article【茶包射手日記】Visual Studio 專案項目 Icon 突變
同事報案,專案有個類別 .cs 的圖示怪怪的,一般 .cs 的圖示應是綠色的 C#,但問題類別卻是個沒見過的文件圖示(下圖黃框處),比對發現是該類別繼承 System.Net.WebClient 造成(註:這麼做是為了修改 WebClient 的 Timeout),隨便新增一個 ClassN.cs,只要繼承 WebClient 圖示馬上變掉,取消繼承就會恢復。為了搞懂奇怪圖示的意義,我開始搜尋有沒有...
View Article瀏覽器 HTTP 301 導向記錄清除
前篇文章提到 HTTP 重新導向有 301, 302, 307, 308 幾種形式,其中 301/307 為「永久重新導向」,意思是原網址宣告作廢,請客戶端未來一律改連新址。而各家瀏覽器都忠實貫徹這個精神,一旦接獲伺服器回傳 301 將銘記在心,下回使用者再連到該網址,瀏覽器將省略「連接舊址 -> 接收 301/302 轉址 ->...
View ArticleSQL Server 使用者定義型別
在同事報案筆錄看到新鮮玩意兒,資料表的某個欄位型別不是 VARCHAR 不是 DATETIME 不是 INT,而是某個沒看過的名稱(如下圖示意),研究了一下,是所謂的使用者定義型別(User Defined Type, UDT),過去只在教材看過,首次觀察到活體。使用 UDT 有什麼好處?UDT 可指定型別、資料長度及精確度、是否允許...
View ArticleWindows 10 連線 USB 數據機發傳真
很久沒有搞電腦搞到一肚子火了,記錄射茶包經過。時至今日,生活大小事幾乎都能靠 Email、LINE、網站、APP 搞定,但偶爾仍會遇到只收傳真的店家或公司,例如:訂奶茶、傳信用卡授權書... 等。家裡採購雷射印表機時基於體積及成本效益考量,沒選擇有傳真功能的事務機,代價是久久遇到要傳真的場合,就得傷一下腦筋。小七傳真一張 A4 土匪價 15...
View Article非網站 Windows 之 SSL 加密弱點檢測及修補
資安領域深似海,弱點掃描通常是由資安人員或廠商執行,跑工具程式出報告,再依報告進行修補。說起來有點像人體做健檢,但差在拿到的是用火星文寫的健檢報告,隔行如隔山,天曉得怎麼改善? 試想如果你的健檢報告出現一條紅字「TMD 指數低下,免疫力不足,感染 S95 病毒風險偏高」,沒人跟你解釋要怎麼治療,也沒家醫科可以掛號,然後咧?這回拿到弱點掃描報告有一條: SSL Medium Strength...
View Article土砲版焊接小幫手
看到一篇 8 歲香港小妹妹在 YouTube 分享電子小玩意 DIY 的報導,影片裡的道具很搶眼:照片來源:專訪 - 香港 8 歲小妹妹 上網教人 DIY 焊接電路 - 香港 UNWIRE.HK 玩生活.樂科技四支前端裝有夾子像異形觸手的可彎曲塑膠管,夾住電路板喬好角度,雙手專心拿烙鐵跟焊錫就好,這是何等優雅從容呀!...
View ArticleEmail 客戶端之 CSS 支援問題
活到老學到老,今天又學會一件事。雖然顯示 HTML 格式已是當今 Email 軟體或線上信箱的必要條件,但許多被視為基本的 CSS 功能卻不一定在支援範圍內。用以下範例展示,我設計一段 HTML 當作 Email 內文。先將 .dynamic 設成 display: none,再指定 .mode-1 .dynamic.mode-1 及 .mode-2 .dynamic.mode-2 為...
View ArticleChrome 記憶密碼誤填欄位問題
同事報案,Chrome 會莫名把客戶帳號填入輸入與帳號無關的 <input type="text"> 欄位,初步研判是 Chrome 內建的帳號密碼記憶小工具 Google Smart Lock搞鬼。用以下網頁重現問題。如操作所示,在登入網頁 Logon.aspx 用 Google Smart Lock 記下密碼,登入後導向 Index.html,網頁上只有一個訂單編號,Chrome...
View ArticleOpenCC 中文繁簡體轉換工具
漫長的碼農生涯,難免會遇到中文繁簡轉換需求,過去我都依賴 Word,但在 Web Server 整合 Word 是件麻煩事。Word 程序體積龐大,啟動要耗用不少記憶體跟 CPU,不適合每次 Request 隨用隨建用完即丟。加上 Word 為桌面程式會綁執行身分,不適合用 IIS AppPool 帳號跑。最後我琢磨出來的解決方案是寫成 Windows Service 以 WebAPI...
View Article使用 C# 整合 OpenCC 執行中文繁簡轉換
前篇文章介紹了輕巧但威力強大的 OpenCC,使用 opencc.exe 可輕鬆完成繁簡轉換。如果我們要在 .NET 裡寫一個函式招喚 OpenCC 將繁體字串轉成簡體字串該怎麼做?呼叫外部 .exe 這等小事,自然難不倒 .NET 老鳥,生個 System.Diagnostics.Process,給對 exe 路徑,弄兩個隨機暫存檔放待翻文字與輸出結果,等待 opencc.exe...
View Article2018 台北星光馬
在 2015 年跑過台北星光夜跑,三年後,雖然主辦單位不同,但賽道與時間幾乎一樣,來回味久違的夜跑滋味。全馬下午四點半起跑,提早出門搭捷運慢慢晃過去,搭接駁車前買了 600 cc 保特瓶喝下肚建立安全庫存,避免天熱缺水狂飲來不及吸收搞到肚子難受。兩點四十左右搭上接駁車有兩段小插曲,車上悶了近十分鐘,有跑友提醒司機才想起忘了開冷氣(登楞),然後疑似行車路線有誤繞了一圈,開了快 20...
View Article【茶包射手日記】SQLAgent 無法執行批次檔
燃燒一小時寶貴青春才查出問題 Orz,PO 文留念。同事報案,某個用 SQL Agent 定期跑的批次檔 (.bat) 執行無效,原因不明。其寫法類似如下範例,看起來沒什麼問題:實測開 DOS 視窗直接跑 ImportBOMFromSysA.bat 正常,於是我將偵察方向導向 SQL Agent 執行時工作目錄是 Windows\System32 所致,但檢查該批次檔有依...
View ArticleVS2017 無法載入 MVC4 專案
最近接連遇到兩次的問題。首先是某個用 Visual Studio 2017 開發的專案,同事 T 從 TFS 取回最新版以 VS2017 開啟,其中卻有兩個 MVC 專案呈現截入失敗,其他還有 Class Library 及 Web Site Project 等多個專案則沒問題;改用 VS2015...
View ArticleCSHTML Layout Page、Partial View 執行順序實驗
維護 ASP.NET MVC 專案遇上巢狀 Layout 引用 Partial View 的情境,無法斷定執行先後順序,想必是自己觀念不清,做了以下實驗驗證,順手分享之。假設有 ASP.NET MVC 巢狀 Layout 並混用 Partial View 結構如下:_Layout.cshtml@{...
View Article在 Partial View 與 View 間使用 ViewBag 傳送資料
在 ASP.NET MVC View 引用伺服器端傳來的資料,正統做法是定義 View Model 類別,Action return View(viewModelObject),在 CSHTML 宣告 @model 定義強型別並使用 Razor 語法存取 Model 變數。(延伸閱讀:mrkt 的程式學習筆記: ASP.NET MVC 的ViewModel - 基礎篇...
View Article