【storage】

在這里插入圖片描述

文章目錄

  • 1、RAM and ROM
  • 2、DRAM and SRAM
  • 2、Flash Memory(閃存)
  • 4、DDR and SPI NOR Flash
  • 5、eMMC
  • 6、SPI NOR vs SPI NAND vs eMMC vs SD
  • 附錄——prototype and demo board
  • 附錄——U盤、SD卡、TF卡、SSD
  • 參考

1、RAM and ROM

RAM(Random Access Memory,隨機存取存儲器)ROM(Read-Only Memory,只讀存儲器) 是計算機存儲系統中的兩種重要存儲器

區別

1. 數據可讀寫性

  • RAM:是一種可讀可寫的存儲器,用戶可以隨時對它進行數據的寫入和讀取操作。就像一個可以隨時存放和取出物品的開放式儲物柜,你可以根據需要把不同的東西放進去,也能隨時拿出來。例如,在運行一個文檔編輯軟件時,你輸入的文字內容會被臨時存儲在 RAM 中,你可以隨時對文檔進行修改(寫入操作),也可以隨時查看文檔內容(讀取操作)。

  • ROM:在正常工作狀態下,只能進行數據的讀取操作,而不能隨意寫入數據。它更像是一個只供查閱的檔案柜,里面的資料是固定的,不能隨意更改。不過,某些特殊類型的 ROM(如 EPROM、EEPROM 等)可以通過特定的方式(如紫外線照射、電信號等)進行數據的擦除和重新寫入,但操作相對復雜,不像 RAM 那樣可以隨時自由讀寫。

2. 數據存儲的持久性

  • RAM:具有易失性,即當計算機斷電后,RAM 中存儲的數據會立即丟失。這是因為 RAM 依靠電容存儲電荷來表示數據,斷電后電容放電,數據也就隨之消失。例如,你正在編輯一個文檔,突然停電了,如果沒有及時保存,再次開機后文檔編輯軟件中未保存的內容就會丟失,因為這些內容當時是存儲在 RAM 中的。
  • ROM:具有非易失性,數據一旦寫入 ROM,即使計算機斷電,數據也不會丟失。它就像一本印在紙上的書,只要書不被損壞,上面的內容就會一直存在。例如,計算機的 BIOS(基本輸入輸出系統)程序就存儲在 ROM 中,每次開機時,計算機都會從 ROM 中讀取 BIOS 程序來初始化硬件設備,無論計算機是否斷電,BIOS 程序都始終存在于 ROM 中。

3. 存儲速度

  • RAM:讀寫速度非常快,能夠滿足計算機在運行程序時對數據的快速訪問需求。它是計算機中與 CPU 直接進行數據交換的存儲器,CPU 可以直接從 RAM 中讀取指令和數據,也可以將處理結果寫入 RAM。例如,在運行大型游戲時,游戲中的場景、角色動作等數據需要頻繁地從 RAM 中讀取和寫入,以保證游戲的流暢運行。
  • ROM:讀取速度相對較慢,雖然也能滿足計算機啟動時對 BIOS 程序等少量數據的讀取需求,但與 RAM 相比,其速度差距較大。因為 ROM 的結構和制造工藝與 RAM 不同,它更注重數據的穩定性和持久性,而不是讀寫速度。

4. 用途

  • RAM:主要用于臨時存儲計算機正在運行的程序和數據,是計算機進行多任務處理和高效運行的關鍵部件。它的容量大小直接影響計算機的運行速度和多任務處理能力。例如,一臺 RAM 容量較大的計算機可以同時運行多個大型軟件,而不會出現明顯的卡頓現象。
  • ROM:主要用于存儲計算機的基本輸入輸出系統(BIOS)、固件程序等重要且相對固定的數據。這些數據是計算機啟動和正常運行的基礎,不需要頻繁修改。例如,BIOS 程序包含了計算機硬件的初始化信息、自檢程序等,計算機在開機時會首先從 ROM 中讀取 BIOS 程序,對硬件設備進行初始化和自檢,確保計算機能夠正常啟動。

5. 成本

  • RAM:由于需要具備高速讀寫的能力,其制造工藝相對復雜,成本較高。一般來說,相同容量的 RAM 比 ROM 的價格要貴。
  • ROM:制造工藝相對簡單,成本較低。它主要用于存儲固定數據,對讀寫速度的要求不高,因此可以采用較為經濟的制造方式。

