博客 / 列表

唐青楓 - C#.NET PeriodicTimer 深入解析:高效異步定時器的正確打開方式

簡介 在異步編程中,常見的定時任務通常使用 System.Timers.Timer、System.Threading.Timer 或者循環中配合 Task.Delay。 這些方式或需要顯式管理回調線程、或需編寫複雜的取消邏輯,或容易因累積延遲導致執行不準。 PeriodicTimer(.NET 6+ 引入於 System.Threading)提供了一個基於 IAsyncDisposable

c# , .net

唐青楓 - C#.NET Cronos 實戰:優雅解析與執行 Cron 表達式

簡介 Cronos 是一個專為 .NET 設計的輕量級、高性能 cron 表達式解析庫,由 Hangfire 團隊開發。相比其他 cron 庫,它專注於提供精確的時區處理和高效的計算算法,特別適合需要跨時區調度的現代應用。 在 .NET 應用中需要使用 Cron 表達式驅動定時任務時,系統自帶的定時器並不支持直接解析 Cron 語法。 雖然有 Quartz.NET 等重量級調度框架,但在只需

c# , .net

唐青楓 - 循環插入太慢?試試 C#.NET SqlBulkCopy,一次導入上百萬數據

簡介 SqlBulkCopy 是 .NET 中針對 SQL Server 的高性能批量數據導入類,通過最小化網絡往返和利用 SQL Server 的批量加載機制,實現遠超傳統 INSERT 語句的性能(通常快 10-100 倍)。它通過利用 SQL Server 的批量插入機制(BCP,Bulk Copy Protocol),顯著提高了數據導入的效率,特別適合大數據量場景。 背景和作用 在 .NE

c# , .net

唐青楓 - php 設計模式詳解

簡介 PHP 設計模式是對軟件開發中常見問題的可複用解決方案,通過標準化的結構提升代碼的可維護性、擴展性和複用性。 創建型模式(對象創建) 關注對象的創建過程,解決 “如何靈活、安全地生成對象” 的問題。 單例模式(Singleton) 意圖:確保一個類僅有一個實例,並提供全局訪問點。 適用場景:全局配置、數據庫連接池、日誌管理器(需共享狀態)。 實現要點: 私有構造函數(禁止外部實例化

設計模式 , php

唐青楓 - Git 實戰:一文讀懂 git push -u origin main 命令

簡介 命令的完整語法結構 git push -u origin main 其實等價於: git push --set-upstream origin main 分為三個部分: 部分 含義 git push 推送(push)本地提交到遠程倉庫 origin 遠程倉庫名稱(默認是 origin,指克隆時的默認遠程)

Git

唐青楓 - Git 提交時神秘的 create mode 100644 到底是什麼?一文告訴你答案!

簡介 上下文:它出現在哪裏? 常見於以下命令輸出中: $ git show 輸出示例: diff --git a/src/test.txt b/src/test.txt new file mode 100644 index 0000000..7f3e5a4 --- /dev/null +++ b/src/test.txt @@ -0,0 +1,2 @@ hello world $ git comm

Git

唐青楓 - 為什麼 .gitignore 不生效?其實你忘了用 git rm --cached!

簡介 命令格式: git rm --cached file 意思: 從 Git 的 索引(index,暫存區) 中移除文件,但保留工作區中的實際文件。 也就是説: 文件仍然留在硬盤(工作區); 但不再被 Git 跟蹤(tracked)。 file...:要移除的文件或目錄路徑。可以指定多個文件,或使用通配符(如 *.log)。 常用選項: --cached:僅從索引移除(必

Git

唐青楓 - Linux awk 命令詳解

簡介 awk 是 Linux 中強大的文本處理工具,廣泛用於模式匹配掃描,數據提取,文本操作。 使用場景: 解析日誌文件 彙總數據 格式化文本輸出 從文件中提取指定的信息 歷史 awk 由三個人共同創造的,以三個人的 last name 的首字母組成 Alfred V. Aho Peter J. Weinberger Brian W. Kernighan 基本語法 awk '

awk , Linux

唐青楓 - Linux sed 命令詳解

簡介 sed 的全稱是:Stream Editor 流編輯器,在 Linux 中是一個強大的文本處理工具,可以處理文件或標準輸入流。 基本語法 sed [options] 'command' file 通過管道傳輸入流: echo "text" | sed 'command' 常用子命令 文本替換(s) sed 's/old/new/' file # s代表文本替換 # old表示被替換的舊文

sed , Linux

唐青楓 - Linux Supervisor進程控制系統完全教程

一、簡介 Supervisor是一個進程控制系統,它使用户能夠監視和控制類unix操作系統進程。它通過提供基於配置或事件啓動、停止和重新啓動進程的機制,幫助管理應該在系統中連續運行的進程。對於需要控制和監視Linux或其他類unix操作系統上多個進程的狀態的開發人員和系統管理員來説,Supervisor特別有用。 監督程序通常作為後台守護進程運行,並充當負責管理多個進程的集中實體。它可用於管理各種

supervisor , Linux