杜絕ASP.NET網站JavaScript註解外露
ASP.NET MVC的壓縮打包能有效縮小CSS與JS檔案體積,減少HTTP往返次數,進而提升網站效能。JavaScript經壓縮可讀性雖然已大幅下降,但"保護程式邏輯不外洩"的效果仍然有限,不必過度期望。只是壓縮對我還有另一層重大意義: "JavaScript中的註解會被一併移除!"我很愛在程式裡寫故事註解,把程式邏輯修正的來龍去脈交待清楚,例如: //2012-04-01 Bug Fix:...
View Article【茶包射手日記】怪異的web.config HttpHandler重複錯誤
前幾天提到用HttpHandler即時壓縮JavaScript以兼顧註解隱藏及原始碼偵錯需求,今天部署到某台測試機時出現怪異錯誤:HTTP Error 500.19 - Internal Server ErrorError Code 0x800700b7 Config Error Cannot add duplicate collection entry of type 'add'...
View ArticleYet Another Enter To Tab jQuery Plugin
雖然按 Tab 切換輸入焦點已是Windows操作的普遍慣例,但每回在寫作業平台網站時,規格中總少不了"要能直接按 Enter 切換到下一個輸入欄位"的要求。網路上已經有很多在網頁上用 Enter 取代 Tab 移動焦點的 jQuery Plugin,但很可惜沒有一個100%滿足我的需求,所以,這世上又再多了一個用 Enter 取代 Tab 的 jQuery 套件 (Yet Another...
View ArticleBIG5 GB2312繁簡編碼快篩
BIG5 與 GB2312 是繁體中文與簡體中文最常採用的 ANSI 形式編碼,當代系統多已改採 Unicode ,但在涉及傳統系統整合的情境中,仍有處理中文 ANSI 編碼的需求。有時,資料來源較雜,BIG5、GB2312 編碼都有可能,系統規劃者多半希望系統能由二進位資料 (Byte Array) 自動判別其編碼為 BIG5 或 GB2312 。就理論而言,以程式判斷 BIG5、GB2312...
View Article【茶包射手日記】SignalR WebSocket Crash Mac Safari二部曲
上回處理過WebSocket導致Mac Safari當機,修復後狀況明顯改善,但有時仍重新載入網頁時Safari仍會當掉,而錯誤訊息模糊許多:Process: com.apple.WebKit.WebContent [1527] Path:...
View ArticleSCSS初體驗
終於,CSS麻瓜也走到這一步!專案進入網頁排版配置微調階段,陸續加進各式CSS巧門,例如: 依視窗寬度自動隱藏、多語系按鈕圖檔切換、依父容器Class切換顯示效果......
View Article使用陣列參數執行SQL WHERE IN比對
傳入字串或數字陣列當作篩選參數是很常見的SQL查詢情境,例如: 使用者在UI勾選取10項類別代碼,希望從Products資料表找出這10類的所有產品,轉換成SQL語法,相當於SELECT * FROM Products WHERE CategoryId IN (1,3,8,...,215)。遇到這類需求,好傻好天真的開發者不小心會寫成恐怖的SQL Injection自殺式查詢: string sql...
View ArticleHello, TypeScript!
歷經一年多的漫長等待,TypeScript RTM囉! 昨天在北美TechEd 2014,微軟發佈了Visual Stuiod 2013 Update 2 RTM,除了上週提過的SCSS,還有另一則令人興奮的消息 -- TypeScript 1.0 RTM也正式納入Visual Studio支援項目,從此我的軍火庫再添利器一枚,伴我在網站叢林衝鋒陷陣。TypeScript是我的偶像--Anders...
View Article變更電腦名稱後找不到TFS Workspace
配合公司網管政策,工作機改了電腦名稱。記憶中,更改電腦名稱有件麻煩事是得手動修正SQL Server設定,這回則發現一枚新地雷。TFS的Workspace設定資料包含電腦名稱(以區隔同一個使用者在多台機器建立的Workspace),更改電腦名稱後,Visual...
View Article短小精悍的.NET ORM神器 -- Dapper
應該有很多人像我一樣,對LINQ的依賴已經到達"LINQ or Die!"(不LINQ,吾寧死)的地步,到了需要存取DB的場合,打死也不想再走ADO.NET +...
View Article【茶包射手日記】Enum型別錯置奇案
在同事的專案採集到一枚奇特茶包。程式看似無誤,欄位也宣告成NVARCHAR,但塞入的Unicode難字硬是變亂碼,以下程式片段可重現問題: using System;using System.Collections.Generic;using System.Data;using System.Data.OracleClient;using System.Data.SqlClient;using...
View ArticleVS2013 Update 2更新後無法開啟EDMX
迫不及待更新到VS2013 Update 2,開始享受內建的SCSS支援,也展開了TypeScript冒險之旅。VS2013更新後,開啟工作專案冒出以下錯誤: (但編譯、執行完全不受影響)Cannot load 'X:\TFS\MyProject\DEV\src\DAL\Boo.edmx': Specified cast is not valid. 無法載入...
View Article批次修改Windows記憶密碼
工作機平日使用本機帳號登入,存取伺服器或網站時才使用網域(AD)帳號,為了避免每次都重新輸入,我會在第一次登入時使用Windows內建的密碼記憶功能把網域帳號密碼存起來。公司的伺服器及網站眾多,於是乎就出現一張長長的密碼記憶清單...問題來了! 基於資安管控,網域帳號的密碼需要定期更換,但換過密碼後要是忘了更新上述的記憶密碼,下回想連上某台伺服器,Windows便會拿著舊密碼試著登入... 登楞!...
View ArticleSQLPlus執行UTF-8編碼指令檔
作業環境有個需求: 有一些PL/SQL DDL指令需先匯成sql檔,再透過程式呼叫SQLPlus.exe執行。SQLPlus.exe可讀入SQL Script檔案直接執行,例如: sqlplus –s user/pwd @script.sql,而透過程式啟動外部EXE也不是問題,一切看似小菜一碟...BUT!...
View Article2014海山馬拉松~
第16丐,海山馬拉松。跑了15場馬拉松,未曾嚐過落馬滋味,今天開了洋葷!既然算不上一「馬」,就用「丐」字充數吧!去年跑海山馬時足底筋膜炎纏身,加上天熱難當,跑出逼近六小時關門的PW(Personal Worst)。今年的比賽時間提前到五月底巧遇陰天,酷熱不似去年,而賽前訓練狀況不差,預期不會像上回煎熬,説不定還能跑出不錯成績。...
View ArticleKO範例30 - 可排序的多重選擇器
專案裡的介面需求: 網站需開放使用者由候選清單挑選多個項目放入組成清單,組成清單的項目要能調整順序。實作範例如下,就想像從三國武將中挑選精英組團打副本吧!(裡面有個黑大是什麼東西?)...
View Article從Knockout到AngularJS
照片出處: http://www.geograph.org.uk/photo/360000作者: Barbara Voules 兩年前初見Knockout.js後便一腳踏入MVVM世界無法回頭。學習簡單很快上手,用Knockout做出錯誤少又容易擴充維護的AJAX網頁。在此之前,為了讓欄位連動,總要寫一堆<input>、<select>...
View Article對SQL XML節點進行JOIN查詢
今天遇到的隨堂測驗,考題如下:SQL Server有一資料表,其中Records欄為XML型別,其中包含多筆記錄,目標要將記錄展開成多筆查詢結果: .xmljoin-tab td { padding: 3px; }...
View ArticleNG筆記1-AngularJS學習資源與術語
學習AngularJS一段時間,初步心得是"很強大但不好駕御",跟學習Knockout的經驗相比,差異程度大概像這樣:照片來源: Jace...
View Article