NAT 代理服務 內網穿透

🌈 個人主頁:Zfox_
🔥 系列專欄:Linux

目錄

  • 一:🔥 NAT 技術背景
  • 二:🔥 NAT IP 轉換過程
  • 三:🔥 NAPT
  • 四:🔥 代理服務器
    • 🦋 正向代理
      • 概述
      • 工作原理
      • 功能特點
      • 應用場景
    • 🦋 反向代理
      • 概述
      • 基本原理
      • 應用場景
    • 🦋 NAT 和代理服務器
  • 五:🔥 內網穿透 和 內網打洞
    • 🦋 內網穿透
      • 1. 背景
        • (1)私有IP地址的限制
        • (2)NAT(網絡地址轉換)的限制
        • (3)防火墻的限制
    • 🦋 內網打洞
      • 內網打洞的工作原理
      • 內網打洞的優缺點
        • 優點:
        • 缺點:
      • 適用場景
  • 六:🔥 總結
    • 🦋 數據鏈路層
    • 🦋 網絡層
    • 🦋 傳輸層
    • 🦋 應用層
  • 七:🔥 共勉

一:🔥 NAT 技術背景

💬 今天我們來聊聊網絡世界里一個超重要的技術 —— NAT(網絡地址轉換)。你有沒有想過,為啥我們家里的電腦、手機,還有公司里的各種設備,都能同時連上網,但又不會互相沖突呢?這就得感謝 NAT

🕸? IPv4 地址不夠用,這事兒大家都清楚。NAT 就像是一個超級聰明的 “翻譯官”,它能把我們內網里的私有IP地址(比如192.168.1.x)轉換成公網能識別的全局IP地址。這樣,我們就能在有限的公網IP下,讓無數設備同時上網!

🌰 舉個例子,學校里可能有幾百臺電腦,但學校只需要一個公網IP,NAT 就能搞定這一切。公網IP必須是獨一無二的,但私有IP就隨便多了,不同的局域網里完全可以重復用,一點兒問題都沒有。

二:🔥 NAT IP 轉換過程

那么這樣在網絡通信過程中勢必會造成問題,因為私有IP并不是唯一的,所以私有IP不能出現在公網通信中的。解決這個問題的機制就是 NAT 機制。NAT 機制即在路由器進行轉發時將報文源IP更換為 路由器WAN口IP 進行一次源IP地址替換! 這樣就可以私有IP就不會出現在公網中!并且在通信過程中夠可以層層向下找到唯一的主機!

NAT IP 轉換過程

  • NAT 路由器將源地址從 10.0.0.10 替換成全局的 IP 202.244.174.37
  • NAT 路由器收到外部的數據時,又會把目標 IP 從 202.244.174.37 替換回 10.0.0.10
  • NAT 路由器內部,有一張自動生成的、用于地址轉換的表 NAPT
  • 10.0.0.10 第一次向 163.221.120.9 發送數據時就會生成表中的映射關系。

三:🔥 NAPT

🤔 那么問題來了,如果局域網內有多個主機都訪問同一個外網服務器,那么對于服務器返回的數據中,目的 IP 都是相同的。那么 NAT 路由器如何判定將這個數據包轉發給哪個局域網的主機?這時候 NAPT 來解決這個問題了。使用 IP+port 來建立這個關聯關系。

NAPT

這種關聯關系也是由 NAT 路由器自動維護的。例如在 TCP 的情況下,建立連接時就會生成這個表項;在斷開連接后,就會刪除這個表項。

路由器之中,進行轉發時,維護了一張 NAPT 轉換表。其中記錄目的 IP + 端口號portWAN口IP + 端口號port 的映射關系,互為鍵值。這兩個都具有唯一性:局域網唯一,公網唯一!源IP發生替換,源端口也可能發生替換!這樣保證了映射的唯一性!

每個路由器在轉發過程中都會生成一份NAPT 表,最終就可以到達公網進行通信!這樣其實也說明了一個問題,公網是無法直接訪問內網機器的,只有內網機器向公網發送過數據,建立過 NAPT 表,才能從外部進入內部!

所以 NAT 技術是有缺陷的,由于 NAT 依賴這個轉換表, 所以有諸多限制:

  • 無法從 NAT 外部向內部服務器建立連接。
  • 轉換表的生成和銷毀都需要額外開銷。
  • 通信過程中一旦 NAT 設備異常,即使存在熱備,所有的 TCP 連接也都會斷開。

