2025系統架構師(一考就過):案例之三:架構風格總結

在這里插入圖片描述
在這里插入圖片描述

軟件架構風格是描述某一特定應用領域中系統組織方式的慣用模式,按照軟件架構風格,物聯網系統屬于( )軟件架構風格。

A:層次型

B:事件系統

C:數據線

D:C2

答案:A

解析

物聯網分為多個層次,一般有感知層、網絡層、應用層等

◆軟件體系結構風格是描述某一特定應用領域中系統組織方式的慣用模式。架構風格定義一個系統家族,即一個架構定義、一個詞匯表和一組約束。詞匯表中包含一些構件和連接件類型,而這組約束指出系統是如何將這些構件和連接件組合起來的。
◆架構風格反映了領域中眾多系統所共有的結構和語義特性,并指導如何將各個模塊和子系統有效地組織成一個完整的系統。對軟件架構風格的研究和實踐會促進對設計的重用,一些經過實踐證實的解決方案也可以可靠地用于解決新的問題。
◆架構設計的一個核心問題是能否達到架構級的軟件復用。
◆架構風格定義了用于描述系統的術語表和一組指導構建系統的規則

◆數據流風格:面向數據流,按照一定的順序從前向后執行程序,代表的風格有批處理序列、管道-過濾器
◆調用/返回風格: 構件之間存在互相調用的關系,一般是顯式的調用,代表的風格有 主程序/子程序、面向對象、層次結構
◆獨立構件風格: 構件之間是互相獨立的,不存在顯式的調用關系,而是通過某個事件觸發、異步的方式來執行,代表的風格有 進程通信、事件驅動系統(隱式調用)
◆虛擬機風格: 自定義了一套規則供使用者使用,使用者基于這個規則來開發構件,能夠跨平臺適配,代表的風格有 解釋器、基于規則的系統
◆倉庫風格: 以數據為中心,所有的操作都是圍繞建立的數據中心進行的,代表的風格有 數據庫系統、超文本系統、黑板系統

軟件體系結構風格是描述某一特定應用領城中系統組織方式的慣用模式。其中,在批處理風格軟件體系結構中,每個處理步驟是一個單獨的程序,每一步必須在前一步結束后才能開始,并且數據必須是完整的,以(1)的方式傳遞,基于規則的系統包括規則集、規則解釋器、規則/數據選擇器及(2)。

1-A:迭代 1-B:整體

1-C:統一風格 1-D:遞增

2-A:解釋內存 2-B:虛擬機

2-C:數據 2-D:工作內存

答案:1-B、2-D

解析:

批處理風格:

  1. 每個處理步驟是一個單獨的程序;
  2. 每一步必須在前一步結束后才能開始;
  3. 數據必須是完整的;
  4. 以整體的方式傳遞。

基于規則的系統包括規則集、規則解釋器、規則/數據選擇器及工作內存,一般用于人工智能和決策支持系統中。

1、數據流風格

數據流風格
◆批處理序列: 構件為一系列固定順序的計算單元,構件之間只通過數據傳遞交互。每個處理步驟是一個獨立的程序,每一步必須在其前一步結束后才能開始,數據必須是完整的,以整體的方式傳遞。

◆管道-過濾器: 每個構件都有一組輸入和輸出,構件讀取輸入的數據流,經過內部處理,產生輸出數據流。前一個構件的輸出作為后一個構件的輸入,前后數據流關聯。過濾器就是構件,連接件就是管道。

早期編譯器就是采用的這種架構(數據流),要一步一步處理的,均可考慮此架構風格
◆二者區別在于批處理前后構件不一定有關聯,并且是作為整體傳遞,即必須前一個執行完才能執行下一
管道-過濾器是前一個輸出作為后一個輸入,前面執行到部分可以開始下一個的執行。

批處理:必須是一件一件的處理,先處理第一件,然后第二件,然后第三件…,前一件結束了,下一件才能開始。

? 構件1、構件2、構件3…它們是一個整體。

管道-過濾器:比如流媒體,邊看變緩存、邊看邊下載的這種方式就是管道過濾器;而必須先下載完才能看的這是批處理。這里就可以把緩存和看視頻看成兩個構件。

構件可以理解為一個功能,一個類模塊…

