最新文章
|
知識管理交流
→『 技術文檔交流 』
本版文數:8236 今日文數:3154
|
至于任務調度這個基礎功能,重要性不言而喻,大多數業務系統都會用到,世面上有很多成熟的三方庫比如Quartz,Hangfire,Coravel這里我們不討論三方的庫如何使用而是從0開始自己制作一個簡易的任務調度,如果只是到分鐘級別的粒度基本夠用技術棧用到了:BackgroundService和NCrontab庫第一步我們...
![]() |
前言目前.NET體系下常見的PDF類庫有Aspose、QuestPDF、Spire、iTextSharp等,有一說一都挺好用的,我個人特別喜歡QuestPDF它基于C#FluentAPI提供全面的布局引擎;但是這些庫要么屬于商業庫價格不菲(能理解收費),但是年費太貴了。要么是有條件限制開源的,如Spire開源版本有各種...
![]() |
前言今天我們來講講如何使用.NET開源(MITLicense)的輕量、靈活、高性能、跨平臺的分布式網絡爬蟲框架DotnetSpider來快速實現網頁數據抓取功能。注意:為了自身安全請在國家法律允許范圍內開發網頁爬蟲功能。網頁數據抓取需求本文我們以抓取博客園10天推薦排行榜第一頁的文章標題、文章簡介和文章地址為示例,并把...
![]() |
許多人認為成為一名網絡開發人員是一件輕而易舉的事,想象著我們只需在家里舒適地敲擊鍵盤,手邊放著一杯熱氣騰騰的咖啡或茶。然而,他們沒有看到電腦屏幕內部復雜且往往混亂的世界。幾乎每個開發人員都會遇到類似的挑戰:最壞的情況、噩夢之類的;那些感覺就像殘酷笑話的時刻——有時,逃避這一切的想法更容易。如果您是一位經驗豐富的Web開...
![]() |
一、WebSocket與實時消息推送WebSocket是一種網絡通信協議,它在單個TCP連接上進行全雙工通信,允許服務器主動向客戶端發送消息。這種特性使得WebSocket成為實現實時消息推送的理想選擇。實時消息推送是指服務器能夠實時地將最新信息推送給客戶端,無需客戶端定期輪詢,從而大大降低了網絡延遲和資源消耗。Web...
|
我不是很理解,為什么越來越多的項目打著高性能的旗號,迷信般的使用響應式編程框架,然后把代碼搞的亂七八糟。響應式編程真的那么香么?還是“天下苦響應式編程久已”,在迫害我們的祖國花朵?在我看來,響應式編程至少犯了三宗罪:1.易造成復雜;2.調試困難;3.性能迷霧。鑒于此,我希望開發同學們在選擇編程范式的時候,能擦亮自己的眼...
![]() |
PostgreSQL并不是一個簡單的關系型數據庫,而是一個數據管理的抽象框架,具有吞噬整個數據庫世界的力量。而這也是正在發生的事情——“一切皆用Postgres”已經不再是少數精英團隊的前沿探索,而是成為了一種進入主流視野的最佳實踐。OLAP領域迎來踢館者在2016年的一次數據庫沙龍里,我提出了一個觀點:現在Postg...
![]() |
Notepad--是國人開發的一款用于取代Notepad++的文本編輯器,一般用于純文本或程序代碼臨時修改等,比Windows系統內置的文本編輯器強大很多。Notepad--內置了簡單的宏操作功能,可以實現部分自動化處理文本,對于文本處理帶來了很大的方便,但Notepad--未提供直接的宏命令編輯功能,導致實際使用中不...
|
在這篇文章中,我們將分享21個帶有代碼片段的HTML技巧,可以提高您的編碼技能。現在,讓我們直接開始吧。01、創建聯系鏈接使用HTML創建可點擊的電子郵件、電話和短信鏈接:<!--Emaillink--><ahref="mailto:name@example.com">SendEmail</a><!...
![]() |
前言今天我們來講講如何使用.NET開源(MITLicense)的輕量、靈活、高性能、跨平臺的分布式網絡爬蟲框架DotnetSpider來快速實現網頁數據抓取功能。“注意:為了自身安全請在國家法律允許范圍內開發網頁爬蟲功能。網頁數據抓取需求本文我們以抓取博客園10天推薦排行榜第一頁的文章標題、文章簡介和文章地址為示例,并...
|
在C#編程中,異步編程是一個重要的概念,特別是在處理I/O操作、網絡請求或是需要長時間運行的任務時。C#5.0引入了async和await關鍵字,使得異步編程變得更加簡單和直觀。在這些關鍵字背后,是Task和Task<TResult>類在起作用,它們代表了異步操作。一、C#異步Task的概念和特點Task是.NETFr...
|
前言今天給大家分享2款開源、美觀的WinFormUI控件庫,希望可以幫助到有需要的同學。WinForm介紹WinForm是一個傳統的桌面應用程序框架,它基于Windows操作系統的原生控件和窗體。通過簡單易用的API,開發者可以快速構建基于窗體的應用程序,并且可以利用多種控件和事件來實現應用程序的功能和交互。更多Win...
![]() |
|
螢火蟲是一款簡單、易架設的WireGuard服務端軟件,支持Linuxx86、ARM等CPU架構環境,可廣泛用于異地組網、遠程辦公、內網穿透等場景。優勢:與默認的WireGuard相比,它提供簡單、易用的web管理后臺;支持不同系統的WireGuard客戶端接入,包括windows、macOS、iOS、Linux等;服...
![]() |
作者:HelloBug.轉自:blog.csdn.net/LLLLL__/article/details/89505619C#中$符號是從C#6.0版本開始推出的語法糖,主要是對String.format()的簡化,當然format也不是沒有價值,本文將介紹C#中$符及String.format的一些通用用法。一:$符...
|
如何改變grid布局的某一個單元格的寬度?方法一:使用grid-column屬性如果你想要改變一個單元格跨越的列數,或者改變它在網格中的位置,你可以使用grid-column屬性。.item在上面的例子中,.item將跨越兩列,這實際上會改變它的寬度,因為它現在占據了更多的網格空間。方法二:改變網格容器的grid-te...
|
有時候,我們需要在網頁判斷用戶是否處與非活躍狀態,如果用戶長時間沒有在頁面上進行任何操作,我們則判定該用戶是非活躍的。在javascript中我們可以通過監聽某些鼠標或鍵盤相關的事件來判定用戶是否在活躍中。案例演示在線演示-使用JS判斷用戶是否處于活躍狀態實現代碼案例演示了如何獲取用戶活躍狀態,時間閾值定為5秒,超出該...
|
如今,軟件開發中最大的趨勢之一,是PostgreSQL正在成為事實上的數據庫標準。已經有一些博客闡述了如何做到萬物皆用PostgreSQL,但還沒有多少文章能解釋這一現象背后的原因。(更重要的是,為什么這件事很重要)——所以我寫下了這篇文章。本文作者為AjayKulkarni,TimescaleDBCEO,原文發表于T...
![]() |
在Windows桌面應用程序開發中,WPF(WindowsPresentationFoundation)和WinForm是兩種常見的用戶界面框架。它們各自具有獨特的特點和優勢,但同時也存在一些顯著的差異。以下將詳細探討WPF和WinForm之間的主要區別。一、基礎與技術WPF(WindowsPresentationFo...
|
最近剛好看到一段視頻,講述關于IP偽造的內容。視頻中并沒有具體描述如何進行的IP偽造。借此機會,小黑屋來嘮嘮偽造IP的幾種常見方式。方式1:X-Forwarded-For這個是最為認知的IP偽造方法,早年的CTF題目也經常涉及,然而現在知道的人太多,CTF都不屑于出這類題目。X-Forwarded-For誕生的原因比較...
|
在C#編程中,序列化是一個重要的概念,它允許我們將對象的狀態轉換為可以存儲或傳輸的格式。序列化在多種場景下都非常有用,比如將數據保存到文件、通過網絡發送數據,或者在不同的系統或服務之間共享數據。在C#中,我們有兩種主要的序列化方式:二進制序列化和XML序列化。本文將深入探討這兩種序列化方式,并介紹如何使用它們。一、序列...
|
摘要注冊表(Registry,繁體中文版Windows操作系統稱之為登錄檔案)是MicrosoftWindows中的一個重要的數據庫,用于存儲系統和應用程序的設置信息。早在Windows3.0推出OLE技術的時候,注冊表就已經出現。隨后推出的WindowsNT是第一個從系統級別廣泛使用注冊表的操作系統。但是,從Micr...
![]() |
對于PHP,我們可以說的一件事是它是持久更新的語言。與許多歷史悠久的編程語言一樣,它經常受到希望看到更新候選語言開發者的“誹謗”,但它也保留了不少支持者和最佳實踐者,這讓人想起C++發明者BjarneStroustrup的明智之言:世界上只有兩種編程語言:人們抱怨的語言和沒人使用的語言。PHP最初創建于1993年,旨在...
![]() |