使用 WIndows 訪問我們的 Linux 服務端時,我們仔細觀察會發現服務端接收到的IP地址和 WIndows 端是不一致的!
這也是由于路由器 NAT轉發的結果!Linux 服務上的實際獲取到的IP是出入口路由器的 WAN口IP

四:🔥 代理服務器

🦋 正向代理

概述

正向代理Forward Proxy是一種常見的網絡代理方式,它位于客戶端和目標服務器之間,代表客戶端向目標服務器發送請求。正向代理服務器接收客戶端的請求,然后將請求轉發給目標服務器,最后將目標服務器的響應返回給客戶端。通過這種方式,正向代理可以實現多種功能,如提高訪問速度、隱藏客戶端身份、實施訪問控制等。

正向代理

工作原理

  • 客戶端將請求發送給正向代理服務器。
  • 正向代理服務器接收請求,并根據配置進行處理,如緩存查找、內容過濾等。
  • 正向代理服務器將處理后的請求轉發給目標服務器。
  • 目標服務器處理請求,并將響應返回給正向代理服務器。
  • 正向代理服務器將響應返回給客戶端。

功能特點

  • 緩存功能:正向代理服務器可以緩存經常訪問的資源,當客戶端再次請求這些資源時,可以直接從緩存中獲取,提高訪問速度。
  • 內容過濾:正向代理可以根據預設的規則對請求或響應進行過濾,如屏蔽廣告、阻止惡意網站等。
  • 訪問控制:通過正向代理,可以實現對特定網站的訪問控制,如限制員工在工作時間訪問娛樂網站。
  • 隱藏客戶端身份:正向代理可以隱藏客戶端的真實 IP 地址,保護客戶端的隱私。
  • 負載均衡:在多個目標服務器之間分配客戶端請求,提高系統的可擴展性和可靠性。

應用場景

  • 企業網絡管理:企業可以通過正向代理實現對員工網絡訪問的管理和控制,確保員工在工作時間內專注于工作,避免訪問不良網站或泄露公司機密。
  • 公共網絡環境:在公共場所如圖書館、學校等提供的網絡環境中,通過正向代理可以實現對網絡資源的合理分配和管理,確保網絡使用的公平性和安全性。
  • 內容過濾與保護:家長可以通過設置正向代理來過濾不良內容,保護孩子免受網絡上的不良信息影響。
  • 提高訪問速度:對于經常訪問的網站或資源,正向代理可以通過緩存機制提高訪問速度,減少網絡延遲。
  • 跨境電商與海外訪問:對于跨境電商或需要訪問海外資源的企業和個人,正向代理可以幫助他們突破網絡限制,順暢地訪問海外網站和資源。

🦋 反向代理

概述

🛜 反向代理服務器 是一種網絡架構模式,其作為 Web 服務器的前置服務器,接收來自客戶端的請求,并將這些請求轉發給后端服務器,然后將后端服務器的響應返回給客戶端。這種架構模式可以提升網站性能、安全性和可維護性等。

反向代理

基本原理

🍑 反向代理服務器位于客戶端和 Web 服務器之間,當客戶端發起請求時,它首先會到達反向代理服務器。反向代理服務器會根據配置的規則將請求轉發給后端的 Web 服務器,并將 Web 服務器的響應返回給客戶端。在這個過程中,客戶端并不知道實際與哪個 Web 服務器進行了交互,它只知道與反向代理服務器進行了通信。

應用場景

  • 負載均衡:反向代理服務器可以根據配置的負載均衡策略,將客戶端的請求分發到多個后端服務器上,以實現負載均衡。這有助于提升網站的整體性能和響應速度,特別是在高并發場景下。
  • 安全保護:反向代理服務器可以隱藏后端 Web 服務器的真實 IP 地址,降低其被直接攻擊的風險。同時,它還可以配置防火墻、訪問控制列表(ACL)等安全策略,對客戶端的請求進行過濾和限制,以保護后端服務器的安全。
  • 緩存加速:反向代理服務器可以緩存后端 Web 服務器的響應內容,對于重復的請求,它可以直接從緩存中返回響應,而無需再次向后端服務器發起請求。這可以大大減少后端服務器的負載,提升網站的響應速度。
  • 內容過濾和重寫:反向代理服務器可以根據配置的規則對客戶端的請求進行過濾和重寫,例如添加或刪除請求頭、修改請求路徑等。這有助于實現一些特定的業務需求,如 URL 重寫、用戶認證等。
  • 動靜分離:在大型網站中,通常需要將靜態資源和動態資源分開處理。通過將靜態資源部署在反向代理服務器上,可以直接從反向代理服務器返回靜態資源的響應,而無需再次向后端服務器發起請求。這可以大大提升靜態資源的訪問速度。
  • CDN(Content Delivery Network,內容分發網絡):就是采用了反向代理的原理。