2、調用/返回風格

調用/返回風格
◆主程序/子程序: 單線程控制,把問題劃分為若干個處理步驟,構件即為主程序和子程序,子程序通常可合成為模塊。過程調用作為交互機制,充當連接件的角色。
◆面向對象: 構件是對象,對象是抽象數據類型的實例。連接件即是對象間交互的方式,對象是通過函數和過程的調用來交互的。
◆層次結構: 構件組成一個層次結構,連接件通過決定層間如何交互的協議來定義。每層為上一層提供服務,使用下一層的服務,只能見到與自己鄰接的層。修改某一層,最多影響其相鄰的兩層(通常只能影響上層)。
◆層次結構優點:
1、支持基于可增加抽象層的設計,允許將一個復雜問題分解成一個增量步驟序列的實現。
2、不同的層次處于不同的抽象級別,越靠近底層,抽象級別越高。
3、由于每一層最多只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現,同樣為軟件復用提供了強大的支持。
◆缺點:
1、并不是每個系統都可以很容易的劃分為分層的模式
2、很難找到一個合適的、正確的層次抽象方法

越靠近底層,抽象級別越高。 的意思是 越底層,越跟業務關系不大,越偏向通用的數據結構、通用的算法等。

1、層次架構風格
1、兩層 C/S架構

◆兩層C/S架構: 客戶端和服務器都有處理功能,現在已經不常用,原因有:開發成本較高、客戶端程序設計復雜、信息內容和形式單一、用戶界面風格不一、軟件移植困難、軟件維護和升級困難、新技術不能輕易應用、安全性問題、服務器端壓力大難以復用。

在這里插入圖片描述

這里表示層為客戶端;數據層為服務端。

2、三層C/S架構

表示層負責用戶接口;

功能層(業務邏輯層)負責功能處理;

數據層負責數據持久存儲;

◆三層C/S架構:將 處理功能獨立出來,表示層和數據層都變得簡單。 表示層在客戶機上,功能層在應用服務器上,數據層在數據庫服務器上。即將兩層C/S架構中的數據從服務器中獨立出來了。其優點下面四點:
各層在邏輯上保持相對獨立,整個系統的邏輯結構更為清晰,能提高系統和軟件的可維護性和可擴展性;
◆允許 靈活有效的選用相應的平臺和硬件系統,具有良好的可升級性和開放性
◆各層可以 并行開發,各層也可以選擇各自最適合的開發語言
◆功能層有效的隔離表示層與數據層,為嚴格的安全管理奠定了堅實的基礎, 整個系統的管理層次也更加合理和可控制
◆三層C/S架構設計的關鍵在于各層之間的通信效率,要慎重考慮三層間的通信方法、通信頻度和數據量,否則即使分配給各層的硬件能力很強,性能也不高。

在這里插入圖片描述

3、三層B/S架構

◆三層B/S架構是三層C/S架構的變種,將客戶端變為用戶客戶端上的瀏覽器,將應用服務器變為網絡上的WEB服務器,又稱為0客戶端架構,雖然不用開發客戶端,但有很多缺點:
◆B/S架構缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理功能
◆安全性難以控制;
◆在數據查詢等響應速度上,要遠遠低于C/S架構:
◆數據提交一般以頁面為單位,數據的動態交互性不強,不利于OLTP應用

4、混合架構風格

◆混合架構風格
內外有別模型:企業內部使用C/S,外部人員訪問使用B/S.
查改有別模型:采用B/S查詢,采用C/S修改。
混合架構實現困難,且成本高。

5、富互聯網應用RIA(即小程序)

富互聯網應用RIA
◆彌補三層B/S架構存在的問題,RIA是一種用戶接口,比用HTML實現的接口
更加健壯,且有可視化內容,本質還是網站模式,其優點如下:
◆RIA結合了C/S架構反應速度快、交互性強的優點與B/S架構傳播范圍廣及容易傳播的特性;
◆RIA簡化并改進了B/S架構的用戶交互
數據能夠被緩存在客戶端,從而可以實現一個比基于HTML的響應速度更快且數據往返于服務器的次數更少的用戶界面。
本質還是0客戶端,借助于高速網速實現必要插件在本地的快速緩存。增強頁面對動態頁面的支持能力,典型的如小程序。

