docker1

前言

技術架構

在這里插入圖片描述

單機架構

在這里插入圖片描述

應用數據分離架構

在這里插入圖片描述

應用服務集群架構

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

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

讀寫分離/主從分離架構

在這里插入圖片描述
在這里插入圖片描述
寫入主的時候,要同步Mysql從的數據才可以

冷熱分離架構

在這里插入圖片描述
在這里插入圖片描述
寫的時候要寫入主和緩存數據庫
讀的時候先去緩存看有沒有,沒有的話就去從數據庫讀數據
主要就是看這個數據是冷門的還是熱門的了
緩存數據庫就是redis

在這里插入圖片描述
這個熱點的返回數據非常快
缺點就是萬一一個表數據太多了,有千萬級別,那么一個數據庫存的數據就太多了

垂直分庫架構

在這里插入圖片描述
就是分庫分表
在這里插入圖片描述
可以用mycat,tddl來分庫分表

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
我們可以直接用分布式數據庫了
在這里插入圖片描述

最下面的都是集群的東西

數據庫都采用了集群化

缺點就是:我們改代碼的時候就要停服,重新發布版本

微服務架構

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

在這里插入圖片描述

容器編排架構

在這里插入圖片描述
在這里插入圖片描述
容器與容器之間不會沖突

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
如果沒有k8s的話,就會布置很多微服務,要把jar包布置6份
有k8s,直接一鍵式布置這6個微服務,只需要一份,就可以一鍵式

不然就要慢慢布置了

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

實戰架構

在這里插入圖片描述

Docker使用

容器技術發展史

jail時代

云時代
云:分布式的
隔離已經用Linux實現了
資源隔離
解決海量數據處理

云原生時代:k8s,docker

在這里插入圖片描述

虛擬化與容器化

筆記本電腦就是物理機

一臺操作系統上裝了很多操作系統就是虛擬化
虛擬化出來的叫做虛擬機

容器化:就是虛擬的軟件層,操作系統的虛擬化,虛擬化的一種

docker是容器化的一種

虛擬化容器化優點:資源利用率高,因為劃的很細
環境一致性
資源可以彈性收縮
物理機上可以裝不同的操作系統,環境不同
容器比虛擬機啟動更快
docker不需要虛擬內核,相當于不用開機了
而且很容易維護和擴展
在這里插入圖片描述
應用程序執行環境分層

容器是虛擬化的操作系統

虛擬化常見類別
:虛擬機:偽造的硬件層
:JVM:偽造應用程序層和函數庫層

常見虛擬化實現:
主機虛擬化實現:模擬了所有的硬件
容器虛擬化實現
在這里插入圖片描述
在這里插入圖片描述
這就是主機虛擬化
就是在物理服務器上安裝了一個軟件,一個虛擬化層,變成可視化的了

容器虛擬化實現

實現原理:操作系統層的虛擬化
在這里插入圖片描述
容器是輕量級的
而且容器之間是不影響的
資源之間是隔離的

Namespace

在這里插入圖片描述
可以只讓A進程只看到A的資源,B進程只看到B的資源

在這里插入圖片描述
這些就是隔離的內核資源

意思就是就算是兩個進程運行在同一個主機上,但是可以有不同的主機名和域名

兩個進程看到的都是80端口
但是卻不是同一個端口

在這里插入圖片描述

NameSpace實戰基礎知識

dd命令

在這里插入圖片描述
在這里插入圖片描述
if=文件名 ------》輸入文件名

of=文件名 ------》輸出文件名
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
sync:將每個輸入塊填充到ibs個字節,不足部分用空NUL字符補齊

在這里插入圖片描述

生成鏡像文件

在這里插入圖片描述
我們這個是輸入文件
dev/zero是系統的一個特殊的文件設備,它會連續不斷地產生空白字符流
在這里插入圖片描述
生成一個空白的鏡像文件

bs就是指定大小
count就是產生文件數量
在這里插入圖片描述
在這里插入圖片描述
這樣我們就產生了空白的文件
加上 -h 選項后,文件大小會以更直觀的單位(如 KB、MB、GB 等)來展示

