讓刪除確認通吃confirm及jQuery.Deferred
最近在寫的元件有個「彈出對話框經使用者確認再刪除」的需求,原本是小事一椿,但之前介紹過使用自訂確認對話框取代window.confirm的技巧已廣泛應用在專案裡,某些時候也可能只用window.confirm就打發,問題就變複雜了。二者最大的差異是前者($.kendoConfirm)為非同步執行,刪除動作需放在jQuery...
View Article裝飾者模式(Decorator Pattern)實例:壓縮加密一次完成
手邊有個自訂傳輸管道的加密需求,預期資料量可能高達數MB,為提升效能,先壓縮再加密是不錯的做法,既可減少壓縮時間及成本,又能節省頻寬,一舉兩得。過去用C#寫過DES加密,也寫過GZip壓縮,把兩個結合起來不是難事。如果不要想太多,取得待處理資料(byte[]),用GZipStream壓縮可得壓縮後資料(byte[]),再以壓縮後資料當成輸入參數交給CryptoStream進行DES加密,就得到壓縮並...
View Article介紹jQuery map()與grep()
寫這篇的動機是常在專案看到「古典式」JavaScript陣列處理,例如:跑迴圈將物件陣列的某個字串屬取出轉成字串陣列、篩選物件陣列取得特定類別的集合。用for迴圈處理沒什麼不對,但既然專案已經用了jQuery,能一行搞定卻寫成三五行不免可惜(程式又不按行數計酬,寫愈多手愈酸咩...
View Article【茶包射手日記】object內嵌PDF文件在IE7無法顯示
接獲報案,某網頁使用<object data="url_to_pdf" type="application/pdf">技巧內嵌網頁,在IE7無法顯示,只出現全灰背景。經過一番冗長調查及測試,查出與Acrobat...
View ArticleChrome認定內嵌HTTPS IFrame未使用安全連線
同事回報:在HTTP網頁中使用IFrame內嵌HTTPS網頁,檢視框架資訊時,可看到HTTPS網站的SSL憑證資訊,但卻出現連線未加密。我做了一個實驗:在172.28.1.1網站放一個測試網頁,其中放入IFrame連向https://www.microsoft.com/language,以Chrome 43.0.2357.124 m...
View ArticleStreamReader讀取InputStream注意事項
用了這麼多年,這幾天才發現SteamReader的一項行為。故事從jQuery.post內容給MVC接收說起…我有一段MVC Action程式,會從Request.InputStream接收來自jQuery.ajax送來的內容,為求簡化起見,就拿舊文範例來示範:@{ ViewBag.Title = "Home...
View Article2015石碇馬
去年被37度高溫烘烤好幾個小時的記憶猶新,光是回想皮膚還有灼熱感,但究竟為了什麼,今年還是硬要報名再烤一次呢?其中奧妙,只有被烤過的才知道…報名時心想,六月底跑,怎麼也比七、八月好些,孰料今年六月特別熱,35度以上天數超過十六天,每天都在刷新記錄,而比賽日(6/28)也沒漏氣,氣象預報多雲時晴高溫36度。本屆路線大改,出發點由石碇國小改到華梵大學,起跑點接近去年高點,先下坡再爬回來,總爬升高度更是讓...
View Article如何使用遠端桌面讓Windows 8睡眠、關機或重新開機?
小技巧一則。使用遠端桌面登入Windows 8,會發現平常用來執行睡眠、關機或重開的操作介面,只剩下中斷連線及登出選項:此時如要讓Windows...
View ArticleHttpCookieCollection的foreach陷阱
我想在ASP.NET MVC裡用foreach列舉所有Cookie,HttpRequestBase.Cookies是不二人選。Cookies屬性的型別為HttpCookieCollection,既然是HttpCookieCollection,foreach拿到的應該就是HttpCookie吧?很自以為是地寫好以下程式準備收工:public ActionResult TestCookies(){...
View ArticleWeb Essentials 2015不再支援SCSS/LESS自動編譯
VS2015RTM了!像是拿到新玩具的小孩,裝好VS2015,迫不及待地開啟現有專案來玩玩。身為一頭前端攻城獅,裝好VS2015後第一件事就是下載安裝Web Essentials 2015,少了Web...
View ArticleVS2015 Cordova初探
Apache Cordova是一個用HTML、CSS、JavaScript打造行動裝置App的開發平台,點滿網頁開發技能的前端攻城獅也能快速轉職為App開發人員,不必從頭苦學Objectivc-C/Swift/Java也能為手機、平板寫App,實在是一大福音。期待以久VS2015終於在7/20...
View Article【茶包射手日記】VS2015程式檔編碼問題
裝好VS2015後,陸續將VS2013維護的專案改用VS2015開啟,原以為可完全無痛移轉,踩到小刺一根。某個用VS2013開發多時的專案,移到VS2015出現編譯錯誤!以下面的程式為例:Console.WriteLine那行發生Unrecoginzed escape sequence錯誤。看到Unrecongized...
View Article改善VS2013/VS2015圖示混淆問題
陸續將VS2103的專案移至VS2015開發,開始一段「有些專案用VS2013開啟,有些用VS2015編輯」的並行時期,遇到一個小困擾:如上圖所示,由於VS2015沿用VS2013的圖示,同時用來開啟專案,工具列就會出現兩個一模一樣的Visual Studio項目。年紀大記性不佳,老在VS2013項目裡找VS2015專案,發現找錯門牌才想到要找的專案住隔壁,五分鐘後,同樣的錯又再犯一次…...
View Article取得Cordova專案編譯失敗訊息
在家裡電腦體驗過無比順暢的VS2015 Cordova專案經驗,準備在公司展開Cordova大冒險,萬萬沒想到,公司機車特殊的網路環境(之前已被SSL中間人憑證搞過多次),原本簡單的自動下載編譯部署執行,變成可歌可泣的天堂路。喵的,我又想唱金包銀惹…上回提過,VS2015封裝了複雜繁瑣的npm Cordova模組下載、安裝過程,按下編譯或執行鈕,Visual...
View ArticleWindows檔案總管圖檔預覽失效
系統最近不太穩,桌面(Explorer.exe)會不定期衝高CPU並造成畫面凍結,不勝其煩決定重新開機。重開用了一陣子,發現圖檔預覽功能壞了-檔案總管右方預覽窗格一律顯示圖檔圖示(即下圖右方的三角錐加方塊加球的圖案),切到超大圖示、大圖示等版面配置也只有圖檔圖示,不會顯示圖檔內容:經檢查,原來是資料夾的「一律顯示圖示,不顯示縮圖」選項不知為何被啟用(不排除當機造成),關閉後問題排除。
View ArticleWindows 2012 R2 x64執行ASP經驗分享
Windows 2003於今年7月技術支援終止(12年,夠本了 XD),公司一批千年老妖等級ASP被勒令搬遷到Windows 2012R2 x64主機,過程還算順利,幫忙處理掉幾枚小茶包,記錄如下:應用程式集區設定經實測,「.NET CLR Version」設v2.0、v4.0或是No Managed Code,「Managed Pipeline...
View Article【茶包射手日記】TFS工作區資料夾更名導致狀態無效
當初為TFS版控建立工作區時沒想太多,取了TFSWorkspace當資料夾名稱。隨著接觸專案變多,跨越多個Project Collection,每個都需要自己的工作區,這才意識到原先的命名大有問題,工作區資料夾應加上Project Collection名稱才合理,之後再設工作區,IM-ERP Projection...
View Article【茶包射手日記】Word文件出現SCDSA002亂碼
接獲報案,某封來自韓國e-mail的附件Word檔,開啟時出現亂碼警示:直接檢視檔案內容,資料以SCDSA002起首,看似無規則亂碼,與我所知的檔案格式都不吻合:上網用"SCDSA002"爬文,找到一些討論文章,有兩大特色:1) 同樣的SCDSA002 Pattern曾出現在Word、PPT、Excel甚至PDF檔案,清一色都是文件類 2)...
View Articleawait與Task.Result/Task.Wait()的Deadlock問題
async/await是.NET 4.5+加入的新玩意兒。.NET 4推出的Task簡化了非同步程序的撰寫,async/await則讓程式碼簡潔度更上一層樓。如果大家對Thread、Task、aysnc、await還不熟悉,我找到兩篇還算淺顯易讀的對岸文章-async & await 的前世今生、异步编程 In .NET,文章完整涵蓋C#在多執行緒程式撰寫上的演進,從.NET...
View Article