6、MVC 架構

MVC架構
(1)控制器(Controller):是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。
(2)模型(Model):是應用程序中用于處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。模型表示業務數據和業務邏輯。
(3)視圖(View):是應用程序中處理數據顯示的部分。通常視圖是依據模型數據創建的。是用戶看到并與之交互的界面。視圖向用戶顯示相關的數據,并能接收用戶的輸入數據,但是它并不進行任何實際的業務處理:

在這里插入圖片描述

7、MVP 架構

MVP:MVP是把MVC中的Controller換成了Presenter(呈現),目的就是為了完全切斷view跟Model之間的聯系,由Presenter充當橋梁,做到View-Model之間通信的完全隔離。
MVP特點:
1、M、V、P之間雙向通信
2、View與 Model不通信,都通過 Presenter傳遞。Presenter完全把Model和View進行了分離,主要的程序邏輯在Presenter里實現:
3、View 非常薄,不部署任何業務邏輯,稱為”被動視圖”(PassiveView)。即沒有任何主動性,而 Presenter非常厚,所有邏輯都部署在那里
4、Presenter與具體的View是沒有直接關聯的,而是通過定義好的接口進行交互,從而使得在變更View時候可以保持Presenter的不變,這樣就可以重用。

在這里插入圖片描述

這里 MVP 架構雷同于 三層C/S架構。

8、MVVM

MVVM:MVVM模式和MVC模式類似,主要目的是分離視圖(View)和模型(Model),有幾大優點:
1、低耦合,視圖(View)可以獨立于Model變化和修改,ViewModel可以綁定到不同的”View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
2、可重用性,可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。
3、獨立開發,開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計。
4、可測試,界面向來是比較難于測試的,而現在測試可以針對ViewModel來寫。

在這里插入圖片描述

3、獨立構件風格

◆進程通信: 構件是獨立的進程,連接件是消息傳遞。構件通常是命名過程,消息傳遞的方式可以是點對點、異步或同步方式,以及遠程過程(方法)調用(RPC)等。
◆事件驅動系統(隱式調用): 構件不直接調用一個過程,而是觸發或廣播一個或多個事件。構件中的過程在一個或多個事件中注冊,當某個事件被觸發時系統自動調用在這個事件中注冊的所有過程。一個事件的觸發就導致了另一模塊中的過程調用。這種風格中的構件是匿名的過程,它們之間交互的連接件往往是以過程之間的隱式調用來實現的。典型的比如:中斷。
◆主要優點是為軟件復用提供了強大的支持,為構件的維護和演化帶來了方便;缺點是構件放棄了對系統計算的控制(因為是隱式控制,只能被動控制)。

4、虛擬機風格

虛擬機風格
◆解釋器: 通常包括一個完成解釋工作的解釋引擎、一個包含將被解釋的代碼的存儲區、一個記錄解釋引擎當前工作狀態的數據結構,以及一個記錄源代碼被解釋執行的進度的數據結構。具有解釋器風格的軟件中含有一個虛擬機,可以仿真硬件的執行過程和一些關鍵應用,缺點是執行效率低
◆基于規則的系統: 包括規則集、規則解釋器、、規則/數據選擇器和工作內存,一般用在人工智能領域和DSS(決策支持)中。

架構風格和設計模式:架構風格好比裝修時的整體風格,比如歐式分風格;設計模式是在這個歐式風格下,開始對每個房間進行設計(不同房間可能是歐式風格下的不同類型)。

5、倉庫風格

倉庫風格,又叫數據共享風格,它是以數據為中心的。
◆數據庫系統: 構件主要有兩大類,一類是中央共享數據源,保存當前系統的數據狀態;另一類是多個獨立處理單元,處理單元對數據元素進行操作。 數據庫系統就是常說的數據庫。
◆黑板系統: 包括知識源、黑板和控制三部分。知識源包括若干獨立計算的不同單元,提供解決問題的知識。知識源響應黑板的變化,也只修改黑板; 黑板是一個全局數據庫,包含問題域解空間的全部狀態,是知識源相互作用的唯一媒介;知識源響應是通過黑板狀態的變化來控制的。黑板系統通常應用在對于解決問題沒有確定性算法的軟件中(信號處理、問題規劃和編譯器優化等)。 黑板系統就好比老師在黑板上寫方程等知識;知識源就是老師。
◆超文本系統: 構件以網狀鏈接方式相互連接,用戶可以在構件之間進行按照人類的聯想思維方式任意跳轉到相關構件。是一種非線性的網狀信息組織方法,它以節點為基本單位,鏈作為節點之間的聯想式關聯。通常應用在互聯網領域。HTTP 就是超文本協議。
現代編譯器的集成開發環境一般采用數據倉庫(即以數據為中心的架構風格)架構風格進行開發,其中心數據就是程序的語法樹。