在這里插入圖片描述
這樣就生成了80M的文件
轉換為大寫
在這里插入圖片描述
dd if=in.txt of=out.txt conv=ucase

在這里插入圖片描述
dd就是完成一個讀取轉換輸出的操作

mkfs

用于在設備上創建Linux文件系統,俗稱格式化,比如我們使用 U盤的時候可以格式化。

語法

mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
? 參數

-t fstype:指定要建立何種文件系統;如ext3,ext4 —》磁盤類型ext4 用的比較多
filesys :指定要創建的文件系統對應的設備文件名;
blocks:指定文件系統的磁盤塊數。 -V : 詳細顯示模式
fs-options:傳遞給具體的文件系統的參數
-v 表示顯示詳情
? 實例
#將sda6 分區格式化為ext4格式
mkfs -t ext4 /dev/sda6
#格式化鏡像文件為ext4
mkfs -t ext4 ./fdimage.img
把我們鏡像的文件格式化為磁盤

mkfs -t ext4 ./test.img
在這里插入圖片描述
這樣就完成了

這個命令就是把硬盤u盤或者空白文件格式化
就是創建了一個指定的Linux文件系統

df

df 命令詳解
Linux df(英文全拼:disk free) 命令用于顯示目前在 Linux 系統上的文件系統磁盤使
用情況統計。
? 語法
df [OPTION]… [FILE]…----》看這個目錄的文件占有情況
? 常見參數
○ -a, --all 包含所有的具有 0 Blocks 的文件系統
○ -h, --human-readable 使用人類可讀的格式(預設值是不加這個選項的…)
○ -H, --si 很像 -h, 但是用 1000 為單位而不是用 1024
○ -t, --type=TYPE 限制列出文件系統的 TYPE
○ -T, --print-type 顯示文件系統的形式
? 案例
#查看磁盤使用情況
df -h
#查看磁盤的系統類型
df -Th

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
指定要ext4類型的
在這里插入圖片描述
打印了類型
df -T /data
這樣就是指定目錄下的文件系統的詳細信息
在這里插入圖片描述
H與h就是容量的單位變了

mount

mount 命令詳解
mount 命令用于加載文件系統到指定的加載點(相當于查u盤的時候,添加了一個盤,windows是自動掛載上去的)。此命令的也常用于掛載光盤,使我們
可以訪問光盤中的數據,因為你將光盤插入光驅中,Linux 并不會自動掛載,必須使用
Linux mount 命令來手動完成掛載。
Linux 系統下不同目錄可以掛載不同分區和磁盤設備,它的目錄和磁盤分區是分離的,
可以自由組合(通過掛載)
不同的目錄數據可以跨越不同的磁盤分區或者不同的磁盤設備。
掛載的實質是為磁盤添加入口(掛載點)。
? mount 常見用法
mount [-l]
mount [-t vfstype] [-o options] device dir
? 常見參數
-l:顯示已加載的文件系統列表;
-t: 加載文件系統類型支持常見系統類型的 ext3,ext4,iso9660,tmpfs,xfs 等,大部分情況
可以不指定,mount 可以自己識別
-o options 主要用來描述設備或檔案的掛接方式。
loop:用來把一個文件當成硬盤分區掛接上系統
ro:采用只讀方式掛接設備
rw:采用讀寫方式掛接設備
device: 要掛接(mount)的設備。就是u盤的文件系統,相當于u盤
dir: 掛載點的目錄,掛在哪個目錄下面,掛載u盤的地方
? 案例
#將 /dev/hda1 掛在 /mnt 之下。
mount /dev/hda1 /mnt
#將鏡像掛載到/mnt/testext4 下面,需要確保掛載點也就是目錄存在
mkdir -p /mnt/testext4
mount ./fdimage.img /mnt/testext4

掛載之前需要一個文件系統,就是磁盤
在這里插入圖片描述

我們可以格式化一下test.img
在這里插入圖片描述
這個問的是已經有了一個ext4的文件系統
這樣就格式化成功了
這樣就是一個空白的文件系統了
就可以掛載了