聯系

1. 共同構成計算機存儲系統

RAM 和 ROM 都是計算機存儲系統的重要組成部分,它們相互配合,共同為計算機的正常運行提供支持。ROM 存儲了計算機啟動和基本運行所需的關鍵程序和數據,而 RAM 則為計算機在運行過程中的數據處理和程序執行提供了快速、臨時的存儲空間。

2. 數據交互

在某些情況下,ROM 中的數據可能會被復制到 RAM 中進行處理。例如,計算機啟動時,BIOS 程序會從 ROM 中讀取到 RAM 中,然后 CPU 從 RAM 中執行 BIOS 程序,完成硬件的初始化和自檢。這樣做的目的是利用 RAM 的高速讀寫能力,提高程序的執行效率。

3. 技術發展相互影響

隨著計算機技術的不斷發展,RAM 和 ROM 的技術也在不斷進步。例如,為了提高計算機的性能,RAM 的容量不斷增大,讀寫速度不斷提高;而 ROM 也在不斷改進,出現了可擦除可編程的 ROM(EPROM、EEPROM)和閃存(Flash Memory)等新型 ROM,它們既具有 ROM 的非易失性,又在一定程度上具備了 RAM 的可讀寫性,為計算機系統的發展提供了更多的選擇。

在這里插入圖片描述
來自:RAM和ROM的區別(轉)

2、DRAM and SRAM

SRAM(Static Random-Access Memory)和 DRAM(Dynamic Random-Access Memory)

在這里插入圖片描述

(1)區別

存儲原理與結構

  • SRAM:基于雙穩態觸發器存儲數據,每個存儲單元通常由4-6個晶體管組成,無需刷新電路即可保持數據。
  • DRAM:依賴電容存儲電荷,每個存儲單元僅需1個晶體管和1個電容,但電容會漏電,需定期刷新以維持數據。

性能與速度

  • SRAM:讀寫速度極快(納秒級延遲),適合高速緩存(如CPU緩存)。
  • DRAM:速度較慢(需刷新操作),但通過技術升級(如DDR系列)顯著提升性能,仍低于SRAM。

功耗與集成度

  • SRAM:功耗較高(晶體管持續導通),集成度低(相同面積下容量小)。
  • DRAM:功耗較低(刷新功耗為主),集成度高(單位面積存儲容量大)。

成本與容量

  • SRAM:制造成本高,容量有限,通常用于小規模高速存儲。
  • DRAM:成本低,容量大,適合大規模主存應用。

易失性

  • 兩者均為易失性存儲器,斷電后數據丟失。

(2)聯系

同屬RAM(隨機存取存儲器)

  • 均為易失性存儲,斷電后數據無法保留。

互補應用場景

  • SRAM:用于CPU緩存(L1/L2/L3)、嵌入式系統等對速度敏感的場景。
  • DRAM:用于計算機主存、GPU顯存等需要大容量存儲的場景。

技術演進

  • 兩者均隨技術發展不斷升級,如 SRAM 從異步到同步(SSRAM),DRAM 從SDRAM 到 DDR 系列。

系統協同

  • 在計算機存儲層次中,SRAM(高速緩存)與DRAM(主存)共同構成多級存儲體系,平衡速度與容量需求。

2、Flash Memory(閃存)

Flash 閃存技術的起源可追溯至1967年,貝爾實驗室的江大原(Dawon Kahng)和施敏博士(Simon Sze)發明了浮柵MOSFET,為閃存、EEPROM 和 EPROM 奠定了基礎。此后,Flash技術經歷了多個重要發展階段:

初期探索(1967-1980年):

  • 1970年,英特爾工程師 Dov Frohman 發明了 EPROM,通過紫外線光照射擦除數據。
  • 1979年,Eli Harari發明了 EEPROM,并提出了用浮柵技術取代磁盤的愿景。

概念提出與商用化起步(1980-2000年):

  • 1984年,東芝的舛岡富士雄博士提出閃存概念,并于1987年發明 NAND 閃存。
  • 1988年,英特爾推出首款商用 NOR Flash 芯片,SanDisk(當時為Sundisk)成立并推出首款商用閃存芯片。
  • 1991年,SanDisk推出首款基于閃存的 20MB ATA SSD
  • 1994年,SanDisk推出首款用于 SSD 應用的 Compact Flash 卡,標志著閃存進入消費市場。

