最新文章
|
知識管理交流
→『 技術文檔交流 』
本版文數:10444 今日文數:4927
|
前言:問題的浮現最近,我使用ScottPlot庫開發一個頻譜分析應用。應用的核心功能之一是實時顯示頻譜圖,這可以看作是一個高頻刷新熱力圖(Heatmap)。然而,在程序運行一段時間后,我注意到整體性能開始逐漸下降,界面也出現了卡頓。直覺告訴我,這背后一定隱藏著性能瓶頸。分析:探尋性能瓶頸面對性能問題,我首先打開了Vis...
|
簡介在很多年前的一次CodeReview中,有大佬指出,方法的參數太多了,最好不要超過四個,對于當時還是萌新的我,雖然不知道什么原因,但聽人勸,吃飽飯,這個習慣也就傳遞下來了,直到參加工作很多年后,才明白這其中的緣由。調用協定在計算機編程中,調用協定(CallingConvention)是一套關于方法/函數被調用時參數...
|
咱上網沖浪的時候,天天和各種網站、APP打交道。但HTTP協議有個“毛病”——它記性不好,每次請求都像第一次見面,根本不記得之前和你聊過啥。為了解決這個問題,程序員們整出了Cookie、Session和Token這三個“神器”,它們就像我們在網絡世界的身份證、通行證,幫服務器記住你是誰,都干了啥。今天咱就嘮嘮這仨到底是...
|
避免常見陷阱,寫出更簡潔高效的JavaScript代碼「如果你在使用_await_時遇到過undefinedisnotafunction的錯誤提示,別擔心——你并不孤單。」Async/Await功能強大,但也是現代JavaScript中最容易被誤解的特性之一。即使是經驗豐富的開發者也會陷入一些微妙陷阱,導致未處理的Pr...
|
Nginx在大型網站廣泛使用,大廠也經常考察,下面我重點詳解6大Nginx正向代理和反向代理區別@mikechenNginx正向代理正向代理就像一個中介,客戶端委托中介去訪問目標服務器,目標服務器只知道中介的存在,不知道真正的客戶端是誰。正向代理位于客戶端和目標服務器之間,客戶端明確知道目標服務器的地址,但請求首先發送...
![]() |
Nginx是大型架構的必備中間件,下面我就重點來詳解Nginx緩存核心技術@mikechenNginx緩存Nginx緩存:是指Nginx服務器將客戶端請求的資源(例如:靜態文件、動態頁面的響應。。。等)存儲在本地存儲介質(如磁盤或內存)中。當相同的請求再次到達時,Nginx可以直接從緩存中提供資源,而無需再次向后端服務...
![]() |
當我們訪問一個網址,會經由DNS解析為IP地址,這個IP地址其實背后是「服務器」,通過這個IP就能找到那臺服務器。我們看似使用的是域名訪問網站,其實使用的是IP地址。服務器上通常會安裝Nginx,它是一個專門用來處理Web請求的軟件。用戶訪問網站時,請求就會先到Nginx,然后由它把請求轉發到項目上。正常情況下,服務器...
|
1、基本規則假如后端實際地址為:http://127.0.0.1:8080/api/user/getById?id=123則:1)通過nginx轉發,使用http://127.0.0.1/api/user/getById?id=123訪問server}通過原有地址直接準發非常簡單。2)通過nginx轉發,使用http:...
|
2000年代初,DouglasCrockford正在解決一個看似簡單卻長期困擾開發者的問題:如何在系統之間高效交換結構化數據?當時XML占據主流,但其冗長的語法、復雜的解析方式讓人苦不堪言。他在JavaScript中找到了一種輕巧的語法子集——這不是一項新發明,而是一種“被發現”的能力。它被命名為JSON(JavaSc...
![]() |
Nginx是大型架構的必備中間件,各大廠都在使用,下面我就重點詳解Nginx如何實現高并發@mikechenNginxNginx是一款高性能負載均衡器,其出色的性能使其在互聯網行業得到了廣泛應用。Nginx通過采用異步非阻塞I/O模型、和I/O多路復用技術,成功解決了高并發場景下的性能瓶頸問題。Nginx事件驅動Ngi...
![]() |
k8s和docker是云原生的核心,也是云技術的重要組成,下面重點談談兩者的4大核心區別@mikechenDockerDocker是一種開源的容器化平臺,主要簡化應用程序的構建、部署、和管理。Docker最NB的地方,就在于:Docker通過將應用程序、及其所有依賴項,打包在一個容器中。類似集裝箱:這就像把一個完整的貨...
![]() |
Nginx是大型架構的必備中間件,也是高并發的核心組件,下面我就重點詳解“5大提升Nginx并發性能方案”@mikechenNginx高并發Nginx是目前全球最流行的Web服務器之一,其廣泛使用得益于其卓越的性能。Nginx采用一個主進程(Master),管理多個工作進程(Worker)的架構。每個工作進程通過一個事...
![]() |
Nginx等負載均衡在大型架構被廣泛使用,下面我就重點來詳解主流負載均衡選型對比@mikechenNginx輕量級、支持HTTP層負載均衡和反向代理。擅長HTTP層內容處理(如URL路由、緩存、壓縮、靜態資源分發),本質是一個WebServer+ReverseProxy。優勢:高性能:Nginx采用事件驅動的異步非阻塞...
![]() |
實現百萬并發不僅靠Nginx本身性能,還要操作系統、網絡、配置的全面協同@mikechen連接配置優化理論最大并發連接數=worker_processes×worker_connections。worker_connections65535;每個worker進程可以獨立處理多個連接,增加worker進程數可以提高并行處...
![]() |
Nginx反向代理作為構建現代Web架構的基石技術,在大型架構發揮著至關重要的作用.Nginx反向代理基礎配置最簡單且最典型的反向代理場景,用戶請求先到達Nginx服務器,再由Nginx轉發至后端的應用服務器(如Tomcat、Node.js等)。這種方式可以隱藏后端服務器地址,增強系統安全性,同時可進行請求過濾和負載分...
![]() |
Nginx是大型架構的必備中間件,下面我就全面來詳解Nginx抗住百萬并發背后的技術。Nginx核心架構Nginx采用經典的Master-Worker進程模型,這種設計是其高性能、和高可用性的基石。整體架構,如下圖所示:+-------------+→注冊讀事件(非阻塞)→等數據到達→數據到達觸發事件→回調讀取→注冊寫...
![]() |
介紹pycdc:Python字節碼反編譯工具在日常的Python開發中,有時我們會遇到源代碼丟失或無法直接訪問的情況,特別是當程序已經被編譯成字節碼(.pyc文件)時。為了能夠恢復和查看這些字節碼中的原始源代碼,反編譯工具顯得尤為重要。pycdc就是一個這樣的工具,它可以將Python字節碼文件反編譯成源代碼,幫助開發...
|
前言在開發WinForm應用程序時,經常會遇到需要在線程間操作UI的情況。直接從非UI線程更新UI控件會導致異常,因此我們需要采取適當的方法來安全地進行這些操作。本文總結了幾種常見的解決方法,并對其優缺點進行了分析。正文方法一:禁用線程間的非法調用檢查這是最簡單的方法,但也是最不推薦的做法。通過設置窗體屬性Contro...
![]() |
在使用Docker進行開發和部署時,隨著時間的推移,系統中會積累大量的未使用或“懸掛”(dangling)的鏡像(Images)、容器(Containers)、數據卷(Volumes)和網絡(Networks)。這些殘留資源不僅會占用寶貴的磁盤空間,還可能導致混淆或潛在的沖突。本指南將詳細介紹如何利用Docker提供的...
|
企業級視頻監控平臺,專注于提供高性能、高可用、易擴展的視頻監控解決方案源代碼https://www.gitpp.com/datart/projects06270090109070901開箱即用的網絡視頻平臺,負責實現核心信令與設備管理后臺部分,支持NAT穿透,支持海康、大華、宇視等品牌的IPC、NVR接入。支持國標級聯...
![]() |
前言幾十年來,從報表系統到財務分析,再到用戶行為查詢,我們早已習慣了通過SELECT–FROM–WHERE的方式與數據庫對話。而在這一過程中,SQL也逐漸成為人們對‘數據庫查詢’的默認理解方式。甚至,當年標榜“反SQL革命”的NoSQL,有無一例外,引入了SQL支持。但歷來如此,就代表永遠正確嗎?根據Gartner預測...
![]() |
消息中間件是億級互聯網架構的基石,其中最典型有“RocketMQ”消息中間件,大廠最愛考察的內容,下面我就全面來詳解。RocketMQRocketMQ是一款開源的分布式消息中間件,具有高吞吐量、低延遲和高可靠性的特點。主要解決,如下4大場景:1、應用解耦通過消息隊列將生產者、和消費者解耦,比如:電商平臺中,用戶下單后,...
![]() |
Redis是單線程還是多線程,這個是大廠面試經常被問到的話題,下面我就全面詳解Redis是單線程還是多線程。Redis單線程Redis在4.0之前使用單線程的模式,即網絡IO,以及鍵值存儲服務是由?個線程來完成的。為什么采用單線程,主要是有以下幾點原因:1.單線程高效使用單線程模式的Redis,其開發和維護會更簡單,因...
![]() |
分庫分表分庫分表是一種數據庫水平擴展的方式,用于解決單一數據庫的性能瓶頸和容量限制。分庫:將一個邏輯數據庫劃分為多個物理數據庫,每個數據庫中存儲部分數據。分表:將一個表拆分為多個表,每個表中存儲部分數據。分庫分表策略常見的分庫策略有按:范圍、按哈希和按列表分片。1.按范圍分片根據某個字段的范圍將數據劃分到不同的數據庫中...
![]() |
單點登錄,很多時候叫“SSO”,也就是Single-Sign-On的縮寫,翻譯過來就是“單點登錄”。單點登錄,是一種身份認證方式。大白話就是:用戶只需一次登錄,即可訪問多個相互信任的應用系統,這就是“單點登錄”。還是舉一個例子,比如:你在阿里登錄了一子系統,這個時候,你就不需要“重復登錄”。如下圖所示:登錄一次后,你就...
![]() |