掛載到某個目錄就要先創建這個目錄
在這里插入圖片描述
mount ./test.img /data/testmymount/
這個就是把./test.img掛載到/data/testmymount/
在這里插入圖片描述
df -h就可以查看了

在這里插入圖片描述
這樣我們就把一個空白的鏡像文件,掛載成了一個磁盤
然后這個磁盤可以正常的讀寫

unshare

unshare 命令詳解
unshare 主要能力是使用與父程序不共享的名稱空間運行程序。就是不共享Namespace
? 語法
unshare [options] program [arguments]
program 是具體的程序–》與父程序不共享命名空間
options是參數
? 常用參數
參數 含義
-i, --ipc 不共享 IPC 空間,進程間通信
-m, --mount 不共享 Mount 空間,文件系統
-n, --net 不共享 Net 空間,網絡
-p, --pid 不共享 PID 空間,進程
-u, --uts 不共享 UTS 空間,主機名,網絡名
-U, --user 不共享用戶,用戶信息
-V, --version 版本查看,
–fork 執行 unshare 的進程 fork 一個新的子進程,在子進
程里執行 unshare 傳入的參數。啟動一個新的子進程,而不是讓現在這個進程作為父進程

–mount-proc 執行子進程前,將 proc 目錄優先掛載過去
在這里插入圖片描述
proc 目錄下有很多進程,不寫這個的話就會看到proc下的所有進程信息

? 案例
#hostname 隔離
root@139-159-150-152:~# unshare -u /bin/bash
root@139-159-150-152:~# hostname test1
root@139-159-150-152:~# hostname
test1
root@139-159-150-152:~# exit
exit
root@139-159-150-152:~# hostname
139-159-150-152
root@139-159-150-152:

我們用的主機隔離
unshare -u /bin/bash
在這里插入圖片描述
bash是一個程序

現在已經進入了一個子進程的命令空間了

hostname test1
指定主機名
在這里插入圖片描述
這個是查看主機名

我們在啟動一個xshell

在這里插入圖片描述
可以看到主機名不是新的
在這里插入圖片描述
這里退出的是子進程

在這里插入圖片描述
我們發現名字又變回去了

注意如果要顯示ip的話
就是要寫hostname -I

所以unshare就是做到了命名空間的隔離

PID隔離

  1. 在主機上執行 ps -ef,可以看到進程列表如下,其中啟動進程 PID 1 為 init 進程
  2. 我們打開另外一個 shell ,執行下面命令創建一個 bash 進程,并且新建一個 PID
    Namespace:
    –fork 新建了一個 bash 進程,是因為如果不建新進程,新的 namespace 會用 unshare
    的 PID 作為新的空間的父進程,而這個 unshare 進程并不在新的 namespace 中,所
    以會報個錯 Cannot allocate memory
    –pid 表示我們的進程隔離的是 pid,而其他命名空間沒有隔離
    mount-proc 是因為 Linux 下的每個進程都有一個對應的 /proc/PID 目錄,該目錄包含
    了大量的有關當前進程的信息。 對一個 PID namespace 而言,/proc 目錄只包含當前
    namespace 和它所有子孫后代 namespace 里的進程的信息。創建一個新的 PID
    namespace 后,如果想讓子進程中的 top、ps 等依賴 /proc 文件系統的命令工作,還
    需要掛載 /proc 文件系統。而文件系統隔離是 mount namespace 管理的,所以 linux
    特意提供了一個選項–mount-proc 來解決這個問題。如果不帶這個我們看到的進程還
    是系統的進程信息。
    Shell
    unshare --fork --pid --mount-proc /bin/bash
  3. 執行 ps -ef 查看進程信息,我們可以看到此時進程空間內的內容已經變了,而且
    啟動進程也變成了我們的 bash 進程。說明我們已經看不到主機上的進程空間了,我們
    的進程空間發生了隔離。
    4.執行 exit 退出進程

在這里插入圖片描述
這里報了一個錯
因為我們這里的父進程是shell,它有PID
shell內部新啟動的bash進程,看不見shell的信息,因為PID已經發生了隔離,因為是shell
所以bash啟動的時候,沒有自己的父進程,因為已經隔離了,就會報這個錯
如果要正常運行的話,就要床加你一個全新的進程
加一個參數,讓你和啟動你的這個進程沒有什么關系
先exit退出