6、閉環控制

當軟件被用來操作一個物理系統時,軟件與硬件之間可以粗略的表示為一個反饋循環,這個反饋循環通過接受一定的輸入,確定一系列的輸出,最終使環境達到一個新的狀態,適合于嵌入式系統,涉及連續的動作與狀態,

在這里插入圖片描述

比如典型的就是:空調。當前空調是30°,然后立即調到26°,此時房間的溫度會慢慢的降到26°,而不會立即使房間降到26°。這個過程中空調會不斷地調整冷氣量等(不斷地反饋),直到房間溫度基本維持在26°。

比如典型的:汽車的自適應巡航。

7、C2 風格

C2體系結構風格可以概括為: 通過連接件綁定在一起的按照一組規則運作的并行構件網絡。 C2風格中的系統組織規則如下:
(1)系統中的構件和連接件都有一個頂部和一個底部;
(2)構件的頂部應連接到某連接件的底部,構件的底部則應連接到某連接件的頂部,而構件與構件之間的直接連接是不允許的;
(3)一個連接件可以和任意數目的其它構件和連接件連接;
(4)當兩個連接件進行直接連接時,必須由其中一個的底部到另一個的頂部,

在這里插入圖片描述

架構風格名常考關鍵字及實例簡介
數據流-批處理傳統編譯器,每個階段產生的一個接一個,以整體為單位
數據流-管道-過濾器結果作為下一個階段的輸入,
區別在于整體。
一個接一個,前一個輸出是后一個輸入。
調用/返回-主程序/子程序顯示調用,主程序直接調用子程序。
調用/返回-面向對象對象是構件,通過對象調用封裝的方法和屬性。
調用/返回-層次結構分層,每層最多影響其上下兩層,有調用關系。
獨立構件-進程通信進程間獨立的消息傳遞,同步異步
獨立構件-事件驅動
(隱式調用)
事件觸發推動動作,如程序語言的語法高亮、語法錯誤提示不直接調用,通過事件驅動。
虛擬機-解釋器自定義流程,按流程執行,規則隨時改變,靈活定義,業務靈活組合。
機器人。
解釋自定義的規則,解釋引擎、存儲區、數據結構。執行效率低
虛擬機-規則系統自定義流程,按流程執行,規則隨時改變,靈活定義,業務靈活組合。
機器人。
規則集、規則解釋器、選擇器和工作內存,用于 DSS 和人工智能、專家系統。
倉庫-數據庫現代編譯器的集成開發環境IDE,以數據為中心。又稱為數據共享風格中央共享數據源,獨立處理單元。
倉庫-超文本庫現代編譯器的集成開發環境IDE,以數據為中心。又稱為數據共享風格網狀鏈接,多用于互聯網。
倉庫-黑板現代編譯器的集成開發環境IDE,以數據為中心。又稱為數據共享風格語音識別、知識推理等問題復雜、解空間很大、求解過程不確定的這一類軟件系統,黑板、知識源、控制。
閉環-過程控制汽車巡航定速,空調溫度調節設定參數,并不斷調整發出控制命令并接受反饋,循環往復達到平衡。
C2 風格構件和連接件、頂部和底部通過連接件綁定在一起按照一組規則運作的并行構件網絡。
8、面向服務的架構風格

◆SOA是一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通信,不涉及底層編程接口和通信模型。
◆在SOA中,服務是一種為了滿足某項業務需求的操作、規則等的邏輯組合,它包含一系列有序活動的交互,為實現用戶目標提供支持。
◆SOA并不僅僅是一種開發方法,還具有管理上的優點,管理員可直接管理開發人員所構建的相同服務。多個服務通過企業服務總線提出服務請求,由應用管理來進行處理,如下:

