2017-02-13 06:32 AM 6 31,452
講到由 IP 地址查詢所屬國家,解決方案有兩種:第一種是直接呼叫線上查詢 API(付費或免費),再不然就要下載 IP 區段資料庫自寫查詢程式。考量應用場合不一定有 Internet 連線能力,加上擔心線上 API 無法滿足 IIS Log 等超大量 IP 解析的效能要求,選擇取回資料檔自幹。(其...
2017-02-09 08:49 PM 15 34,494
來自同事的資料庫程式效能調校案例一則。 情境為一支同步來源及目的資料表的排程,先一次取回來源及目的資料表,逐一檢查資料是否已存在目的資料表,若不存在即執行Insert,若存在則執行 Update 更新欄位。因 Insert/Update 之前需進行特定轉換,故難以改寫為 Stored Proc...
2017-02-07 10:34 PM 2 29,001
這幾天,DDoS 攻擊事件在台灣鬧得沸沸揚揚。 DoS 攻擊可約略分為頻寬消耗型(找一大群鄉民擠在餐廳門口)及資源消耗型(召喚服務生過來點菜連點兩鐘頭,或一口氣點兩百盤紅燒獅子頭),從網站管理者的角度,對頻寬消耗型攻擊完全無能為力,只能靠 ISP 或網管單位防禦;但對於資源消耗型攻擊,倒是有些...
2017-02-06 10:59 PM 0 9,354
保留完整版本變更歷程是版控系統的核心精神之一,檔案項目一旦簽入,就算使用者要求刪除,項目從清單上消失,仍可透過歷史記錄還原每一個曾簽入的版本。 實務上,偶爾會發生不慎誤將不該簽入內容丟上版控的狀況(例如:誤簽入個資或機密敏感內容),此時版控對保留完整軌跡的堅持變成缺點,不管刪除或 Rollba...
2017-02-05 11:52 PM 0 5,225
【警告】照片裡挺可愛的豆娘,小時候住水裡叫做水蠆(發音同「菜」),長得不太稱頭(其實是醜到讓人不蘇湖),文章內有水蠆的「近距離寫真」,請大家視身心狀態自行評估,看完以上照片就關掉網頁,只留下美好印象也是不錯選擇。 【背景知識】蜻蜓與豆娘都屬於蜻蛉目,主要差異在於停止時翅膀平放展開或收合。二者的稚...
2017-01-22 11:51 PM 8 24,396
這是 IE Only 網站親衛隊才有的困擾。 許多內部系統年代久遠,寫於全天下瀏覽器只有一種(IE)的時代(2004 年 IE 市佔高達 95% [參考]),寫成 IE Only 也是很合理的事。但你我都知道,時代不同了,滿天都是飛機啊,滿街都是電腦啊,HTML5 世代 IE 早已不是最好的瀏覽器...
2017-01-19 09:49 PM 0 7,196
好久沒寫 Autofac 筆記,記錄一則最近遇到的小需求。系統中針對介面(例如:IBlah)實作了多個型別,Resolve<IBlah>() 時希望透過參數指定傳回不同型別。 依據官方文件,實現這類需求的最簡單做法是使用 Named Service(具名服務)或 Keyed Ser...
2017-01-18 09:52 PM 1 15,290
某台持續爬網頁抓資料的排程忽然出現 The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel 訊息,推測為 SSL 憑證失效引起。 連至...
2017-01-17 06:57 AM 0 10,377
有個開發老鳥專屬的「成功經驗魔咒」:遇到難題,想出一套簡單有效解法,或許有些小缺點,但造成的麻煩在可忍受範圍,於是 日後再遇到同樣狀況,一律照方煎藥,數十年如一日。 但技術會革新、元件會改進,善用一些新特性,小缺點其實可以化為無形。可怕的地方在於:如果每次都能順利解決問題,就不會圖謀改進,直到...
2017-01-16 06:17 AM 0 12,528
Scott Hanselman 前兩天有篇文章-What .NET Developers ought to know to start in 2017,我的工作(甚至生活)跟 .NET 息息相關,重量級人物的觀點自然不容錯過,整理筆記如下: 前言 Scott 之前整理過類似的 .NET 須知,結...
2017-01-14 11:29 PM 3 7,569
去年因為一些事,對人生無常頗有感慨,頓時發現自己的人生嚴肅到有些乏味,老在計較每一分每一秒時間的投資報酬率。小木頭恰巧是鮮明的對比,小小年紀就有七八十歲老先生的豁達(如此「早熟」令人堪憂呀),功課考試什麼的最討厭了,腦海老繞著看到的好玩電腦遊戲打轉。兩個不良示範掛在天平兩端也不是辦法,弄條管道擴大...
2017-01-12 10:23 PM 1 13,977
先前研究 IE 內嵌 IFrame 相容模式規則時,得到一個結論: 透過IFrame內嵌網頁會沿用父網頁的文件模式,透過X-UA-Compatible亦無法改變 前幾天同事回報一個黑天鵝案例:IE8 相容模式網頁內嵌 IFrame,裡面再內嵌一個 IFrame,依先前理解,兩個 IFrame...
2017-01-10 09:52 PM 2 9,591
情境如下, 在 ASP.NET MVC 用一小段程式顯示部門下拉清單,資料來自資料庫,因欄位較多且命名不直覺,我將由資料庫取得的集合轉成匿名型別 Select(o => new { DeptId = o.DI, DeptName = o.DN },再以 Razor 語法 @foreach ...
2017-01-06 06:39 AM 0 6,787
之前處理過一個鳥問題,使用 ODP.NET 12.1 連線 Oracle Server 10.2.0.4 時無法參與分散式交易,傳回「Unable to enlist in a distributed transaction /無法列於分散式交易中」錯誤。依網路討論 Server 升級到 10....
2017-01-04 10:49 PM 0 15,032
要防止使用者網頁輸入資料時誤按超連結或回上頁鍵,來不及儲存(送出)就離開,有個古老技巧是攔截 onbeforeunload 事件,使用 return "…" 傳回提醒文字,讓使用者有機會反悔,選擇停留在原頁面。(參考:如何避免使用者在特定網頁表單在未經送出時意外離開) 這招...
2017-01-02 05:43 AM 0 7,086
最近發生 SCSS 無法自動編譯的狀況,查看 Extension and Updates,問題出在 Web Compiler 被停用。 手動重新啟用後一切功能如常,原以為是一時系統秀逗,但接連發生好幾次才感覺不對勁。觀察發現,即時手動啟用,重開 Visual Studio 再開,Web Comp...