在這里插入圖片描述
unshare -p --fork /bin/bash

這樣就完成了PID的隔離了

接下來我們來看我們啟動的新進程和我們宿主機上的進程是否一樣
啟動的新進程就是bash

我們再打開另一個xshell

兩個均執行ps-ef

在這里插入圖片描述
在這里插入圖片描述
我們可以發現進程是一樣的說明進程并沒有隔離

因為proc目錄下有很多進程的PID
執行ps -ef的時候
全部都列了出來
這時候就要用–mount-proc這個了
這個就是執行子進程前,先把proc目錄掛載在過去
掛載過去之后,我們的proc目錄就沒有這些現有的信息了

再次exit

unshare -p --fork --mount-proc /bin/bash

在這里插入圖片描述
可以發現現在的proc目錄下的進程id就很少了

原來的是很多的

現在在執行ps -ef
在這里插入圖片描述

在這里插入圖片描述
看的PID為一的就是我們自己指定的程序

這樣就實現了PID的隔離

-p表示隔離pid
–fork表示我們要啟動新的一個進程

Mount 隔離

  1. 打開第一個 shell 窗口 A,執行命令, df -h ,查看主機默認命名空間的磁盤掛載情
  2. 打開一個新的 shell 窗口 B,執行 Mount 隔離命令
  3. 在窗口 B 中添加新的磁盤掛載
  4. 在窗口 B 掛載的磁盤中添加文件
  5. 查看窗口 B 中的磁盤掛載信息
  6. 查看窗口 A 中的磁盤掛載信息
  7. 查看窗口 B 中的文件信息
  8. 查看窗口 A 中的文件信息,可以看到窗口 B 中新建的文件和磁盤掛載在主機的窗
    口中并沒有,說明我們實現了文件系統隔離。
  9. 窗口 B 執行 exit,退出

我們先創建一個mount隔離的進程
unshare --mount --fork /bin/bash
在進程里面創建一個空白文件
dd if=/dev/zero of=data2.img bs=8k count=10240
在這里插入圖片描述

然后掛載為一個磁盤–》掛載點
先格式化
mkfs -t ext4 ./data2.img
在這里插入圖片描述
然后就是掛載了

在這里插入圖片描述
這是我們全部的掛載點

掛載之前我們還要先指定我們掛在點目錄

mkdir -p /data/maxhou/data2mount
然后開始掛載
mount -t ext4 ./data2.img /data/maxhou/data2mount/
在這里插入圖片描述
這樣就掛載成功了
df -h

在這里插入圖片描述
這樣就說明了我們完成了data2mount的掛載點的創建了

然后我們在外面能不能看見這個掛載點

df -h

在這里插入圖片描述
這個就說明了我們創建的掛載點在外面是看不到的,這就是mount隔離
我們在這個掛載點里面寫文件
外面都看不見的

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

可以發現文件根本找不到,但是目錄確實可以找到的
這個磁盤的掛載點也是看不見的

往里面放文件別人就看不見了

刪除掛載點

使用 umount 命令
語法格式:umount [選項] 掛載點或umount [選項] 設備。例如要卸載/mnt/data這個掛載點,可以執行umount /mnt/data。如果知道掛載的設備,也可以使用umount /dev/sdb1來卸載,前提是/dev/sdb1對應的掛載點沒有被其他進程占用。
常用選項
-l:lazy unmount,即延遲卸載。如果設備忙,它會將卸載操作推遲到設備不再忙的時候。
-f:強制卸載,一般在正常卸載失敗時使用,但可能會導致數據丟失或文件系統損壞,需謹慎使用。

在這里插入圖片描述
值得注意的就是,這個掛載點是從根目錄開始設置的
與當前所在文件沒有關系