粗粒度:就是功能包含的越來越多;松耦合:就是服務之間是相互分離的

在這里插入圖片描述

ESB 服務總線:比如服務1要調用服務2、服務3,而服務2又調用了服務3、服務4。不使用服務總線時,一般會想著直接在服務1里調用服務2、服務3,但是服務1調用的服務2、服務3中,服務2又同時調用了服務3、服務4,這個時候都在服務內部調用就比較麻煩、繁瑣了。而服務總線就是將所有服務都掛在上面,任何服務想要調用別的服務,就要先給服務總線發消息,然后由服務總線轉發消息給要調用的服務,進而調用對應服務。

這樣就從原本的服務1里調用服務2、服務3這樣的多對多變成了服務1發消息給服務總線,服務總線發消息給要調用的服務變成了一對多。

◆實施SOA的關鍵目標是實現企業IT資產重用的最大化,在實施SOA過程中要牢記以下特征:可從企業外部訪問、隨時可用(服務請求能被及時響應)、粗粒度接口(粗粒度提供一項特定的業務功能,而細粒度服務代表了技術構件方法)、服務分級、松散耦合(服務提供者和服務使用者分離)、可重用的服務及服務接口設計管理、標準化的接口(WSDL、SOAP、XML是核心)、支持各種消息模式、精確定義的服務接口。
◆從基于對象到基于構件再到基于服務,架構越來越松散耦合,粒度越來越粗,接口越來越標準。
◆基于服務的構件與傳統構件的區別有四點:
①服務構件粗粒度,傳統構件細粒度居多;
②服務構件的接口是標準的,主要是WSDL接口,而傳統構件常以具體API形式出現;
③服務構件的實現與語言是無關的,而傳統構件常綁定某種特定的語言,
④服務構件可以通過構件容器提供QoS的服務,而傳統構件完全由程序代碼直接控制。

SOA 中應用的關鍵技術如下表:

功能協議
發現服務UDDI、DISCO
描述服務WSDL、XML Schema
消息格式層SOAP、REST
編碼格式層XML(DOM,SAX)
傳輸協議層HTTP、TCP/IP、SMTP等

◆UDDI: 是一套基于WEB的、分布式的、為Webservice提供的、信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Webservice注冊,以使別的企業能夠發現的訪問協議的實現標準,用于WEB服務注冊統一描述、發現及集成。
◆WSDL(Web Service描述語言): 將Web服務描述定義為一組服務訪問點,客戶端可以通過這些服務訪問點對包含面向文檔信息或面向過程調用的服務進行訪問(類似遠程調用),用于描述服務。
◆SOAP(簡單對象訪問協議): 是用于交換XML編碼信息的輕量級協議,用于傳遞信息,實現 Web 服務的遠程調用。
◆XML(可擴展標記語言): 是WebService平臺中表示數據的基本格式,用于數據交換

◆BPEL(面向Web服務的業務流程執行語言):用于將分散的、功能單一的 Web 服務組織成一個復雜的有機應用。使用BPEL,用戶可以通過組合、編排和協調Web服務自上而下實現面向服務的體系結構(SOA)。BPEL提供了一種相對簡單易懂的方法,可將多個Web服務組合到一個新的復合服務(稱作業務流程)中。

1、SOA 的三種實現方式
1、WEB Service

服務提供者、服務注冊中心(中介,提供交易平臺,可有可無)、服務請求者。服務提供者將服務描述發布到服務注冊中心,供服務請求者查找,查找到后,服務請求者將綁定查找結果。如圖:

在這里插入圖片描述

2、服務注冊表

(1)服務注冊: 應用開發者(服務提供者)在注冊表中公布服務的功能。
(2)服務位置: 服務使用者(服務應用開發者),幫助他們查詢注冊服務,尋找符合自身要求的服務。
(3)服務綁定: 服務使用者利用檢索到的服務接口來編寫代碼,所編寫的代碼將與注冊的服務綁定,調用注冊的服務,以及與它們實現互動。

3、ESB

