如果要製作月報…但只有給起訖日
要產生出如下的列表 要怎麼辦…
第一個想到的解法 會使用 WHILE + [暫存表]
迴圈遍歷 把每個月新增入暫存表中
程式碼如下:
1 | DECLARE @t TABLE |
但這個解法雖然簡單..但程式碼又臭又長..
Q: 有沒有更好看的解法又可達成目的呢?
ANS: 有!! 就是本次主角 CTE 遞迴
Please disable your AD blocker to continue using this site. Ads help us keep the content free! please press keyboard F5 to refresh page after disabled AD blocker
請關閉廣告攔截器以繼續使用本網站。廣告有助於我們保證內容免費。謝謝! 關閉後請按 F5 刷新頁面
如果要製作月報…但只有給起訖日
要產生出如下的列表 要怎麼辦…
第一個想到的解法 會使用 WHILE + [暫存表]
迴圈遍歷 把每個月新增入暫存表中
程式碼如下:
1 | DECLARE @t TABLE |
但這個解法雖然簡單..但程式碼又臭又長..
Q: 有沒有更好看的解法又可達成目的呢?
ANS: 有!! 就是本次主角 CTE 遞迴
如果要製作月報…但只有給起訖日
要產生出如下的列表 要怎麼辦…
第一個想到的解法 會使用 WHILE + [暫存表]
迴圈遍歷 把每個月新增入暫存表中
程式碼如下:
1 | DECLARE @t TABLE |
但這個解法雖然簡單..但程式碼又臭又長..
Q: 有沒有更好看的解法又可達成目的呢?
ANS: 有!! 就是本次主角 CTE 遞迴
小弟之前有分享過串接【財政部查詢類電子發票API】小框架使用文
使用文連結 快速使用財政部電子發票API 使用 C#
串接文件下載 電子發票查詢API 1.4.4
程式原始碼連結
這次想跟大家分享我做出此框架的歷程..
框架目的:希望可以做出方便日後維護擴展的API。
串接API時發現他們有幾個共同之處
我就想到可以使用 工廠模式來實作這系列產品 (工廠模式主要是切割產品的使用和生產)
小弟之前有分享過串接【財政部查詢類電子發票API】小框架使用文
使用文連結 快速使用財政部電子發票API 使用 C#
串接文件下載 電子發票查詢API 1.4.4
程式原始碼連結
這次想跟大家分享我做出此框架的歷程..
框架目的:希望可以做出方便日後維護擴展的API。
串接API時發現他們有幾個共同之處
我就想到可以使用 工廠模式來實作這系列產品 (工廠模式主要是切割產品的使用和生產)
今天和大家分享AwesomeProxy.Net小弟開源AOP輕型框架
AOP 是 OOP(物件導向)一個變化程式撰寫思想。(非取代OOP而是擴充)
導入AOP幫助:
可幫我們分離核心邏輯跟非核心邏輯代碼,很好降低模組間耦合性,已便日後擴充。
非核心邏輯代碼像:(日誌記錄,性能統計,安全控制,事務處理,異常處理等代碼從業務邏輯代碼中劃分出來)
例如下圖:
原本寫法把寫日誌相關程式寫入,業務邏輯方法中。導致此方法非單一職則。我們可以把程式重構改寫成(右圖),將寫日誌方法抽離出來更有效達成模組化。
經典例子:
Asp.Net MVC中Contoller,Action過濾器(FilterAttribute)
今天和大家分享AwesomeProxy.Net小弟開源AOP輕型框架
AOP 是 OOP(物件導向)一個變化程式撰寫思想。(非取代OOP而是擴充)
導入AOP幫助:
可幫我們分離核心邏輯跟非核心邏輯代碼,很好降低模組間耦合性,已便日後擴充。
非核心邏輯代碼像:(日誌記錄,性能統計,安全控制,事務處理,異常處理等代碼從業務邏輯代碼中劃分出來)
例如下圖:
原本寫法把寫日誌相關程式寫入,業務邏輯方法中。導致此方法非單一職則。我們可以把程式重構改寫成(右圖),將寫日誌方法抽離出來更有效達成模組化。
經典例子:
Asp.Net MVC中Contoller,Action過濾器(FilterAttribute)
我們在寫網站一定會使用到 Session
今天就跟大家分享自製微型 Asp.net Session
分析Session->實作Session->使用Session
在實作之前您必須先了解甚麼是Session
網路上一大堆介紹Session文章在此我就不多介紹
或可以點進之前小弟的介紹文來簡單了解 SessionID.cookie,Session傻傻分不清楚??
簡單說明:
Http協議是一個無狀態協議。
核心是 請求=>處理=>回應
每次請求都是獨立不會記住上一次做了甚麼
Session可以幫我們把資料存在Server記憶體,方便我們下次請求使用
上網連線眾多使用者,Server怎麼知道哪份資料,屬於哪個使用者的? 這就要依靠 SessonID
SessionID就像使用者的號碼牌,可以到Server拿相對應的資料
分析:
分析如下圖:
傳址,傳參考,傳址 是基本但重要的概念。此概念在很多語言都通用
我使用Gif動畫檔 快速帶領大家了解 傳址,傳參考,傳址
傳值(Call By Value)
顧名思義 是把值
傳到 另一個記憶體位置
的值
上
是把記憶體位置
傳到 另一個記憶體位置
的值
上
補充:嚴格來說(
Call By Adress
)是不正統的說法,其實傳址也是傳值但傳的是記憶體位置
傳參考(Call By Reference)
是把記憶體位置
傳到 移到另一個記憶體位置
上 (可看作同一個物件)
向大家簡單介紹
HttpRuntime.Cache
使用快取機制這篇是分享把快取程式碼變得更有彈性
情境:
最近回答SQL Server data caching in ASP.NET問題,且有人問我有關快取的問題.
所以小弟打算寫兩篇文章簡單分享我知道的快取
HttpRuntime.Cache