在這里插入圖片描述
當你在執行 rm -fr data 命令時遇到 rm: cannot remove ‘data/testmymount’: Device or resource busy 錯誤,這表明 data/testmymount 是一個掛載點,并且當前有進程正在使用該掛載點上的資源,所以無法直接刪除它。你可以按照以下步驟解決這個問題:

  1. 確定掛載信息
    使用 mount 命令查看系統的掛載信息,確認 data/testmymount 是否為掛載點以及掛載的設備。
    mount | grep data/testmymount
    這個命令會過濾出與 data/testmymount 相關的掛載信息,你可以從中了解到掛載的設備(例如 /dev/sdb1)等詳細內容。
  2. 找出占用掛載點的進程
    使用 lsof 命令找出正在使用該掛載點的進程:
    lsof +D data/testmymount
    該命令會列出所有正在訪問 data/testmymount 目錄及其子目錄的進程。你會看到輸出中包含進程的 PID(進程 ID)、進程名等信息。
  3. 終止占用掛載點的進程
    根據上一步得到的 PID,使用 kill 命令終止這些進程。例如,如果 PID 為 1234 的進程正在占用掛載點,你可以執行:
    kill 1234
    如果該進程無法正常終止,可以使用強制終止的方式:
    kill -9 1234
    不過,使用 -9 選項強制終止進程可能會導致數據丟失或其他問題,所以要謹慎使用。
  4. 卸載掛載點
    在終止所有占用掛載點的進程后,使用 umount 命令卸載掛載點:
    umount data/testmymount

如果卸載時仍然提示設備忙,可以嘗試使用 umount -l 進行延遲卸載:
umount -l data/testmymount

-l 選項會將卸載操作推遲到掛載點不再被使用時執行。
5. 刪除目錄
在成功卸載掛載點后,你就可以安全地刪除 data 目錄了:
rm -fr data

通過以上步驟,你應該能夠解決因掛載點被占用而無法刪除目錄的問題。

總結

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

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

相關文章

Spring Boot整合ArangoDB教程

精心整理了最新的面試資料和簡歷模板,有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 一、環境準備 JDK 17Maven 3.8Spring Boot 3.2ArangoDB 3.11(本地安裝或Docker運行) Docker啟動ArangoDB docker run -d --name ar…

從離散迭代到連續 常微分方程(Ordinary Differential Equation, ODE):梯度流

從離散迭代到連續 ODE:梯度下降與梯度流的奇妙聯系 在機器學習和優化領域,我們常常使用離散的迭代算法(如梯度下降)來求解目標函數的最優解。然而,你是否想過這些離散步驟背后可能隱藏著連續的動態?常微分…

常見的 Git 命令

基礎配置和信息查詢 (Setup and Information) git config --global user.name “Your Name”: 配置全局用戶名,用于 Git 提交記錄。 git config --global user.email “your.emailexample.com”: 配置全局用戶郵箱,同樣用于 Git 提交記錄。 git confi…

深度解析:視頻軟編碼與硬編碼的優劣對比

視頻編碼 一、基本原理與核心技術 壓縮原理 通過時空冗余消除實現數據壓縮: 空間冗余:利用幀內預測(如DC/角度預測)消除單幀內相鄰像素相似性。時間冗余:運動估計與補償技術(ME/MC)減少連續幀間…

藍耘智算 + 通義萬相 2.1:為 AIGC 裝上 “智能翅膀”,翱翔創作新天空

1. 引言:AIGC 的崛起與挑戰 在過去幾年中,人工智能生成內容(AIGC)技術突飛猛進。AIGC 涉及了文本生成、圖像創作、音樂創作、視頻制作等多個領域,并逐漸滲透到日常生活的方方面面。傳統的內容創作方式已經被許多人類創…

行為模式---中介者模式

概念 中介者模式是一種行為模式, 他的核心思想是通過引入一個中介者對象,將多個對象之間的復雜交互邏輯統一管理。每個對象只需要與中介者通信,而不需要直接與其他對象交互,從而降低系統的耦合度。 適用場景 對象之間交互復雜&…

百度移動生態事業群聚焦UGC戰略,貼吧迎新調整

易采游戲網3月8日獨家消息:近日據內部消息人士透露,百度移動生態事業群正積極將用戶生成內容(UGC)作為新的戰略重點。此舉標志著百度對UGC價值的重視與重塑,同時也預示著其旗下重要平臺——百度貼吧將迎來一輪重大的調…

