2014/10/02

[Regex]加入數字的千分位(thousands separator)

因為Javascript的Regex沒有lookbehind, 所以一般在處理為數字加上千分位的作法會受到一些限制.
以下先說明數字加上千分位的規則:
  1. 數字的整數部分每3位數插入一個逗號(,), ex: 123456 –> 123,456
  2. 小數點後不加入千分位, ex: 123456.1234 –> 123,456.1234

2014/09/24

[C#] Dynamic change log4net connectionString

因為遇到資料庫連線字串是要從另一個系統取得, 所以研究了一下 log4net 如何動態設定資料庫連線.

2014/06/05

[C# & Java] .Net 壓縮(GZipStream) VS. Java解壓縮

簡單說明需求:

  1. 利用 .Net 程式將一個 PDF 檔案壓縮, 並將其轉為BASE64字串.
  2. 呼叫一個 Java 的 Web Service, 將此 BASE64 字串傳送到另一端.
  3. Java 程式要轉換此 BASE64 字串, 並回存成 PDF 檔案.




這邊省略掉 Web Service 的傳輸說明, 僅說明 .Net 程式的壓縮與轉換 BASE64, 以及 Java 程式的 BASE64 轉換與解壓縮.

2014/02/18

[Regex]Match Overlaping Pattern

情境: 將字串 1 < 20 < 5 < 3 分解成
1 < 20
20 < 5
5 < 3
當利用Regex做字串比對時, 會發現比對是一連串的字串消化行為.
所以若試著使用 (\d+\s*[<>=]+\s*\d+) 這樣的Pattern作比對時, 會發現只能比對到如下的結果:
1 < 20
5 < 3

2013/03/12

[ASP.Net] Chrome找不到favicon.ico時會產生新Session

先前認為 ASP.Net 網站加入 Global.asax 檔, 就可正確地建立 Session.
(參考: Session.IsNewSession 與 Session.SessionID)
不過沒想到 Chrome 瀏覽器很奇怪地會去存取網站的 /favicon.ico, 並在此 .ico 檔不存在時, 建立新的 Session, 導致 Session 的使用與預期不符.
還好解決方案還算簡單:

  1. 為網站加入 favicon.ico 檔, 以避免 Chrome 因為該檔案產生 404 Error 而造成 Session 的重新建立.
  2. 在 MVC 專案中, 可在 router中加入一項 favicon.ico 的過濾.
    routes.IgnoreRoute("favicon.ico");