高速發展期(2000-2020年):

  • 2004年,NAND 閃存成本首次低于 DRAM,推動其在計算領域的廣泛應用。
  • 2006年,閃存市場收入突破 200 億美元。
  • 2012年,三星推出第一代 3D NAND 閃存,開啟3D存儲時代。
  • 2015年,長江存儲的前身武漢新芯與Spansion合作開發 NAND 閃存。
  • 2020年,長江存儲發布全球首款128層 QLC 3D NAND 存儲芯片,3D NAND 技術普及至100多層。

關鍵創新與市場擴展(2020年至今):

  • 2021年,英特爾和美光分別推出高性能的 Optane 和 3D XPoint 產品。
  • 2022年,長江存儲發布新型 3D NAND 閃存結構 Xtacking,推動技術創新。
  • 2023年,SK海力士發布321層 4D NAND Flash閃存樣品。
  • 2024年,三星宣布第9代 V-NAND 1Tb TLC 產品量產,堆疊層數達到290層。

4、DDR and SPI NOR Flash

嚴格的說 DDR 應該叫 DDR SDRAM,人們習慣稱為 DDR,其中,SDRAM 是 Synchronous Dynamic Random Access Memory 的縮寫,即同步動態隨機存取存儲器。 而DDR SDRAM是 Double Data Rate SDRAM的縮寫,是雙倍速率同步動態隨機存儲器的意思。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述


SPI NOR Flash

Serial Peripheral Interface,串行外設接口

NOR Flash的每個記憶單元互相獨立,都有一段直連到地,組成一個類似 NOR閘(或稱“或非門”)的電路。對于 NOR Flash,只要 word line 0 到 word line 5 中任何一個為高電平(高點平為邏輯1),對應輸出的 bit line 就是低電平,這種邏輯對應 NOR(Not OR),所以這種flash被叫做 NOR Flash。

在這里插入圖片描述

DDR(雙倍數據速率同步動態隨機存儲器)和 SPI NOR Flash(串行外設接口NOR閃存)在存儲技術領域各有特點,二者的聯系與區別主要體現在以下方面:

(1)聯系

同屬存儲技術范疇:DDR 和 SPI NOR Flash都是電子系統中用于數據存儲的組件,只是存儲類型、特性和應用場景有所不同,但都在數據存儲和處理中發揮著重要作用。

(2)區別

存儲類型

  • DDR:屬于易失性存儲器,斷電后數據會丟失。它是一種動態隨機存取存儲器(DRAM),通過電容存儲電荷來保存數據,需要定期刷新以維持數據。
  • SPI NOR Flash:屬于非易失性存儲器,斷電后數據依然能夠保留。它采用 NOR 型閃存結構,具有可編程可擦除的特性。

數據訪問方式

  • DDR:以隨機訪問的方式讀寫數據,支持字節級的讀寫操作,能快速訪問任意地址的數據,讀寫速度相對較快,適合需要頻繁讀寫數據的場景。
  • SPI NOR Flash:支持隨機訪問,可直接執行代碼(XIP,Execute In Place),應用程序不必把代碼讀到系統RAM中,而是可以直接在Flash閃存內運行,讀取速度較快,但寫入和擦除速度相對較慢。

接口類型

  • DDR:通常采用并行接口,數據總線寬度較大,如常見的64位、128位等,能夠同時傳輸多個數據位,以滿足高速數據傳輸的需求。
  • SPI NOR Flash:采用串行外設接口(SPI),通過四根信號線(時鐘線SCK、主機輸出從機輸入線MOSI、主機輸入從機輸出線MISO、片選線CS)與主機進行通信,接口簡單,引腳數量少。

容量和成本

  • DDR:容量一般較大,常見的有GB級別,能滿足系統對大容量內存的需求,但成本相對較高,尤其是在高容量、高性能的情況下。
  • SPI NOR Flash:容量相對較小,通常在MB級別到GB級別之間,成本較低,適合對存儲容量要求不高但需要非易失性存儲的場景。