C#模擬鼠標點擊,模擬鼠標雙擊,模擬鼠標恒定速度移動,可以看到軌跡

C#模擬鼠標點擊,模擬鼠標雙擊,模擬鼠標恒定速度移動,可以看到軌跡 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks;namespa…

QGIS提取全國景區經緯度的完整流程

一、數據獲取與預處理 數據來源選擇 全國A級景區數據可從各省文化和旅游廳官網、國家文化和旅游部網站或第三方GIS數據平臺獲取。推薦使用2020-2021年更新的矢量數據(shp格式)或Excel表格,其中包含景區名稱、地址、等級及WGS84經緯度信息。例…

如何進行postgreSQL專家認證

進行 PostgreSQL 專家認證主要有信創 PostgreSQL 認證和中國 PostgreSQL 考試認證等方式,以下以信創 PostgreSQL 認證為例介紹具體步驟: 了解認證體系 信創 PostgreSQL 認證由工信部人才交流中心組織及頒發證書,包括以下三個級別:…

【前端】【webpack-dev-server】proxy跨域代理

參考:https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入頁,如插入封面、末尾插入頁面

我們經常會碰到需要在 Word 文檔中插入新的頁面的需求,比如在 Word 文檔末尾插入一個廣告頁、給 Word 文檔插入一個說明封面,在 Word 文檔的中間位置插入新的頁面等等。相信這個操作對于大部分小伙伴來說都不難,難的是同時給多個 Word 文檔插…

在Windows 11的WSL中安裝Kali Linux

Kali Linux 是網絡安全從業者和愛好者的首選工具集,但直接在物理機或虛擬機上運行可能占用較多資源。借助 Windows Subsystem for Linux (WSL),我們可以在Windows 11中原生運行Kali Linux,輕量且高效。本教程將手把手教你如何在WSL2中安裝并配…

Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps 網絡流量預測新突破:微秒級短流預測的可行性分析 在當今數據中心和云計算環境中,網絡流量的精準預測是優化資源分配、實現智能負載均衡的關鍵。傳統流量和預測聚焦于長時間間隔(如秒級或分鐘級&…

pandas——to_datatime用法

Pandas中pd.to_datetime的用法及示例 pd.to_datetime 是 Pandas 庫中用于將字符串、整數或列表轉換為日期時間(datetime)對象的核心函數。它在處理時間序列數據時至關重要,能夠靈活解析多種日期格式并統一為標準時間類型。以下是其核心用法及…

數學建模:MATLAB強化學習

一、強化學習簡述 強化學習是一種通過與環境交互,學習狀態到行為的映射關系,以獲得最大積累期望回報的方法。包含環境,動作和獎勵三部分,本質是智能體通過與環境的交互,使得其作出的動作所得到的決策得到的總的獎勵達…

【leetcode hot 100 160】相交鏈表

解法一:(哈希集合)利用HashSet保存一個鏈表的值,循環另一個列表,在HashSet中尋找該值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…

19. 大數據-技術生態簡介

文章目錄 前言一、Hadoop介紹1. 簡介2. Hadoop發展史3. Hadoop現狀 二、Hadoop特性1. Hadoop國外應用2. Hadoop國內應用 三、Hadoop架構變遷1. 發行版本2. Hadoop架構變遷(1.0-2.0變遷)3. Hadoop架構變遷(3.0新版本)4. 綜述 四、技術生態體系 前言 大數據(Big Data…

DeepSeek 助力 Vue3 開發:打造絲滑的表格(Table)示例3: 行選擇

前言:哈嘍,大家好,今天給大家分享一篇文章!并提供具體代碼幫助大家深入理解,徹底掌握!創作不易,如果能幫助到大家或者給大家一些靈感和啟發,歡迎收藏關注哦 💕 目錄 Deep…

VsCode 快捷鍵備忘

移動光標及選擇文本 Ctrl ← / → :以單詞為單位移動游標Home / End:光標移到行首/行位Ctrl Home / End:光標移到文件首和文件尾Ctrl Shift \:在匹配的分隔符之間跳轉 配對的分隔符 是指分隔代碼元素的字符,比如字…