🦋 NAT 和代理服務器

🍑 路由器往往都具備 NAT 設備的功能,通過 NAT 設備進行中轉,完成子網設備和其他子網設備的通信過程。代理服務器看起來和 NAT 設備有一點像。客戶端像代理服務器發送請求,代理服務器將請求轉發給真正要請求的服務器;服務器返回結果后,代理服務器又把結果回傳給客戶端。

那么 NAT 和代理服務器的區別有哪些呢?

  • 從應用上講NAT 設備是網絡基礎設備之一,解決的是 IP 不足的問題。代理服務器則是更貼近具體應用,比如通過代理服務器進行翻墻,另外像迅游這樣的加速器,也是使用代理服務器。
  • 從底層實現上講NAT 是工作在網絡層,直接對 IP 地址進行替換。代理服務器往往工作在應用層。
  • 從使用范圍上講NAT 一般在局域網的出口部署,代理服務器可以在局域網做,也可以在廣域網做,也可以跨網。
  • 從部署位置上看NAT 一般集成在防火墻、路由器等硬件設備上,代理服務器則是一個軟件程序,需要部署在服務器上。

代理服務器是一種應用比較廣的技術:

  • 翻墻:廣域網中的代理。
  • 負載均衡:局域網中的代理。

代理服務器又分為正向代理和反向代理:

  • 正向代理:用于請求的轉發(例如借助代理繞過反爬蟲)。
  • 反向代理:往往作為一個緩存。

五:🔥 內網穿透 和 內網打洞

🦋 內網穿透

內網穿透是一種網絡技術,用于解決內網設備與外部網絡之間通信的問題。它可以讓外部設備訪問內網中的設備或服務,而無需直接暴露內網設備的IP地址,從而在一定程度上兼顧了安全性和可訪問性。

1. 背景

在大多數網絡環境中,內網設備(如家庭路由器內的設備、公司內部網絡中的服務器等)通常被隱藏在路由器或防火墻之后,無法直接從外部網絡訪問。這主要是由于以下原因:

(1)私有IP地址的限制

內網設備通常使用私有IP地址(如192.168.x.x),這些地址只能在局域網內使用,無法在公網中直接訪問。私有IP地址的范圍包括:

  • 10.0.0.010.255.255.255
  • 172.16.0.0172.31.255.255
  • 192.168.0.0192.168.255.255

這些地址在互聯網中是不可路由的,因此外部設備無法直接通過這些地址訪問內網設備。

(2)NAT(網絡地址轉換)的限制

內網設備通過路由器訪問外網時,路由器會將內網設備的私有IP地址轉換為公網IP地址(即路由器的WAN口IP)。這個過程稱為網絡地址轉換(NAT)。NAT的作用是:

  • 節省內公網IP地址資源。
  • 保護內網設備的安全性。

然而,NAT機制也導致了外部設備只能看到路由器的公網IP,而無法直接訪問內網設備的私有IP。

(3)防火墻的限制

防火墻是網絡中的安全屏障,通常會阻止外部設備直接訪問內網設備,以保護內網的安全。防火墻的作用包括:

  • 阻止未經授權的訪問。
  • 過濾惡意流量。
  • 保護內網設備免受攻擊。

防火墻的限制進一步增加了內網設備對外部訪問的難度。

內網穿透

如果今天可以做到:

首先我們擁有一臺云服務器,并且在內網構建一臺 Linux 機器,使用 22 端口部署了一個 SSH 服務,可以與云服務器建立連接。云服務器也部署一個服務,可以將機器上所有 8888 端口獲取的數據轉發到內網的 Linux 服務器上。這樣,云服務器的 8888 端口與內網服務器的 22 端口就建立了映射。那么其他內網的機器可以通過訪問云服務器的8888 端口直接訪問到內網的 Linux 機器。這叫做 內網穿透技術

我們可以在云服務器上使用 frp 軟件進行內網穿透服務:

  • 服務器:擁有一臺具有公網IP地址的服務器,作為 FRP 的服務端。
  • 客戶端:需要穿透的內網機器,作為 FRP 的客戶端。