應用場景

  • DDR:主要用于計算機的主內存,為CPU提供高速的數據緩存和運行空間,確保系統能夠快速響應和運行各種應用程序。
  • SPI NOR Flash:常用于嵌入式系統中,存儲系統的引導代碼(Bootloader)、固件、配置參數等關鍵數據,也可用于存儲一些需要長期保存且讀取頻繁的小容量數據。

5、eMMC

eMMC 的英文全稱為 Embedded Multi Media Card(嵌入式多媒體卡)。它是由 MMC 協會訂立的一種內嵌式存儲器標準規格,主要針對手機、平板電腦等產品設計,將存儲芯片、控制器和接口集成于一體,形成緊湊高效的存儲系統。

在這里插入圖片描述

在這里插入圖片描述

eMMC(嵌入式多媒體卡)作為移動設備的主流存儲方案,其性能表現受接口標準、硬件設計和使用場景的制約。

一、核心性能參數

接口標準與帶寬

  • eMMC采用并行接口,最高支持8位數據總線,理論帶寬上限受限于總線寬度和時鐘頻率。
  • 主流eMMC 5.1標準下,最大傳輸速率為400MB/s,實際測試中連續讀寫速度多在100-300MB/s區間波動,隨機讀寫性能更弱。
  • 相比UFS 3.1的2.9GB/s帶寬和全雙工通信,eMMC在數據吞吐量上存在顯著差距。

延遲與響應速度

  • 半雙工通信模式導致eMMC無法同時讀寫,在高負載場景下(如多任務并行、4K視頻錄制)延遲明顯。
  • 隨機讀寫IOPS(每秒輸入輸出操作次數)通常低于100,而UFS可突破10萬IOPS,直接影響應用啟動速度和系統流暢度。

功耗與能效

  • 1.8V/3.3V雙電壓供電設計,功耗低于傳統硬盤但高于UFS。
  • 深度睡眠模式下功耗可降至微瓦級,適合對續航敏感的入門設備,但在高負載場景下能效比仍落后于UFS。

二、技術瓶頸與局限性

物理架構限制

  • 并行接口易受信號干擾,高頻傳輸時穩定性下降,需通過復雜的PCB布線優化補償。
  • 封裝尺寸固定,難以進一步縮小以適應超薄設備需求。

性能擴展性差

  • 接口標準升級緩慢,eMMC 5.1后無重大突破,而UFS已迭代至4.0版本,帶寬翻倍。
  • 硬件設計固化,無法通過軟件優化彌補物理層缺陷。

使用壽命與可靠性

  • 采用TLC/QLC閃存顆粒的eMMC,寫入壽命通常為500-1000次P/E循環,低于UFS的MLC/SLC方案。
  • 缺乏高級糾錯算法(如LDPC),在復雜環境下數據錯誤率更高。

三、典型應用場景與適配性

中低端移動設備

  • 百元機、功能機、兒童手表等對成本敏感的產品,eMMC可提供“夠用”的存儲性能。
  • 典型案例:Redmi數字系列、諾基亞功能機。

嵌入式與工控領域

  • 車載導航、智能家居、醫療設備等對穩定性要求高但對帶寬需求低的場景
  • 優勢:兼容性強、開發成本低、生命周期長。

性能敏感場景的局限性

  • 高端手機、平板電腦、游戲主機等需高速讀寫和低延遲的設備,eMMC無法滿足需求。
  • 典型問題:應用啟動卡頓、4K視頻錄制掉幀、多任務切換延遲。

四、與競品對比結論

在這里插入圖片描述

五、總結與建議

  • eMMC 的價值:作為低成本存儲方案,其穩定性在入門級市場仍具競爭力,適合對性能要求不高的場景
  • 未來趨勢:隨著 UFS 價格下探和 eMMC 技術停滯,中端設備將加速向 UFS 遷移,eMMC 或逐步退居超低端市場。
  • 選購建議:若預算有限且對性能無苛求(如僅用于通話、基礎社交),可選 eMMC設備;若追求流暢體驗(如游戲、多任務),建議優先選擇 UFS 存儲方案。

6、SPI NOR vs SPI NAND vs eMMC vs SD

在這里插入圖片描述

SPI NOR、SPI NAND、eMMC 和 SD 卡是常見的嵌入式存儲技術

區別

