2016-12-23 06:33 AM 0 21,912
.NET 4 的 Task 大幅簡化多執行緒程式碼複雜度,而 4.5 推出的 async/await (參考)則讓非同步程式的寫法更精簡。(註:在博客園找到一篇從 Task、ThreadPool 談到 await 的廣泛介紹,可以一讀) 網頁開發老鳥都知道,JavaScript 端的非同步邏輯不比...
2016-12-22 10:34 PM 1 15,245
非同步邏輯是寫 JavaScript 逃不掉的複雜課題,古早流行的做法是傳入 Callback 函式當參數,待特定作業完成再呼叫,缺點是串接程序一旦變多,就會出現波動拳式排版,寫到渾然不知身處夢境第幾層: asyncJob1(function() { //Callback 函式: asy...
2016-12-18 05:02 PM 0 4,201
去年參加第一屆感覺不錯,今年順理成章連一拉一。五點半起跑,五點出頭抵達南山福德宮會場還有夜景可看。 貴賓致詞完畢,準時出發。 路線與去年相同,何時上坡何時下坡心裡有數,少了新奇感,但多了幾分篤定。 起跑後以兩公里陡下揭開序幕,緊接華夏科技大學旁一百多公尺高的小山頭陡上又陡下,接著轉進河濱。 ...
2016-12-12 11:36 PM 13 186,483
無意在工作管理員發現 C 碟的啟用時間持續停在 100% 降不下來,但讀寫資料量不高,此種狀況發生在 SSD 上格外讓人心驚。 開啟資源監視器查到可疑檔案讀寫活動:C:\Windows\Temp\WPR_initiated_DiagTrackAotLogger_WPR System Coll...
2016-12-11 07:24 PM 14 50,609
C#的實數型別有三種:float、double、decimal。其中 float、double 為浮點數,本站的老讀者們一定知道-「算錢用浮點,遲早被人扁」的道理,因此只要涉及金額計算,我一律改用 decimal 型別。前幾天,踩到 decimal 小數尾數零地雷一枚。 以下程式為例,大家猜猜...
2016-12-07 09:43 PM 4 33,005
講到要在一台主機架設多個站台,一般直覺想到的是用不同的 Port 區隔,例如:httq://web_server/、httq://web_server:8080/ 指向不同站台。不過,非 80 Port 網址親和力較差,甚至會被某些較機歪嚴格的防火牆阻擋(只開放 80 及 443),那麼同一台主機...
2016-11-30 05:13 AM 3 33,798
Visual Studio 我習慣用英文版,尤其是版控有一堆術語:Check In、Check Out、View History、Pending Changes、Branch/Merge、 Get Latest 平時多用英文,溝通 UI 操作方法時硬要翻譯成「檢視記錄」、「暫止的變更」、「取得最新...
2016-11-27 10:19 AM 0 4,065
小而美的觀音山馬,去年一試成主顧,今年繼續報到。 氣象預報有 30%-50% 的下雨機率,六點多抵達會場時雲層密佈,看來會是不錯的跑馬天。 會場人聲鼎沸,幾十公尺外,微風運河水面如鏡,河邊有位裝備齊全的阿伯釣魚釣到忘我,幾步之遙,兩個世界。 神將是蘆洲地方特色之一,遇上神將們一字排開拍紀念照,...
2016-11-24 07:43 PM 0 12,920
JSONP 是解決跨網域 JavaScript 呼叫的古老方法,簡單有效又不挑瀏覽器,至今仍是我常用的兵器之一。最近在想一個問題,JSONP 呼叫時由客戶端指定 Callback 函式名稱,是一個可以注入惡意程式碼的管道,有否存在 XSS 攻擊的風險?需不需要積極防護? 經過嘗試,發現要透過 JS...
2016-11-23 09:55 PM 0 9,460
工作上遇到幾起 ASP.NET MVC ScriptBundle 機制在更新 JS 檔後卻讀到舊版內容的問題,沒搞清楚原理查起問題有些茫然,做功課的時間又到了。 依據官方文件(見 Bundle Caching 一節),@Scripts.Render("~/bundles/blah") 會被轉成 ...
2016-11-22 06:06 AM 7 16,578
TypeScript 有個好東西,Template String,輸出內嵌動態資料 HTML 時非常好用,例如: var userName: string = "Jeffrey"; var iconUrl: string = "/imgs/runner.gif"; var html = ` &l...
2016-11-18 09:05 PM 0 19,326
工作上常遇到的需求:在陌生機器上想確認已安裝的 .NET Runtime 版本,只有 4.0,還是已升到 4.5.2 甚至 4.6? MSDN 建議的官方做法是檢查 Registry,程式邏輯不複雜要自己寫個小工具並不困難,但每次測試得 Copy 程式檔太搞剛,於是我想到了 PowerShel...
2016-11-17 05:19 PM 0 5,217
同事遇到的 TypeScript 小問題一則,如下圖,Foo 與 Bar.Foo Module 裡都有個 IBlah Interface(不算良好的設計但合法,用在特定情境可簡化程式),在 Bar.Foo 內想引用更上層 Foo 的 IBlah,不管宣告型別是 IBlah 還是 Foo.IBlah...
2016-11-15 07:31 AM 0 6,685
Reporting Service(SSRS)有個訂閱功能,允許針對特定報表指定查詢參數、收件對象以及排程時間,建立訂閱(Subscription)後可定期用電子郵件寄日報表、週報表給相關人員,十分方便。 接獲報案,某張日報表設有兩個訂閱,每天先發預覽版給檢核人員,方便有錯緊急更正,15分鐘後...
2016-11-10 11:26 PM 4 67,048
從 Chrome 網路監控發現異常活動,檢視本機網站卻跑出一段程式從某台 AWS 主機為網頁注入 /forton/inject_jq.js: inject_jq.js 載入同一主機下的 /forton/cbp/cmps/60_4c15b.js: 60_4c15b.js 再載入更多 J...
2016-11-08 09:39 PM 13 46,697
就用這篇鬼故事當開場吧!在 2016 年学 JavaScript 是一种什么样的体验? 這幾年 HTML5 火紅,前端開發技術發展如黃河氾濫一發不可收拾,開發框架百家齊嗚,眼花瞭亂不知如何下手就算了,更要命的是市場主流每兩年就轉一次風向,兩年前我才含淚從 Knockout 轉到 Angular...