前篇文章用 Balabolka 搞定自製英文單字朗讀 MP3,但老讀者們都猜到接下來會發生什麼事... 是的,C# 整合 SAPI 讓電腦講話的練習來了! 原本以為要裝什麼 SDK 或套件,沒想到 .NET 已內建,專案只需參照 System.Speech 就好。 開始前先看一下你的 Wi...

這是「搶救英文大作戰」的副本任務,小閃光的英文字彙慘不忍睹,我想到把單字表轉成朗讀 MP3 的方法,想讓她照三餐服用看看能否起死回生。 查了一下,文字轉 MP3 大家幾乎都是用 Balabolka,它可以朗讀輸入的文字,有眾多調整選項,還能轉成 MP3,十分方便。 簡單試用,得到幾點心得...

線上主機每天產生數百 MB 的 IIS Log,為避免 Log 檔吃光磁碟空間,我們多會安排排程執行壓縮及清理作業,每天將前一天的 Log 壓成 ZIP 檔,再依「原始 Log 檔保留 N 天,壓縮 Log 保存 M 天,超過 M 天移至後線儲存空間」的原則刪除或搬移檔案。 今天發現某台機器的...

講到 CSS 我充其量只算是票友,但專案遇到問題還是得面對... Orz 本次的案例如下: 使用者回報某網頁用 Chrome 看正常,改在 IE 卻有部分段落的句子前方出現一大段空白,檢視 HTML 原始碼,發現編寫者輸入文字內容時,將段落裡的不同句子拆成多行,前方還加上 Tab 與上方對齊以求...

總爬升高度超過一千公尺,在初夏舉辦,又硬又陡的石碇馬,要失心瘋到什麼地步才會年年報到? 2014 15 16 17 天曉得,反正今年我又參加了。 去年全馬人數銳減剩五百人,有點擔心大會會經營困難,今年倒是人氣回升,有好幾組慶祝百馬、兩百馬、三百馬的跑團,熱鬧非凡。 有一輛大會...

入手第一支 GPS 錶起,多年來已很習慣戴著心跳帶跑步,一方面作為「效能調校」的依據(相同配速,心率愈低代表愈有效率體能愈好),更重要的是提醒自己量力而為不要嗨過頭,一路跑去蘇州賣鴨蛋。多年使用下來,偶爾會遇到心率數字失準狀況,最近又累積一則問題處理經驗,順手整理心得分享兼備忘。 心率帶原理與醫...

使用者報案某網頁功能故障,經抽絲剝繭鎖定爆炸點在一段「TransactionScope 中以 LINQ to SQL 取回物件集合,跑 foreach 開連線查資料庫」邏輯(警語:跑迴圈執行資料庫查詢,迴圈次數如過高將成效能殺手,宜避免),簡化為以下程式片段可重現問題:(註: 程式碼經過簡化,在...

隨著主流瀏覽器支援度愈來愈好,在網頁裡用 SVG 取代 PNG、GIF 呈現圖示(Icon)及簡單圖案漸成趨勢,沒吃過豬肉也要看看豬走路,趕緊做點功課並整理筆記備忘。 網頁引用 SVG 有三種做法: Object: <embed src="…"> &l...

三重馬第三回(2015 2017)。 三重馬在我心中是累積全馬業績的優質賽事,報名費親民、交通便捷、賽道平坦、路線單純、四月氣候冷熱不致極端,補給單調但不愁短缺,賽事小而美,加上主辦單位經驗豐富,幾無踩雷風險,是穩穩賺進一馬的好選擇。 這半年來我調整了練跑方式。從美津濃、迪卡儂進化...

很久很久以前(轉眼已十年惹)學會用 SQL 2005 Common Table Expression 呈現資料表中的階層式資料(組織圖、BOM表),當時還學到 ORACLE 有個 CONNECT BY 語法效果類似。說來慚愧,對它只停在「知道」的層次,沒實地玩過,直到今天遇到必須使用 ORACL...

前陣子談過用 HttpUtility.ParseQueryString 解析、修改及還原參數的簡便做法,一不做二不休,再來聊聊如果拿到一個 URL, HTTP 要改 HTTPS、主機名稱要換、Port、路徑要改,是不是也有不走字串比對置換的優雅做法? 爬文查到好用的 .NET 內建物件 - U...

跑過兩回(2013、2014)萬金石,賽道風景優美全程交管是迷人之處,這幾年更是一路升級銅質銀質等級。不過,雖然大會貼心備有接駁車,凌晨四點前要趕到台北車站搭車,兩點多就得起床,其實挺爆肝的,在我心中並不甜,後來就沒再跑,今年原本也沒計劃要報。萬金石是台灣少數要抽籤的熱門賽事,心想反正抽籤不花錢就...