(1)接口

  • SPI NOR:使用 SPI(串行外圍接口)作為通信接口,這是一種基于串行通信的簡單、低功耗接口協議。
  • SPI NAND:同樣使用 SPI 接口,通過少數引腳實現數據傳輸,通常只有 6 到 8 個引腳,適合空間受限的應用。
  • eMMC:使用 MMC(多媒體卡)接口標準,該標準支持并行和串行通信,通常有 8 個數據線,加上命令和時鐘線。
  • SD 卡:有三種主流接口類型,即 SDSC(標準 SD)、SDHC(SD 高容量)、SDXC(SD 擴展容量),速度從 12.5MB/s 到 624MB/s 不等。SD NAND 可使用 SD 卡接口,且支持 SPI 模式和 SD 模式。

(2)性能

  • SPI NOR:具有較快的訪問速度和較低的延遲,支持全雙工、單工以及半雙工傳輸方式,讀寫速度快、可靠性高。
  • SPI NAND:訪問速度相對較慢,具有較高的延遲,讀寫速度通常在 20MB/s 到 40MB/s 之間。
  • eMMC:性能較高,支持高速數據傳輸,并采用了流水線式的數據傳輸方式,讀取速度高達 400MB/s(HS400 模式),寫入速度也較高,支持多種優化算法和寫入加速技術,I/O 操作支持并行 I/O 操作,提升數據傳輸效率。
  • SD 卡:速度因類型而異,從 12.5MB/s 到 624MB/s 不等。SD NAND 在 SD 模式下的讀寫速度通常在 50MB/s 到 100MB/s 之間,性能優于 SPI 模式。

(3)容量

  • SPI NOR:提供較低的存儲容量,通常在幾 KB 到幾百兆字節(MB)之間。
  • SPI NAND:通常提供從幾百 MB 到幾 GB 的存儲容量
  • eMMC:提供中等容量的存儲,一般從幾 GB 到幾百 GB,有多種容量選擇。
  • SD 卡:存儲容量方面的靈活性較高,可以根據 SD 卡的版本和規格提供不同的存儲容量,從幾百 MB 到數十 TB 不等。SD NAND 的容量覆蓋范圍比 SPI NAND 更廣,從幾 GB 到幾十 GB 不等。

(4)成本

  • SPI NOR:制造成本較低,適用于對成本敏感的應用。
  • SPI NAND:通常是三者中成本最低的,由于存儲密度較大且制造成本相對較低,適用于對成本要求很高的應用,但可能在速度和壽命上有一些妥協。
  • eMMC:由于其高集成度和大容量,制造和集成 eMMC 的成本相對較高,適合需要高性能和大容量的應用。
  • SD 卡:相對較為便宜,并且兼容性更好。

(5)應用場景

  • SPI NOR:適用于嵌入式系統、實時系統、傳感器數據存儲等,常用于存儲 Bootloader、操作系統內核等程序。
  • SPI NAND:適用于空間受限和成本敏感的應用,如工業控制、物聯網設備、嵌入式系統和單片機存儲擴展等。
  • eMMC:常見于移動設備,如智能手機、平板電腦等,也適用于對存儲容量要求較高的嵌入式系統。
  • SD 卡:主要用于消費類電子設備,例如數碼相機、智能手機和平板電腦等,也適用于需要高性能和大容量存儲的應用,如消費電子設備、便攜式媒體播放器等。

聯系

  • 存儲介質基礎:它們都是基于閃存技術的存儲設備,用于存儲數據。
  • 嵌入式應用:在嵌入式系統中都有廣泛的應用,為設備提供數據存儲功能。
  • 可配合使用:在一些復雜的嵌入式系統中,可能會根據不同的需求和場景,將它們配合使用。例如在一些需要快速啟動和運行速度較快的系統中,可以使用 SPI NOR 來存儲 Bootloader 和操作系統內核等程序,而在一些需要大容量存儲和高可靠性的系統中,可以使用 SPI NAND 或 eMMC 來存儲大量的用戶數據和應用軟件。

附錄——prototype and demo board

原型機的英文是 prototype,開發板的英文是 demo board(或 development board)。

原型機(Prototype)

  • 定義:在新機研制過程中按設計圖樣制造的第一批供試驗或量產原型的機械,常見于飛機、手機、電腦等行業。
  • 用途:用于驗證產品概念、技術方案或設計思路,評估設計的可行性并發現潛在問題。