◆企業服務總線ESB:簡單來說是一根管道,用來連接各個服務節點。 ESB的存在是為了集成基于不同協議的不同服務,
ESB 做了消息的轉化、解釋以及路由的工作,以此來讓不同的服務互聯互通。

◆包括: 客戶端(服務請求者)、基礎架構服務(中間件)、核心集成服務(提供服務)

◆ESB的特點:

1、SOA的一種實現方式,ESB在面向服務的架構中起到的是總線作用,將各種服務進行連接與整合;
2、描述服務的元數據和服務注冊管理
3、在服務請求者和提供者之間傳遞數據,以及對這些數據進行轉換的能力,并支持由實踐中總結出來的一些模式如同步模式、異步模式等:
4、發現、路由、匹配和選擇的能力,以支持服務之間的動態交互,解耦服務請求者和服務提供者。高級一些的能力,包括對安全的支持、服務質量保證、可管理性和負載平衡等。

在這里插入圖片描述

面向服務系統構建過程中,()用于實現Web服務的遠程調用,()用來將分散的、功能單一的Web服務組織成一個復雜的有機應用。
A.UDDl(Universal Description, Discovery and Integration)
B.WSDL(Web Service Description Language)
C.SOAP(Simple Object Access Protocol)
D.BPEL(Business Process Execution Language)

A.UDDl(Universal Description, Discovery and Integration)
B.WSDL(Web Service Description Language)
C.SOAP(Simple Object Access Protocol)
D.BPEL(Business Process Execution Language)

答案:C、D

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896437.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896437.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896437.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據如何安全“過橋”?分類分級與風險評估,守護數據流通安全

信息化高速發展,數據已成為企業的核心資產,驅動著業務決策、創新與市場競爭力。隨著數據開發利用不斷深入,常態化的數據流通不僅促進了信息的快速傳遞與共享,還能幫助企業快速響應市場變化,把握商業機遇,實…

Docker數據卷操作實戰

什么是數據卷 數據卷 是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性: 數據卷 可以在容器之間共享和享用對 數據卷 的修改立馬生效對 數據卷 的更新,不會影響鏡像數據卷 默認會一直存在,即時容器被…

kafka stream對比flink

Kafka Streams 和 Apache Flink 雖然都支持實時計算,但它們的定位、架構和適用場景存在顯著差異。選擇哪一個取決于具體的需求、場景和技術棧。以下是兩者的核心區別和適用場景分析: 1. 定位與架構差異 Kafka Streams 定位:輕量級庫&#x…

二叉樹的先序、中序和后序 【刷題反思】

1. 已知中序和后序,求前序 1.1 題目 題目描述:給一棵二叉樹的中序和后序排列,求它的先序排列。 輸入描述:共兩行,均為大寫字母組成的字符串,分別表示一棵二叉樹的中序和后序 輸入:BADC BDCA…

華宇TAS應用中間件與統信最新版本操作系統完成兼容互認證

近日,華宇TAS應用中間件與統信服務器操作系統經過技術迭代與優化,在原先UOS V20的基礎上完成了UOS V25的兼容互認證。此次認證涵蓋了眾多主流的國產CPU平臺,包括鯤鵬920、飛騰FT2000/64、飛騰騰云S2500等。 經過嚴格測試,雙方產品…

Docker 搭建 Redis 數據庫

Docker 搭建 Redis 數據庫 前言一、準備工作二、創建 Redis 容器的目錄結構三、啟動 Redis 容器1. 通過 redis.conf 配置文件設置密碼2. 通過 Docker 命令中的 requirepass 參數設置密碼 四、Host 網絡模式與 Port 映射模式五、檢查 Redis 容器狀態六、訪問 Redis 服務總結 前言…

35. Spring Boot 2.1.3.RELEASE 應用監控【監控信息可視化】

在 Spring Boot 2.1.3.RELEASE 中實現監控信息可視化可以通過多種方式,下面為你詳細介紹使用 Spring Boot Actuator 結合 Grafana 和 Prometheus 以及使用 Spring Boot Admin 這兩種常見方法。 方法一:Spring Boot Actuator Grafana Prometheus 1. 添…

服務器間遷移conda環境

