https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

Entity Framework Core:FromSqlRaw 與 FromSqlInterpolated 的使用與差異

Entity Framework Core (EF Core) 是一個開源的、跨平台的資料庫存取技術,它可以讓開發者用 .NET 對資料庫進行操作,而不需要寫 SQL 語句。然而,有時候我們還是需要直接執行 SQL 查詢,這時候 EF Core 提供了 FromSqlRawFromSqlInterpolated 兩種方法。

這兩種方法的主要差異在於,FromSqlRaw 需要手動參數化查詢,而 FromSqlInterpolated 則會自動參數化查詢。如果不正確使用,可能會使應用程式暴露於 SQL 注入攻擊。

以下是一些使用這兩種方法的例子和解釋:

不改系統時間測試時間神器:faketime

faketime 是一個強大的工具,它可以讓你在測試中操控時間。這篇文章將教你如何在 Ubuntu 上安裝和使用 faketime。 Ubuntu 安裝 首先,我們需要更新我們的套件列表,然後安裝 faketime: 1 2 3 4 # 更新套件列表 sudo apt update # 安裝 faketime sudo apt install faketime 接著,我們需要設定一個環境變數,讓系統知道 faketime 的位置: 1 export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1 Mac 安裝 Warning 請注意,我沒有 Mac ,所以無法親自測試這段。如果你在使用過程中遇到問題,請參考 faketime 的官方文件或者在網路上尋找解答。 在 Mac 上,我們可以使用 Homebrew 來安裝 faketime: 1 brew install libfaketime 然後,我們需要設定兩個環境變數。這兩個環境變數會讓系統在執行程式時,強制使用我們指定的動態連結庫: 1 2 export DYLD_FORCE_FLAT_NAMESPACE=1 export DYLD_INSERT_LIBRARIES=/path/to/libfaketime.1.dylib 但我沒有 Mac ,所以無法測試這段 指令相關操作 在這部分,我們將介紹如何使用 faketime 來操控時間。 faketime 指令包起來 我們可以使用 faketime 來改變指令的執行時間。例如,我們可以將時間設定為上週五下午五點,或者設定為 2018 年 12 月 24 日的 08:15:42:

關掉 Windows Server 自動更新方法

最近公司電腦常常莫名其妙關機,我們很常因為電腦重開導致本地 SQL Server 還沒開機完,IIS 站台 .Net 程式無法正常執行。前端也因為 pm2 沒登入沒有啟動。後來發現是 Windows 更新造成的,所以才找把它關掉方法。

SQL Server 與 MySQL 中唯一索引鍵對 NULL 值的處理差異

最近我在 SQL Server 中設定了 Unique Key,目的是為了防止因程式錯誤導致重複的資料被插入。然而,我沒有考慮到 null 值也會被視為重複的資料。在 SQL Server 中,唯一索引鍵預設會阻擋重複的 null 值,但在 MySQL 中,唯一索引鍵則不會阻擋重複的 null 值。

如何在 Windows 中找出佔用大量空間的檔案

最近,我們公司的 Windows Server 測試環境 C 朝空間快滿了。這邊我幫主管找找有什麼方法可以找出吃滿空間原因,最後找到一個方法真的找到問題。 其他找大檔案 Google 搜尋到這篇,順利解決問題。 C槽空間不足?(感謝各位大大,肥大的Temp,已解決) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 1 2 dir c:\ /s | find "/" | find /V "<DIR>" | sort /+22 /R > filelist.txt notepad filelist.txt Question Q:你說說這個是在說什麼事情? Github Copilot: 這段程式碼是在 Windows 的命令提示字元 (Command Prompt) 中執行的,用來找出在 C 磁碟中佔用大量空間的檔案。 dir c:\ /s:這個命令會列出 C 磁碟中的所有檔案和目錄,包括子目錄。 | find “/":這個命令會從上一個命令的輸出中找出包含 “/” 的行,這些行通常是檔案的詳細資訊。 | find /V “<DIR>":這個命令會從上一個命令的輸出中排除包含 "” 的行,這些行通常是目錄的詳細資訊。 | sort /+22 /R:這個命令會根據每行的第 22 個字元開始的部分進行排序,並且是反向排序,也就是從大到小。 filelist.txt:這個命令會將上一個命令的輸出寫入到 filelist.