開發板(Demo Board / Development Board)

  • 定義:用于嵌入式系統開發的電路板,集成中央處理器、存儲器、輸入輸出設備等硬件組件。
  • 用途:支持嵌入式系統開發、電子設計驗證或教學實驗,提供完整的硬件平臺和開發工具鏈。

附錄——U盤、SD卡、TF卡、SSD

在這里插入圖片描述

在這里插入圖片描述

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

參考

  • ROM, FLASH和RAM的區別
  • SRAM與DRAM:兩種常見存儲技術的對比與應用
  • flash和DDR的概念及解釋
  • PCB模塊化設計13——FLASH、DDR和eMMC高速PCB布局布線設計規范
  • DDR存儲器
  • 基于FPGA的SD卡的數據讀寫實現(SD NAND FLASH)
  • DDR是什么意思? DDR5和DDR4的區別是什么 ?談談DDR5測試方法
  • U盤、SD卡、TF卡、SSD存儲原理的區別是什么?

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

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

相關文章

Python異步編程-協程

1、引言 在使用多個爬蟲腳本進行數據爬取和調用大語言模型返回結果的場景中,涉及到大量的網絡IO操作。協程能夠讓網絡IO操作并發執行,極大地提升程序的運行效率。在智能體相關的開源項目中,我們也可以經常看到協程的身影。 2、協程 協程&a…

大語言模型提示詞(LLM Prompt)工程系統性學習指南:從理論基礎到實戰應用的完整體系

文章目錄 前言:為什么提示詞工程成為AI時代的核心技能一、提示詞的本質探源:認知科學與邏輯學的理論基礎1.1 認知科學視角下的提示詞本質信息處理理論的深層機制圖式理論的實際應用認知負荷理論的優化策略 1.2 邏輯學框架下的提示詞架構形式邏輯的三段論…

Android音頻開發:Speex固定幀與變長幀編解碼深度解析

引言 在Android音頻開發領域,Speex作為一種開源的語音編解碼器,因其優秀的窄帶語音壓縮能力被廣泛應用。在實際開發中,幀處理策略的選擇直接影響著音頻傳輸質量、帶寬占用和系統資源消耗。本文將深入探討Speex編解碼中固定幀與變長幀的實現差…

Docke啟動Ktransformers部署Qwen3MOE模型實戰與性能測試

docker運行Ktransformers部署Qwen3MOE模型實戰及 性能測試 最開始拉取ktransformers:v0.3.1-AVX512版本,發現無論如何都啟動不了大模型,后來發現是cpu不支持avx512指令集。 由于本地cpu不支持amx指令集,因此下載avx2版本鏡像: …

算術操作符與類型轉換:從基礎到精通

目錄 前言:從基礎到實踐——探索運算符與類型轉換的奧秘 算術操作符超級詳解 算術操作符:、-、*、/、% 賦值操作符:和復合賦值 單?操作符:、--、、- 前言:從基礎到實踐——探索運算符與類型轉換的奧秘 在先前的文…

飛騰D2000,麒麟系統V10,docker,ubuntu1804,小白入門喂飯級教程

#下載docker Index of linux/static/stable/ 根據電腦的CPU類型選擇: Intel和AMD選x86_64飛騰D2000選aarch64 #選擇較新的版本 #在包含下載的docker-XX.X.X.tgz的文件夾中右鍵->打開終端 # 解壓安裝包(根據實際下載的文件) tar -zxvf …

啟程:為何選擇PHP?

一、寫在前面:小公司的生存邏輯與我的困惑 我是一名在小型軟件開發公司工作的Java全棧開發者。我們這類團隊的現實很直白:接不到“大單子”,日常圍繞各類中小項目——企業官網、內部管理系統、定制化小程序——展開。客戶預算有限、交付周期…

學習使用YOLO的predict函數使用

YOLO的 result.py #2025.1.3 """ https://docs.ultralytics.com/zh/modes/predict/#inference-arguments 對yolo 目標檢測、實例分割、關鍵點檢測結果進行說明https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Masks.xy 對…

Node.js: express 使用 Open SSL

OpenSSL是一個開源的核心加密工具包,提供行業標準的加密,證書管理和安全通信功能。包含完整的 SSL/TLS 協議實現,被廣泛應用于構建互聯網安全基礎設施。 在 express 中使用 openssl 通常是為了實現 HTTPS 通信,通過 SSL/TLS 加密來…