注意:可使用遷移miniconda文件 or 遷移yaml文件兩種方式,推薦前者,基本無bug! 一、遷移miniconda文件: 拷貝舊機器的miniconda文件文件到新機器: 內網拷貝:scp -r mazhf192.168.1.233:~/miniconda3 ~/ 外…

在VSCode中安裝jupyter跑.ipynb格式文件

個人用vs用的較多,不習慣在瀏覽器單獨打開jupyter,看著不舒服,直接上教程。 1、在你的環境中pip install ipykernel 2、在vscode的插件中安裝jupyter擴展 3、安裝擴展后,打開一個ipynb文件,并且在頁面右上角配置內核 …

20250223下載并制作RTX2080Ti顯卡的顯存的測試工具mats

20250223下載并制作RTX2080Ti顯卡的顯存的測試工具mats 2025/2/23 23:23 緣起:我使用X99的主板,使用二手的RTX2080Ti顯卡【顯存22GB版本,準備學習AI的】 但是半年后發現看大碼率的視頻容易花屏,最初以為是WIN10經常更換顯卡/來回更…

WordPress R+L Carrier Edition sql注入漏洞復現(CVE-2024-13481)(附腳本)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

深入了解 NAT 模式:網絡地址轉換的奧秘

深入了解 NAT 模式:網絡地址轉換的奧秘 在計算機網絡的世界里,NAT 模式(Network Address Translation,網絡地址轉換)扮演著至關重要的角色。它就像是網絡中的翻譯官,在不同網絡地址之間進行轉換&#xff0…

Git版本控制系統---本地操作(萬字詳解!)

目錄 git基本配置 認識工作區、暫存區、版本庫 添加文件--情況一: 添加文件-情況二: 修改文件: 版本回退: git基本配置 1.初始化本地倉庫,注意:一定要在一個目錄下進行,一般都是新建一個文件夾,在文件…

Jupyter Notebook切換虛擬環境(Kernel管理)

我們在使用Jupyter Notebook的時候,打開文件發現只有一個Python3(ipykernel),我們自己在conda中創建的虛擬環境為什么沒有顯示出來,今天我就來和大家一起討論一下! 在 Jupyter Notebook 中,kernel 是執行代碼的核心。管…

【網絡安全】常見的web攻擊

1、SQL注入攻擊 定義: 攻擊者在HTTP請求中注入惡意的SQL代碼,當服務器利用參數構建SQL語句的時候,惡意的SQL代碼被一起構建,并在數據庫中執行。 示例: 用戶登錄: 輸入用戶名xx, 密碼 or 1 …

Java基礎關鍵_012_包裝類

目 錄 一、基本數據類型對應的包裝類 1.概覽 2.說明 二、包裝類 1.最大值與最小值 2.構造方法 3.常用方法(Integer為例) (1)compare(int x, int y) (2)max(int a, int b) 和 min(int a, int b) &…

MacPorts 創建自定義 Portfile 安裝 RoadRunner

Portfile 放 ~/Ports/net/roadrunner-server 下: # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fencutf-8:fttcl:et:sw4:ts4:sts4PortSystem 1.0name roadrunner-server version 202…

【Java 面試 八股文】JVM 虛擬機篇

JVM 虛擬機篇 1. JVM組成1.1 JVM由那些部分組成,運行流程是什么?1.2 什么是程序計數器?1.3 你能給我詳細的介紹Java堆嗎?1.4 Java 虛擬機棧1.4.1 Java Virtual machine Stacks (java 虛擬機棧)1.4.2 棧和堆的區別1.4.3 垃圾回收是否涉及棧內…

MFC學習筆記-1

一、編輯框和按鈕 //.h文件private:CString str;//給窗口類加了一個變量(定義一個成員變量),關聯到IDC_EDIT1中(要在實現中關聯,源文件文件夾中)CString str2;//接收button2,和IDC_EDIT2綁定 p…

QT 引入Quazip和Zlib源碼工程到項目中,無需編譯成庫,跨平臺,加密壓縮,帶有壓縮進度

前言 最近在做項目時遇到一個需求,需要將升級的文件壓縮成zip,再進行傳輸; 通過網絡調研,有許多方式可以實現,例如QT私有模塊的ZipReader、QZipWriter;或者第三方庫zlib或者libzip或者quazip等&#xff1…