為什么要進行內網穿透呢?內網穿透有以下優點:

  • 成本效益:內網穿透可以避免購買服務器公網IP地址的高昂成本,同時也能實現公網服務的功能。
  • 訪問限制:由于 NAT(網絡地址轉換)和防火墻的存在,內網中的設備通常無法直接從外網訪問。內網穿透技術可以幫助繞過這些限制,使得內網服務可以被外網訪問。
  • 資源共享:內網穿透使得個人或企業可以將其內網中的資源(如文件服務器、Web服務、數據庫等)分享給外網的用戶,而無需復雜的網絡配置。
  • 遠程管理:系統管理員可以通過內網穿透技術,從外部網絡遠程管理內網中的服務器或設備,方便進行維護和監控。可以實現遠程訪問公司服務器進行辦公。
  • 開發與測試:開發者可以在內網環境中開發應用程序,并通過內網穿透技術讓外網的測試人員或合作伙伴訪問,以便進行測試和反饋。
  • 安全性:內網穿透可以提供一種更安全的遠程訪問方式。通過配置,可以限制哪些外部地址可以訪問內網服務,從而保護內網資源不被未經授權的訪問。

🦋 內網打洞

在上述場景中,客戶端最終被云服務器獲取的源IP是出入口路由器的 WAN口IP 。服務端通過配置會有內網服務器的 IP地址端口號。那么,可不可以將服務端的 IP+port 發給客戶端,客戶端的 IP+port 發給服務端呢?

答案是可以的。這樣客戶端就可以直接向內網服務器進行訪問,服務端也可以直接給客戶端發送數據。這種技術就叫做 內網打洞!這種方式直接跨過了云服務器,在出入口路由器上打了一個洞,可以直接進行訪問。

內網打洞

內網打洞的工作原理

  1. 信息交換

    • 客戶端和服務端通過云服務器交換彼此的 WAN口IP端口號
    • 云服務器作為中介,將客戶端的 IP+port 發送給服務端,同時將服務端的 IP+port 發送給客戶端。
  2. 建立直接連接

    • 客戶端和服務端分別使用對方的 IP+port 嘗試建立直接連接。
    • 由于雙方的 WAN口IP端口號 已經交換,路由器會允許這種直接通信。
  3. 繞過云服務器

    • 一旦直接連接建立成功,客戶端和服務端就可以繞過云服務器,直接進行數據傳輸。
    • 這種方式不僅減少了云服務器的負載,還提高了數據傳輸的效率。

內網打洞的優缺點

優點:
  • 高效性:直接通信減少了中間環節,提高了數據傳輸速度。
  • 降低成本:減少了對云服務器的依賴,降低了帶寬和計算資源的消耗。
  • 靈活性:適用于需要頻繁通信的場景,如實時音視頻傳輸、在線游戲等。
缺點:
  • 路由器限制:部分路由器可能不支持 NAT 打洞,導致無法建立直接連接。
  • 安全性問題:直接暴露 WAN口IP端口號 可能增加被攻擊的風險。
  • 復雜性:實現內網打洞需要對網絡協議有較深的理解,且調試和維護成本較高。

適用場景

  • P2P 網絡:如文件共享、區塊鏈網絡等。
  • 實時通信:如視頻會議、在線游戲等。
  • 物聯網設備:設備之間需要直接通信的場景。

需要注意的是,一些出入口路由器可能不允許進行內網打洞。這里我們只需要了解其原理即可。

六:🔥 總結

🦋 數據鏈路層

  • 數據鏈路層的作用:兩個設備(同一種數據鏈路節點)之間進行傳遞數據。
  • 以太網:是一種技術標準;既包含了 數據鏈路層 的內容,也包含了一些 物理層 的內容。例如:規定了網絡拓撲結構、訪問控制方式、傳輸速率等。
  • 以太網幀格式
  • 理解 MAC 地址
  • 理解 ARP 協議
  • 理解 MTU

🦋 網絡層

  • 網絡層的作用:在復雜的網絡環境中確定一個合適的路徑。
  • 理解 IP 地址:理解 IP 地址MAC 地址的區別。
  • 理解 IP 協議格式
  • 了解網段劃分方法
  • 理解如何解決 IP 數目不足的問題:掌握網段劃分的兩種方案。理解私有 IP公網 IP
  • 理解網絡層的 IP 地址路由過程:理解一個數據包如何跨越網段到達最終目的地。
  • 了解 IP 數據包分包的原因
  • 了解 ICMP 協議
  • 了解 NAT 設備的工作原理