AI賦能的瀏覽器自動化:Playwright MCP安裝配置與實操案例

以下是對Playwright MCP的簡單介紹: Playwright MCP 是一個基于 Playwright 的 MCP 工具,提供瀏覽器自動化功能不要求視覺模型支持,普通的文本大語言模型就可以通過結構化數據與網頁交互支持多種瀏覽器操作,包括截圖、點擊、拖動…

【Matlab】連接SQL Server 全過程

文章目錄 一、下載與安裝1.1 SQL Server1.2 SSMS1.3 OLE DB 驅動程序 二、數據庫配置2.1 SSMS2.2 SQL Server里面設置2.3 設置防火墻2.4 設置ODBC數據源 三、matlab 鏈接測試 一、下載與安裝 微軟的,所以直接去微軟官方下載即可。 1.1 SQL Server 下載最免費的Ex…

Java編程中常見的條件鏈與繼承陷阱

格式錯誤的if-else條件鏈 典型結構與常見錯誤模式 在Java編程中,if-else條件鏈是一種常見的多條件處理模式,其標準結構如下: if (condition1) {// 處理邏輯1 } else if (condition2) {// 處理邏輯2 } else

scss(sass)中 的使用說明

在 SCSS(Sass)中,& 符號是一個父選擇器引用,它代表當前嵌套規則的外層選擇器。主要用途如下: 1. 連接偽類/偽元素 scss 復制 下載 .button {background: blue;&:hover { // 相當于 .button:hoverbackgrou…

C++ 信息學奧賽總復習題答案解析

第一章 答案解析 填空題 .cpp 知識點:C 源文件的命名規范 main () 知識點:C 程序的入口函數 // ,/* */ 知識點:C 注釋的兩種形式 int a; 知識點:變量聲明的語法 cout 知識點:輸出語句的關鍵字 判斷題…

Jenkins持續集成CI,持續部署CD,Allure報告集成以及發送電子 郵件

文章目錄 一、Jenkins 的簡介二、Jenkins的安裝三、Jenkins 文件夾的作用四、Jenkins 的應用新建 job配置 jobjenkins 集成 Allure 報告。jenkins 集成 HTML 的報告 五、Jenkins 發送電子郵件1)安裝插件:Email Extension2)開啟 POP3/SMTP 服務…

算術圖片驗證碼(四則運算)+selenium

一、表達式解析 這里假設已經識別出來表達式,如何識別驗證碼圖片里的表達式,放在下面講。涉及到的正則表達式的解析放在本篇文章最后面。 import re # 表達式解析(支持小數的 -*/ 和中文運算符) def parse_math_expression(text)…

使用 Laravel 中的自定義存根簡化工作

在開發與外部服務、API 或復雜功能交互的應用程序時,測試幾乎總是很困難。簡化測試的一種方法是使用存根類。以下是我通常使用它們的方法。 福利簡介 存根是接口或類的偽實現,用于模擬真實服務的行為。它們允許您: 無需調用外部服務即可測試…

將 tensorflow keras 訓練數據集轉換為 Yolo 訓練數據集

以 https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset 為例 1. 圖像分類數據集文件結構 (例如用于 yolov11n-cls.pt 訓練) import os import csv import random from PIL import Image from sklearn.model_selection import train_test_split import s…

排序算法-歸并排序與快速排序

歸并排序與快速排序 快速排序是利用的遞歸思想:選取一個基準數,把小于基準數的放左邊 大于的放右邊直到整個序列有序 。快排分割函數 O(lognn), 空間 :沒有額外開辟新的數組但是遞歸樹調用函數會占用棧內存 O(logn) 。 歸并排序:在遞歸返回的…

北大開源音頻編輯模型PlayDiffusion,可實現音頻局部編輯,比傳統 AR 模型的效率高出 50 倍!

北大開源了一個音頻編輯模型PlayDiffusion,可以實現類似圖片修復(inpaint)的局部編輯功能 - 只需修改音頻中的特定片段,而無需重新生成整段音頻。此外,它還是一個高性能的 TTS 系統,比傳統 AR 模型的效率高出 50 倍。 自回歸 Tra…