2024年10月25日 星期五

[PowerShell] 查詢路徑底下所有檔案名稱、副檔名

        最近遇到客戶需要分析一台舊Server,想知道上面共有哪些檔案及其類型(聽粗估約有幾百萬個檔案)
原本是被要求寫支小程式來跑迴圈分析,但考慮到執行效能等問題,
所以花了點時間研究了一下該如何寫PowerShell來達到效果,下面紀錄結果。

2024年8月19日 星期一

[SQL Server]有關NULL觀念

        之前同事寫SQL遇到的問題,不知為什麼一直沒正確撈到資料。
後面請我協助查看時,一時也搞不清楚原因,等看到資料面才發現到是對NULL相關判斷沒寫好的問題。
趁這個機會來寫篇文章來釐清一些觀念細節。

2024年6月2日 星期日

[SQL Server]整理出日期區間資料中最長持續時間起迄

       最近遇到需要在不同類別各時間區段中,統計出每個類別最長不中斷的月數是多少。

資料大略如下圖:

2024年1月16日 星期二

[C#]LINQ寫法與SQL的對應

        以前寫LINQ時總是沒辦法寫得很順,一直覺得寫SQL還較來的方便快速。但最近碰到客戶因為在DB端塞太多商業邏輯(SP、FUN等),導致DB Server效能有點差,因此希望盡量減少SQL的複雜程度,讓AP端也幫忙處理一些邏輯。藉此我練習許多LINQ寫法,也多虧這次經驗我開始對LINQ熟絡起來。

2023年11月19日 星期日

[C#]泛型一些基本寫法

        平常較少機會寫到泛型(Generic),導致之前寫時生疏不順。所以趁最近有空寫這篇文章來當作複習及紀錄寫法。

2023年3月31日 星期五

[C#]參數傳參考類型、ref傳址 觀念釐清

        之前工作專案吃了基本功差的虧,雖然當下已經查出問題原因並釐清觀念。但一直想找機會再好好的想一下,所以趁最近空閒來寫這篇文章並再次整理觀念。

2021年4月29日 星期四

[C# ASP.NET]利用ClosedXML在網頁上簡單輸出EXCEL檔

  最近嘗試用RDLC之外的方法來匯出Excel,想說是否可以直接輸出EXCEL檔,而不用另外再繪製報表檔。之後網路上找到方便的Open Source程式庫 ClosedXML,此程式庫可簡單的去處理EXCEL物件進而直接輸出到網頁,語法使用上也非常簡單,所以在此紀錄一下。

2021年4月1日 星期四

[SQL Server]安裝SQL2014遇到"找不到 Database Engine 啟動控制代碼。"錯誤訊息

     最近在處理 Windows Server 2016 上安裝 MSSQL2014,但不知道為什麼安裝總是會跳出下面錯誤:
找不到 Database Engine 啟動控制代碼。

如下圖

2020年12月18日 星期五

[C# Windows Forms]OleDbCommand對Access執行有Parameters的SQL語法不會正常工作的情況

     最近朋友希望找我幫忙開發小工具,主要裝在筆電上用來協助他日常工作。考慮到能夠快速開發並配合簡易的資料庫,我想到是用WindowForms+Access來開發。想起之前工作寫WindowForms時還在用VB6(語言VB)開發,這一次難得有機會打算嘗試用較新的Visual studio 2019(語言C#)看看。

2020年12月5日 星期六

[C# ASP.NET]利用JavaScript偵測畫面寬度並且去觸發POSTBACK回傳來達到畫面上的調整

     目前正在用C# WebForm Chart控制項來畫統計圖表,但是如果要利用此來做RWD頁面就會有問題,因為Chart是在Server端處理完後再輸出,所以Client端最後其實得到的是<img>圖檔。沒辦法針對手機旋轉而去變化,而單純去伸縮img高寬只會讓解析度跑掉。至此我需要的是能夠偵測Client端的寬度變化並且回傳到Server端,好讓Chart能夠讀取新的寬度後再重新輸出。

2020年10月25日 星期日

[C# ASP.NET]開啟DropDownList.AutoPostBack而造成瀏覽器點擊上一頁後畫面與selected值不符

     在開發WebFrom時利用 DropDownList的情況,這個控制項在開啟AutoPostBack時,可以使Client端在選取變更內容時觸發PostBack。不過有一個問題,就是當Client點擊瀏覽器上一頁後,會造成DropDownList選取內容沒有跟著回到上一個狀態。

2020年8月24日 星期一

[JavaScript]試做簡單的無滾動條橫軸選單

     常常會在購物或新聞相關網站看到的橫軸選單,滑鼠按住左右滑動就可以往其他項目移動。最近心血來潮想說用原生的JavaScript來做做看類似的功能,實際上做起來還挺有趣的。

目前試著做出簡單類似效果如下:

2020年4月23日 星期四

[C# ASP.NET]Visual Studio 2019 RDLC擴充功能安裝位置

     最近重新安裝VS2019後,要裝回RDLC報表設計。結果忘記安裝位置找了一些時間。
這邊筆記紀錄一下要在哪個位置去安裝。

2020年4月21日 星期二

[JavaScript]利用Canvas繪製儀表板

     雖然網路上有很多免費視覺化報表套件可以使用,但是想說利用原生JavaScript來自己畫畫看,實際上繪製起來還挺有趣的,就結果來說還算不錯的經驗。

2020年4月10日 星期五

[JavaScript]上傳檔案時預先確認檔案最後修改日期

     最近工作上遇到的需求,需要確認檔案在Client端時最後修改日期,而不要上傳後在Server端上的檔案日期。

2020年3月27日 星期五

[JavaScript]利用JavaScript來做到類似EXCEL凍結抬頭列的效果

     滾動資料時固定HTML Table的抬頭TR行,原理是主要利用監聽DIV的滾動事件,
並同時去移動該Table的TR元素來保持抬頭行不動。

[C# ASP.NET]WebForm自定義月曆上預約行程的實現方法

     工作上有需求要做類似在月曆上預約行程的功能,所以簡單做了一個陽春版的月曆來用。
主要是利用.aspx檔的嵌入式程式碼來繪製HTML。

2020年2月22日 星期六

[C# ASP.NET]實現OAuth2授權在Google上(二)-Refresh Token 運用篇

  由上一篇文章提到可以Refresh Token來再次獲取Access Token,不必再次經過User同意授權。
不過授權scope會和當初一樣(也就是說上一篇拿到的Refresh Token,一樣只能拿來呼叫GMail)

[C# ASP.NET]實現OAuth2授權在Google上(一)-基礎程式篇

  Google本身有提供很多API供設計師來抓取Google帳號資料,
但前提是必須由User同意授權,才能依憑證抓取相對應的資料。

本篇用簡單的方法來實現OAuth2授權並獲取GMail信箱(範例框架為webform,實現方式主要用Http來撰寫)

2020年2月15日 星期六

[SQL Server]找出資料日期區間重複的範圍和次數

        遇到資料日期欄位屬於起訖型態,且需要將重複範圍和次數計算出來時可以用到

首先建立時間區段重複的兩個概念
1.當區段開始重複時,必定是為某區段的頭在某個區段的中間時,這邊標註為S

2.當區段結束重複時,必定是為某區段的尾在某個區段的中間時,這邊標註為E

如下圖 紅黃區段為不同的時間資料 S標記代表開始重複的記號(2/2號同時也是紅色的頭);E標記代表結束重複的記號(2/3號同時也是黃色的尾)