🦋 傳輸層

  • 傳輸層的作用:負責數據能夠從發送端傳輸到接收端。
  • 理解 端口號的概念
  • 認識 UDP 協議:了解 UDP 協議的特點。
  • 認識 TCP 協議:理解 TCP 協議的可靠性。理解 TCP 協議的狀態轉化。
  • 掌握 TCP 的連接管理:確認應答、超時重傳、滑動窗口、流量控制、擁塞控制、延遲應答、捎帶應答特性。
  • 理解 TCP 面向字節流:理解粘包問題和解決方案。
  • 能夠基于 UDP 實現可靠傳輸
  • 理解 MTUUDP/TCP 的影響

🦋 應用層

  • 應用層的作用:滿足我們日常需求的網絡程序,都在應用層。
  • 能夠根據自己的需求:設計應用層協議。
  • 了解 HTTP 協議
  • 理解 DNS 的原理和工作流程

七:🔥 共勉

🎆 🧨 fq 草圖講解 彩蛋:
在這里插入圖片描述

😋 以上就是我對 NAT & 代理服務 & 內網穿透 的理解, 覺得這篇博客對你有幫助的,可以點贊收藏關注支持一波~ 😉
在這里插入圖片描述

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

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

相關文章

[Web 安全] PHP 反序列化漏洞 —— PHP 魔術方法

