為了實現網站橫向擴充的架構,狀態或是資料快取需要一個共用的儲存機制,除了儲存在資料庫(資料庫也需要散熱):
- ASP.NET Session可以選State Server。
- 如果是快取可以選Windows Server AppFabric Cache(Session也可以存)。
自從要開始支援橫向擴充就這樣盤算著及設計,昨天和公司年輕熱血的工程師討論技術議題,認識一種NoSQL的好物:Redis,晚上不跑步,嘗試使用Azure設定快取伺服器。
為了實現網站橫向擴充的架構,狀態或是資料快取需要一個共用的儲存機制,除了儲存在資料庫(資料庫也需要散熱):
自從要開始支援橫向擴充就這樣盤算著及設計,昨天和公司年輕熱血的工程師討論技術議題,認識一種NoSQL的好物:Redis,晚上不跑步,嘗試使用Azure設定快取伺服器。
時常會在程式中建立資料表,建立前總是先判斷是否存在才進行刪除,此時會用sys.objects metadata查詢資料庫內的物件
或是OBJECT_ID函數是否能取出ID來判讀物件是否存在,現在SQL Server 2016有更簡單的做法。
DROP IF Exists
去年TechDays 2015聽到這個功能時,心中默默飄出彭佳慧的相見恨晚,而且功能會從Azure雲端(SQL Azure)下放到人間(地面SQL Server)。自從個資法2012年施行細則上路後,對於客戶資料的蒐集、處理及利用有著更多的保護規範,會處理到大量客戶(自然人)的資訊系統除了基本的網頁及功能權限,也需要應用上遮罩,避免過多非必要的資訊存取。
SQL Server 提供許多層次的加密功能及對稱非對稱加密演算法,從欄位的加密到整個資料庫檔案加密都有對應功能;但除非有額外的KM(鍵值管理)模組,
資料庫本身其實同時把持著解密用的"金鑰"及"加密後"的資料本身,這因此存在一種系統風險。
SQL Server 2016多了一個加密欄位的新功能Always Encrypted,讓加密工作避免過度集權在資料庫身上。
SQL Server未推出RLS(Row-Level Security)前,我們都是用AP的手段來完成客戶對於限閱戶資料的管控需求,
但畢竟是AP,有時還是沒辦法過濾到多筆資料回傳的情形,透過RLS中的Filter predicated,限閱戶資料可以處理的更簡單。
最近將Web專案內的內容網頁(aspx、ascx)分享給其他Web專案,為方便版本管理及協同作業,
這次使用虛擬目錄(VirtualPathProvider)來將內容網頁以串流方式讓其他專案引用,測試時都運作正常(哈!通常都是),
就當原本Web專案發行組態從偵錯(Debug)改成發行(Release)組態時,網頁發生缺少主版網頁的錯誤,筆記解法。
安裝Visual Studio 2015 再2個月就1年了,每次想開SSIS Package,都要回到Visual Studio 2010,
查閱Visual Studio說明頁簽下的安裝產品清單,2015有內建Data Tool在裡頭,
但熟悉的商業智慧範本就是玩躲貓貓,來筆記安裝商業智慧範本(SSDT-BI)的過程。
先前嘗試用xml格式替代匯出及匯入初始資料的作法,感覺有順手點,SQL Server 2016開始支援JSON,
剛好手邊有Azure帳號,早上下雨不能跑步,就來測試JSON。
偵錯是Developer的左右手,上一次碰到問題是Visual Studio 2013時代,時光飛逝,
這一次不再挑戰自己的記憶體容量,筆記!
開發工具訊息: 請在偵錯效能下降的作業(例如無法叫用中斷點)中,使用Just My Code與應用程式編輯器最佳化的結果的發行組建。
一直以來,SSIS2008/2012就少了SFTP/FTPS Component,為了實作加密管道的FTP傳送,可能就需要參考C#組件,來筆記參考C#的做法。
前陣子有幾個大型資料表要封存用了破壞重建再扶正,接下來碰巧有2個資料表當初就是開Partition Table,筆記一下釜底抽薪的作法。
Switch Partiton
前陣子專案內需要抽換原本共用類別庫內的功能並引用third party的dll,但不希望改動原本主程式的程式碼,上一篇介紹了動態繫結,這一篇介紹下集:
類別庫與主程式的低耦合時可以選用的做法。
前陣子專案內需要抽換原本共用類別庫的功能並引用third party的dll,但不希望改動原本主程式的程式碼,筆記以下兩種:
類別庫與主程式的低耦合可以選用的做法。
上一篇筆記了指令碼工作,這一篇來筆記指令碼元件(script component)
最近案子中,批次部分只能使用SSIS,版本限定2008,偏偏Developer習慣Visual Studio 習慣.NET習慣C#語法習慣來做商業判斷,來筆記怎麼在BI開發工具中使用C#。
初始資料庫時,我們Developers們會準備很多.sql指令碼來建立資料表、檢視甚至初始資料,那麼要怎麼一次執行資料夾內的*.sql或是指定的幾個.sql指令碼?
來節省一點點初始化資料庫的作業時間。
準備初始資料習慣用SSMS管理工具在資料庫右鍵[工作]、[產生指令碼],進階選項選擇資料碼類型為僅限資料;但...產生指令碼之後臨時想改資料值時,就悲劇了,要用睡不著數綿羊的絕招。
先前嘗試一種用xml替代初始資料的作法,感覺有方便一點,趕緊筆記下來。
提起Barcode就想到喉嚨借過,ㄟ~夜店亂入,是1D線性或是2D圖形條碼,想起先前案子曾產出超商繳款條碼(code39),拿起從法蘭克福回來的行李條碼,好像有點不同,有種好熱想把行李條碼(Baggage Barcode)解開,來一趟行李分檢。
Rail Fence Cipher 籬笆式位移密碼,很接近劉伯溫燒餅歌內的藏頭詩的排列,來認識英文單字Rail Fence[籬笆]順便練習C#語法。
Morse Code摩斯電碼,嚴格說起來不算密碼,19世紀美國Samuel Morese於1836年發明,一直是海事通訊中國際標準。
通常用一種音調平穩"時斷時續"的無線電信號傳送,也可以是一種機械的或視覺的信號(比如閃光),學知識兼練C#語法。