關注這個專欄的其他相關筆記:[Web 安全] 反序列化漏洞 - 學習筆記-CSDN博客 PHP 魔術方法 - 簡介 - PHP 魔術方法 - 簡單教程,簡單編程PHP 中,以兩個下劃線 ( __ ) 開頭方法稱之為 「 魔術方法 」 這些 「 魔術方法 」 在 [PHP](/l/yufei/php…

20250304在Ubuntu20.04的GUI下格式化exFAT格式的TF卡為ext4格式

20250304在Ubuntu20.04的GUI下格式化exFAT格式的TF卡為ext4格式 2025/3/4 16:47 緣起:128GB的TF卡,只能格式化為NTFS/exFAT/ext4。 在飛凌的OK3588-C下,NTFS格式只讀。 exFAT需要改內核來支持。 現在只剩下ext4了。 linux R4默認不支持exFAT…

跨域問題解釋及前后端解決方案(SpringBoot)

一、問題引出 有時,控制臺出現如下問題。 二、為什么會有跨域 2.1瀏覽器同源策略 瀏覽器的同源策略 ( Same-origin policy )是一種重要的安全機制,用于限制一個源( origin )的文檔或 腳本如何與另一個源的資源進行…

【NLP 30、文本匹配任務 —— 傳統機器學習算法】

目錄 一、文本匹配任務的定義 1.狹義解釋 2.廣義解釋 二、文本匹配的應用 1.問答對話 2.信息檢索 3.文本匹配任務應用 三、智能問答 1.智能問答的基本思路 依照基礎資源劃分: 依照答案產出方式劃分 依照NLP相關技術劃分 四、智能問答的價值 1.智能客服 2.Faq知識庫問…

開源表單、投票、測評平臺部署教程

填鴨表單聯合寶塔面板深度定制,自寶塔面板 9.2 版本開始,在寶塔面板-軟件商店中可以一鍵部署填鴨表單系統。 簡單操作即可擁有屬于自己的表單問卷系統,快速賦能業務。即使小白用戶也能輕松上手。 社區版體驗地址:https://demo.tduckapp.com/home 前端項目地址: tduck-fro…

Elasticsearch 限制索引大小與索引模板匹配沖突解決方案

文章目錄 背景介紹環境限制索引大小創建 ILM(索引生命周期管理)策略創建 ILM 策略 創建索引模板并關聯 ILM 策略使用索引模板應用 ILM 策略 解決索引模板匹配沖突? 解決方案🔹 方案 1:修改 index_patterns(推薦&#…

[LeetCode]day33 150.逆波蘭式求表達值 + 239.滑動窗口最大值

逆波蘭式求表達值 題目鏈接 題目描述 給你一個字符串數組 tokens ,表示一個根據 逆波蘭表示法 表示的算術表達式。 請你計算該表達式。返回一個表示表達式值的整數。 注意: 有效的算符為 ‘’、‘-’、‘*’ 和 ‘/’ 。 每個操作數(運…

論文閱讀筆記:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition

論文閱讀筆記:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition 1 背景2 創新點3 方法3.1 回顧softmax損失3.2 統一交叉熵損失3.3 人臉驗證中的UCE損失3.4 進一步的優化3.4.1 邊際UCE損失3.4.2 平衡BCE損失 4 實驗4.1 消融實驗4.2 和SOTA方法對比 論…

Metal學習筆記七:片元函數

知道如何通過將頂點數據發送到 vertex 函數來渲染三角形、線條和點是一項非常巧妙的技能 — 尤其是因為您能夠使用簡單的單行片段函數為形狀著色。但是,片段著色器能夠執行更多操作。 ? 打開網站 https://shadertoy.com,在那里您會發現大量令人眼花繚亂…

騰訊云 | 微搭低代碼快速開發數據表單應用

如上所示,登錄騰訊云微搭低代碼業務控制臺,開始新創建一個應用,創建應用的方式包括,根據實際的業務需求,從模版列表中選擇一個模板填入數據模型創建新應用,使用微搭組件自主設計數據模型創建新應用&#xf…

儲油自動化革命,網關PROFINET與MODBUS網橋的無縫融合,錦上添花

儲油行業作為能源供應鏈的關鍵環節,其自動化和監控系統的可靠性和效率至關重要。隨著工業4.0的推進,儲油設施越來越多地采用先進的自動化技術以提高安全性、降低成本并優化運營。本案例探討了如何通過使用穩聯技術PROFINET轉MODBUS模塊網關網橋&#xff…

【前端】JavaScript 備忘清單(超級詳細!)

文章目錄 入門介紹打印調試斷點調試數字let 關鍵字const 關鍵字變量字符串算術運算符注釋賦值運算符字符串插值字符串數字Math全局函數 JavaScript 條件操作符邏輯運算符 &&比較運算符邏輯運算符空值合并運算符 ?? if Statement (if 語句)Ternary Operator (三元運算…

Linux cat 命令

cat(英文全拼:concatenate)命令用于連接文件并打印到標準輸出設備上,它的主要作用是用于查看和連接文件。 使用權限 所有使用者 語法格式 cat [選項] [文件] 參數說明: -n:顯示行號,會在輸…

PARETO PROMPT OPTIMIZATION

題目 帕累托提示優化 論文地址:https://openreview.net/forum?idHGCk5aaSvE 摘要 自然語言迅速優化或及時工程已成為一種強大的技術,可以解鎖大型語言模型(LLMS)的各種任務的潛力。盡管現有方法主要集中于最大化LLM輸出的單一特…

前端面試題---.onChange() 事件與焦點機制解析

.onChange() 事件與焦點的總結 焦點(focus) 指的是 當前正在操作的元素(如輸入框、按鈕)。只有一個元素能同時擁有焦點。 原生 HTML 事件: onchange (需要失去焦點才觸發) 用戶輸入后&#x…

Nest系列:從環境變量到工程化實踐-2

文章目錄 [toc]一、環境搭建與基礎配置1.1 安裝驗證(新增完整示例)1.2 多環境配置示例 二、模塊化配置實戰2.1 根模塊高級配置2.2 數據庫模塊專用配置 三、配置獲取最佳實踐3.1 類型安全獲取示例3.2 枚舉工程化示例 四、高級場景示例4.1 動態配置熱更新4…

3.對象生活的地方—Java環境搭建

1、你要養魚,總得先有一個魚塘吧。挖一個魚塘來養魚,你需要去做下面這些事情: 規劃和設計:確定魚塘的位置、大小和形狀,繪制設計圖。標記和測量:使用測量工具標記魚塘的邊界和深度。挖掘:使用挖…

玩轉大模型——Trae AI IDE國內版使用教程

文章目錄 Trae AI IDE完備的 IDE 功能強大的 AI 助手 安裝 Trae 并完成初始設置管理項目什么是 “工作空間”?創建項目 管理插件安裝插件從 Trae 的插件市場安裝從 VS Code 的插件市場安裝 禁用插件卸載插件插件常見問題暫不支持安裝 VS Code 插件市場中某個版本的插…

數據結構1-4 隊列

一、隊列是什么? 先舉一個日常例子,排隊買飯。 排隊買飯 大家按先來后到的順序,在窗口前排隊買飯,先到先得,買完之后走開,輪到下一位買,新來的人排在隊尾,不能插隊。 可見&#x…

(十 四)趣學設計模式 之 策略模式!

目錄 一、 啥是策略模式?二、 為什么要用策略模式?三、 策略模式的實現方式四、 策略模式的優缺點五、 策略模式的應用場景六、 總結 🌟我的其他文章也講解的比較有趣😁,如果喜歡博主的講解方式,可以多多支…