機器學習筑基篇,Jupyter Notebook 精簡指南

75681dce7bf27acf6480d7ea75ae4fd8.gif

[?知識是人生的燈塔,只有不斷學習,才能照亮前行的道路?]

0x00 Jupyter Notebook 簡明指南

描述:前面我們已經在機器學習工作站(Ubuntu 24.04 Desktop + Geforce RTX 4070Ti SUPER)中安裝 Anaconda 工具包,其中也包含了 Jupyter Notebook/?d?u?p?t?(r)/ /n??tb?k/)工具及其相關依賴項,接下來我們簡單介紹一下 Jupyter Notebook 一個Web在線交互計算的工具集,及其安裝、配置、使用方法,給各位初次學習機器的朋友做一個指引!

溫馨提示:作者機器學習相關筆記會更新在《AIGC學習之路》專欄,此專欄內容默認你已經具備基礎 Python 編程能力,同時學習過高等數學、線性代數、概率論等大學本科范圍的數學知識。如果忘記了不用擔心,會逐步幫助你記起來。

溫馨提示:若各位看友在其他平臺看到此篇文章,一定要關注公眾號【全棧工程師修煉指南】進行持續學習!我們一同學習,一起進步,關注后回復【加群】喲!

原文鏈接:機器學習筑基篇,Jupyter Notebook 精簡指南前面我們已經在機器學習工作站中安裝Anaconda工具包,其中也包含了jupyter Notebook工具及相關依賴項,接下來簡單介紹一下其工具作為一個Web在線交互計算的工具集,及其安裝、配置、使用方法,給各位初次學習機器的朋友做一個指引icon-default.png?t=N7T8https://mp.weixin.qq.com/s/hL53OO2unouuWJxeZeyVcQ

1.背景

如果你從零基礎學習過 Python 編程語言,可能聽說過 IPython,它是一種基于 Python 的交互式解釋器, 相較于原生的 Python Shell,IPython 提供了更為強大的編輯和交互功能, 隨著其發展推出了 IPython Notebook,它完整地繼承了 IPython 的交互式特性,同時以 Web 形式運行,它的出現讓數據分析和機器學習的過程變得高效。

c0c0392b650e4baf2f29f26e23903226.png

weiyigeek.top-IPython-VS-Python圖

再之后,在谷歌、微軟等互聯網巨頭的贊助下,IPython Notebook 發展成為更加成熟和完善的開源項目,并更名為 Jupyter Notebook 并且已經成為現代處理數據的必備工具。

從數據清理、數據可視化、數據分析,再到后面的建立機器學習或深度學習模型,都可以在 Jupyter Notebook 完成。同時,Jupyter Notebook 可以保留代碼運行后的結果,方便內容的重用,以及回顧做過的工作。

文章來自公眾號【全棧工程師修煉指南】,請大家多多支持!

2.介紹 Jupyter Notebook

什么是 Jupyter Notebook?

Jupyter Notebook (以前稱為 IPython Notebook )是用于跨所有編程語言進行交互式計算的免費軟件、開放標準和web服務,它允許用戶將代碼、注釋、方程式、可視化內容等整合到一個文檔中,并支持多種編程語言,如 Python、R、Julia 等高級編程語言。它在數據科學、機器學習、深度學習、人工智能和教育領域中得到了廣泛的應用。

06a0b40d2a040e1f290143ed8e08bf7c.png

weiyigeek.top-Jupyter Notebook圖

官網地址:https://jupyter.org/

3.安裝 Jupyter Notebook

描述: 你可以參考官方文檔進行安裝 Jupyter Notebook ,不過此處作者的建議是使用 Anaconda 工具包進行安裝,正如作者前一篇文章中的實踐流程,除此之外,你還可以在本地使用 pip 安裝 Jupyter Notebook,或者在瀏覽器中使用 GetVM 提供的 Jupyter Notebook 在線環境。

方式1. 使用 Anaconda 工具包安裝,參考文章: 《機器學習筑基篇,Ubuntu 24.04 安裝使用 Anaconda 工具包》,此處UP主選擇的方式。

方式2. 使用 pip 安裝,依賴于 Python 環境請自行安裝,官網文檔 https://jupyter.org/install

#?Install?the?classic?Jupyter?Notebook?with:
pip?install?notebook#?To?run?the?notebook:
jupyter?notebook

方式3. 使用 GetVM 提供的 Jupyter Notebook 在線環境,免費計劃每天有5次(每次半小時)的使用時間,滿足低頻日常學習的需求,同時為了避免被挖礦等濫用行為,開發者增加了網絡限制,從而不能訪問外網。

GetVM 是一個 Google Chrome 瀏覽器擴展,它可以幫助你在瀏覽器中快速創建一個 Linux 虛擬機,與本地環境完全隔離。你可以選擇直接打開預設模板,例如 Jupyter Notebook,VS Code,Ubuntu Desktop 等。地址:https://getvm.io

906600c0a7c8b8bac6972eb850f48796.png

weiyigeek.top-GetVM圖

4.配置 Jupyter Notebook

描述:由于UP主是通過 Anaconda 工具包安裝的 Jupyter Notebook,其默認的監聽地址和端口為 localhost:8888 因此只能本地訪問,若其他主機設備需要訪問,則需要重新配置一下 Jupyter Notebook 的監聽地址和端口,同時為了安全起見,需要配置一下 Jupyter Notebook 的密碼,避免非授權用戶通過端口訪問。

操作步驟

Step 1.進入 Conda 環境中,執行如下命令生成 Jupyter Notebook 配置文件。

(base)?weiygeek@Super-Server:~/桌面$?jupyter?notebook?--generate-config
Writing?default?config?to:?/home/weiygeek/.jupyter/jupyter_notebook_config.py

Step 2.生成 Jupyter Notebook 的訪問密碼文件,打開獲取密碼的 Hash 值。

(base)?weiygeek@Super-Server:~/桌面$?jupyter?notebook?password#?Enter?password:?weiyigeek.top#?Verify?password:?weiyigeek.top#?[JupyterPasswordApp]?Wrote?hashed?password?to?/home/weiygeek/.jupyter/jupyter_server_config.json?(base)?weiygeek@Super-Server:~/桌面$?cat?/home/weiygeek/.jupyter/jupyter_server_config.json#?"IdentityProvider":?{#???"hashed_password":?"argon2:$argon2id$v=19$m=10240,t=10,p=8$ts7wW8G8A+qywpvi2A0qzg$DcOg7yWmOkwaebT90pItoJARMdAwGn80KbWjWTpoYOE"#?}

Step 3.修改 Jupyter Notebook 配置文件,添加如下內容。

(base)?weiygeek@Super-Server:~/桌面$?vim?/home/weiygeek/.jupyter/jupyter_notebook_config.py
(base)?weiygeek@Super-Server:~/桌面$?grep?-v?"#"?/home/weiygeek/.jupyter/jupyter_notebook_config.py?|?sed?'/^$/d'#?關鍵配置
#?配置?工作目錄
c.JupyterNotebookApp.workspaces_dir?=?'/home/weiygeek/notebook'
#?配置?監聽地址及端口
c.ServerApp.ip?=?'0.0.0.0'
c.ServerApp.port?=?8888
#?配置?Jupyter?Notebook?的訪問密碼
c.PasswordIdentityProvider.hashed_password??=?'argon2:$argon2id$v=19$m=10240,t=10,p=8$ts7wW8G8A+qywpvi2A0qzg$DcOg7yWmOkwaebT90pItoJARMdAwGn80KbWjWTpoYOE'
c.PasswordIdentityProvider.password_required?=?True

Step 4.最后啟動執行如下命令 Jupyter Notebook 啟用服務,此處便可通過工作站主機IP+端口進行訪問,之后輸入認證密碼,即可訪問到Jupyter Notebook主界面。

(base)?weiygeek@Super-Server:~/桌面$?jupyter?notebook

00337245d05e81be4d0e0b7e379d022b.png

weiyigeek.top-Jupyter Notebook認證界面圖

4.使用 Jupyter Notebook

1.創建一個新的Note Book

前面設置了 Jupyter Notebook 默認工作目錄為 /home/weiygeek/notebook 里面是空的,現在我們創建一個新的 Note Book,點擊右上角的 “New” 按鈕來新建一個ipynb 文件,并從下拉菜單中選擇一個內核(通常是 Python 3),這將創建一個新的 Notebook,并自動打開一個新的標簽頁。

因為 jupyter Notebook 支持多種數據可視化庫,如 matplotlib、seaborn、plotly 等,這里使用 matplotlib 繪制一個簡單的折線圖。

import?matplotlib.pyplot?as?plt??#?創建一些數據??
x?=?[1,?2,?3,?4,?5]??
y?=?[2,?4,?6,?8,?10]??#?繪制折線圖??
plt.plot(x,?y)??
plt.title('Simple?Line?Plot')??
plt.xlabel('X?Axis')??
plt.ylabel('Y?Axis')??
plt.show()

a28ab900d63126a66136d1417f03d5ca.png

weiyigeek.top-使用 matplotlib 繪制一個簡單的折線圖圖

2.編寫和運行代碼

在新的 Notebook 中,你會看到一個空的代碼單元格,每一個單元格會有三種模式,分別是 Markdown(md) 和 Code(代碼)以及 Raw (文本),內容說明一般都是以 Markdown 單元格展示,而你需要動手練習的代碼將在 Code 單元格中執行;每個單元格的后面提供了一個菜單欄,可以對單元格進行操作,這些菜單欄包括了單元格的復制、上移、下移、刪除等操作。

eacd5944eb4e8abd1b8c855700dd8c5a.png

weiyigeek.top-編寫和運行代碼圖

假如,你需要切換單元格運行模式,可通過頂部的選項來切換單元格的模式,也可以點擊單元格頭部使用快捷鍵 M 切換到 Markdown 模式,使用快捷鍵 Y 切換到 Code 模式,使用快捷鍵 R 切換到 Raw 模式。

假如,你要運行在這個單元格中編寫Py代碼,只需按 Shift + Enter 運行它,你也可以按 Ctrl + Enter 運行代碼并在下方插入一個新的單元格,代碼執行結果將直接顯示在下方的單元格輸出區域中。

# 1.選中編輯 Markdown單元格,運行(Shift + Enter)此單元格時,它會被渲染成格式化的文本。
#?機器學習第一課這是一個 Markdown 單元格的示例。??-?無序列表項?1??
-?無序列表項?2??[鏈接到?Google](https://www.google.com)??這是一個數學方程:??$$e^{i\pi}?+?1?=?0?
$$#?2.選中單元格,并按?Shift?+?Enter
print('hello?world!')

c75bd005788558654808814588c50794.png

weiyigeek.top-機器學習第一課圖

例如,在 Jupyter Notebook 中,你可以像在任何 Python 腳本中一樣導入庫和加載數據,這里,你可以使用 pandas 庫來加載 CSV 文件:

#?導入模塊
import?pandas?as?pd??#?加載?CSV?文件??
data?=?pd.read_csv('test.csv')??#?顯示數據的前幾行??
display(data.head())

66c7f4887963c12857207dcfc17b6304.png

weiyigeek.top-使用 pandas 庫來加載 CSV 文件圖

3.單元格順序執行

無論是 Markdown 單元格,還是 Code 單元格,它們在課程中都是按照從上到下的順序依次執行的。后面的單元格需要等待前面的單元格執行完成后,才能繼續執行。執行完成的單元格左側會出現 In [序號] 的標志,例如:

a?=?2
b?=?10#?需要先執行上方單元格給?a,b?變量賦值才能執行我呢~
c?=?a?**?b#?輸出結果
print(c)

17651affa7db8e76301bdc632b177e0b.png

weiyigeek.top-Jupyter Notebook順序執行圖

溫馨提示:為了方便,Jupyter Notebook 中的 print() 打印操作并不是必須的,例如上方的單元格, a ** b 就能直接輸出結果。

4.代碼補全

在 Jupyter Notebook 中,可以通過 Tab 鍵激活代碼補全功能,例如

#?當我們在使用?import?導入模塊時,只需輸入?im?,然后按?Tab?鍵
im#?若要某個模塊下包含函數的自動補全,必須要導入模塊之后才會生效。
import?numpy?as?np
#?使用 Tab 鍵自動補全 np. 下面的類和相關函數。?
np.#?實例
a?=?np.array([1,?2,?3])
b?=?np.array([4,?5,?6])
a?+?b
#?array([5,?7,?9])a?=?np.array([[1,??2],??[3,??4]])??
print?(a)
[[1?2][3?4]]

f8c8cc9034bccfc89bf9816f8d1cb296.png

weiyigeek.top-Jupyter Notebook代碼補全圖

5.函數說明

在 Jupyter Notebook 中,可以通過【鼠標點擊導入包的函數】并按 shift + tab 查看函數幫助說明功能,例如

#?運行導入?pprint?模塊
import?pprint
#?執行模塊中的?pprint?函數
pprint.pprint([1,2,3,4,5,'w',"weiyigeek"])#?鼠標點擊至?pprint.pprint?并按?shift?+?tab?查看使用建議
Signature:
pprint.pprint(object,stream=None,indent=1,width=80,depth=None,*,compact=False,sort_dicts=True,underscore_numbers=False,
)
Docstring:?Pretty-print?a?Python?object?to?a?stream?[default?is?sys.stdout].
File:??????/data/anaconda3/lib/python3.12/pprint.py
Type:??????function

8fefe49c478afdce69541b40efc37591.png

weiyigeek.top-Jupyter Notebook函數提示圖

6.執行狀態

描述:對于復雜度高的代碼,往往會意味著更長的執行等待時間。在 Jupyter Notebook 中,當一個單元格處于執行狀態時,單元格前面會出現 In [*] 符號,只有執行完成的單元格, [] 中的 * 才會變成相應的序號。

除此之外,你可以通過頁面右上角的 Kernel 狀態指示器判斷內核占用情況。如果 Python 字符右邊出現了實心圓圈 ?,代表內核處于占有狀態。而空心圓圈 ? 則代表內核處于空閑狀態。當然也可能出現鏈接斷開的符號,那就代表著內核已經斷開鏈接,你可能需要刷新頁面或重啟實驗環境。

例如,我們遍歷一個鏈表數組,每兩秒打印其中一個元素,查看狀態的變化!

import?time
languages?=?["C",?"C++",?"Perl",?"Python","Go"]?
for?x?in?languages:time.sleep(2)print?(x)

e997df0544f189f531a9b30cda6a82d3.png

weiyigeek.top-執行狀態圖

7.重啟內核

描述:當復雜代碼執行時間過長,可能會造成實驗環境資源占用大而 Notebook 出現「假死」的現象,此時我們可以通過重啟內核的操作來解決,重啟內核的按鈕在環境的頂部,點擊 🔁 樣式按鈕后會彈出確認對話框,點擊 Restart 即可。

68f3651d44d8d61441edc9ca5aab32ce.png

weiyigeek.top-重啟內核圖

8.強制終止

有的時候,如果代碼運行時間過長,或者陷入死循環,我們會想到強制終止單元格的運行狀態。此時,頂部的 ? 按鈕就發揮作用了。

例如,運行下方無限循環代碼,并執行強制終止操作。

import?time
while?True:print("hello,?shiyanlou.")time.sleep(1)

9.保存和共享

你可以通過點擊工具欄中的 “Save” 按鈕來保存你的 Notebook,Notebook 將保存為一個 .ipynb 文件,該文件包含了你的代碼、輸出、Markdown 文本和任何嵌入的可視化內容。

要共享你的 Notebook,你可以將其導出為 HTML、PDF 或其他格式,或者將其上傳到一個支持 Jupyter Notebook 的在線平臺(如 GitHub、GitLab、Google Colab 等)。這樣,其他人就可以在你的 Notebook 上運行代碼、查看結果和進行交互了。

更多 Jupyter Notebook 操作說明,請參考:Jupyter Notebook 官方文檔

文章來自公眾號【全棧工程師修煉指南】,請大家多多支持!

5.快捷鍵 jupyter Notebook

描述:為了提供我們在使用 ?Jupyter Notebook 進行機器學習的效率,我們有必要了解一些快捷鍵。

  • H:查看所有快捷鍵。

  • S:保存當前 Notebook 內容。

  • P:調出 Notebook 命令欄。

  • B:在當前單元格下方新建空白單元格。

  • M:將單元格格式轉換為 Markdown。

  • Y:將單元格格式轉換為 Code。

  • 連續按 D+D:刪除當前單元格。(慎用,推薦使用 X 剪切單元格代替,因為其可以起到刪除效果,且刪錯了還可以粘貼回來)。

  • 連續按 I+I+I:強制中止內核(當某個單元格執行時間較長或卡住時,可以強行中止,中止后前序單元格狀態依舊保留,非常好用)。

  • Shift + Enter:運行當前單元格內容。(當 Markdown 單元格處于編輯狀態時,運行即可復原)。

  • Ctrl + Enter: 運行代碼并在下方插入一個新的單元格。

  • Tab : 模塊函數代碼自動補全。

  • Shift + Tab: 鼠標點擊函數,在按下此快捷點即可查看函數幫助說明功能。

溫馨提示:所有快捷鍵觸發式,需保證單元格處于選中狀態,而非編輯狀態。

6.總結

Jupyter Notebook 是一個功能強大的工具,它提供了一個交互式和可重復的環境來編寫、運行和共享代碼和數據。通過本文的介紹,你應該已經了解了如何安裝配置 Jupyter Notebook,并掌握了其基本使用方法。現在,你可以開始使用 Jupyter Notebook 來探索數據、構建模型、進行可視化等任務了。

溫馨提示:作者最近10年的工作學習筆記(涉及網絡、安全、運維、開發),需要學習實踐筆記的看友,可添加作者賬號[WeiyiGeeker],當前價格¥199,除了獲得從業筆記的同時還可進行問題答疑以及每月遠程技術支持,希望大家多多支持,收獲定大于付出!

cf974d5ea0cde3d203271403bd77b973.png


如果此篇文章對你有幫助,請你將它轉發給更多的人!

?學習推薦?往期文章

  • 🔥【最新】機器學習筑基篇,Ubuntu 24.04 安裝使用 Anaconda 工具包

  • 💡【相關】Python實踐之使用pytorch模型學習框架easyocr模塊批量識別大數據通信行程碼圖片并使用Flask返回json字符串

  • 💡【相關】一圖對比,Python 與 Java 語言代碼運行機制

ca3d4cfe2365c87d4d354da6fd6d67b0.gif

57a8519ad33a2773785943da3bb20e51.gif

感覺文章不錯的童鞋,請幫忙轉發,點 👍、在看,若有疑問的小伙伴,可在評論區留言你想法喲💬!

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

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

相關文章

老物件線上3D回憶展拓寬了藝術作品的展示空間和時間-深圳華銳視點

在數字技術的浪潮下,3D線上畫展為藝術家們開啟了一個全新的展示與銷售平臺。這一創新形式不僅拓寬了藝術作品的展示空間,還為廣大觀眾帶來了前所未有的觀賞體驗。 3D線上畫展制作以其獨特的互動性,讓藝術不再是單一的視覺享受。在這里&#x…

數據處理-Matplotlib 繪圖展示

文章目錄 1. Matplotlib 簡介2. 安裝3. Matplotlib Pyplot4. 繪制圖表1. 折線圖2. 散點圖3. 柱狀圖4. 餅圖5. 直方圖 5. 中文顯示 1. Matplotlib 簡介 Matplotlib 是 Python 的繪圖庫,它能讓使用者很輕松地將數據圖形化,并且提供多樣化的輸出格式。 Ma…

如何定義版本號--語義化版本

前言 版本號(version number)是版本的標識號。每一個操作系統(或廣義的講,每一個軟件)都有一個版本號。版本號能使用戶了解所使用的操作系統是否為最新的版本以及它所提供的功能與設施。 例如在Python項目依賴中會看到 requires-python &q…

zdppy+onlyoffice實現重命名文件的功能

參考文檔:https://api.onlyoffice.com/zh/editors/rename 步驟圖: 實現步驟: 用戶在 文檔編輯器中為文檔指定一個新名稱。 文檔編輯器 將文檔的新名稱通知給 文檔管理器。 文檔管理器 將文檔的新名稱發送到 文檔存儲服務,在這里…

使用jsencrypt在web前端對字符串進行Ras加密

話不多說&#xff0c;上代碼 實例代碼 下面方法&#xff0c;在網頁中先引入jsencrypt.min.js。然后調用ToEncrypt方法示例輸出加密&#xff0c;解密后的結果。 <script src"/js/jsencrypt.min.js"></script> //加密測試function ToEncrypt(){// 假設…

synchronized關鍵字詳解

文章目錄 synchronized使用示例實現原理鎖的升級synchronized與可見性synchronized與原子性synchronized與有序性 synchronized synchronized是Java提供的關鍵字譯為同步&#xff0c;是Java中用于實現線程同步的一種機制。它可以確保在同一時間只有一個線程能夠執行某段代碼&a…

【Python系列】數字的bool值

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

泌尿系統疾病病人的護理

一、泌尿系統疾病病人的一般護理要點 對于泌尿系統疾病的病人&#xff0c;護理是至關重要的。首先&#xff0c;要密切觀察病人的生命體征&#xff0c;包括體溫、脈搏、呼吸和血壓。 飲食方面&#xff0c;應根據病人的具體病情進行調整。例如&#xff0c;對于有水腫的病人&#…

js登陸驗證

當開始制作網頁時&#xff0c;就需要做一個判斷&#xff0c;不管在第幾頁進入&#xff0c;都要加一個登陸驗證&#xff0c;只有用戶有賬號&#xff0c;才能進入網頁&#xff0c;瀏覽網頁信息。下面就來看一下&#xff0c;使用JavaScript幾行代碼實現登陸驗證。 首先 登錄頁是i…

vue父組件樣式穿透修改子組件樣式

在 Vue 中&#xff0c;使用父組件樣式穿透到子組件通常不推薦&#xff0c;因為它破壞了樣式的作用域隔離&#xff0c;但如果你確實需要這樣做&#xff0c;可以使用深度選擇器。Vue 2 使用 ::v-deep&#xff0c;而 Vue 3 使用 /deep/ 或 ::v-deep 都可以。 以下是使用深度選擇器…

MVC之 IHttpModule管道模型《二》

》》》注意&#xff1a;在http請求的處理過程中&#xff0c;只能調用一個HttpHandler&#xff0c;但可以調用多個HttpModule。 HTTP Modules ASP.NET請求處理過程是基于管道模型的&#xff0c;這個管道模型是由多個HttpModule和HttpHandler組成&#xff0c;當請求到達HttpMod…

java-mysql-insert 操作

在 Java 中&#xff0c;使用 JDBC 插入數據到 MySQL 數據庫是非常常見的操作。以下是一個詳細的步驟&#xff0c;展示如何使用 JDBC 插入數據到 MySQL 數據庫。 ### 一、準備工作 #### 1. 下載并安裝 MySQL 如果您還沒有安裝 MySQL&#xff0c;可以從 MySQL 官方網站下載并安…

UART編程

Q:為什么使用串口前要先在電腦上安裝CH340驅動&#xff1f; 中斷的作用&#xff1f; 環形buffer的作用&#xff1f; static和valitate的作用 三種編程方式簡介 也可以通過DMA方式減小CPU資源的消耗 直接把數據在SRAM內存和UART模塊進行傳輸 &#xff0c;流程&#xff1a; …

玩家自行定制內存將古老的386 PC內存升級到64MB容量

比爾蓋茨曾說&#xff1a;“無論對誰來說&#xff0c;640K內存都足夠了。” 如果你是一個還停留在 30 針 SIMM 時代的老式電腦愛好者&#xff0c;那么你的內存升級選擇是相當有限的。不過&#xff0c;YouTube 上的一個頻道已經展示了如何將古老的 386 系統內存升級到令人"…

【AI應用探討】—對抗學習(AL)應用場景

目錄 一、圖像領域 二、自然語言處理&#xff08;NLP&#xff09; 三、安全領域 四、其他領域 五、醫療健康領域 六、游戲與娛樂領域 七、機器人與自動化領域 八、科研與教育領域 九、物聯網與邊緣計算 十、金融科技 十一、能源與環境 十二、社會科學與人文研究 十…

Linux內核編譯安裝 - Deepin,Debian系

為什么要自己編譯內核 優點 定制化&#xff1a;你可以根據自己的硬件和需求配置內核&#xff0c;去掉不必要的模塊&#xff0c;優化性能。性能優化&#xff1a;移除不需要的驅動程序和特性&#xff0c;減小內核體積&#xff0c;提高系統性能。最新特性和修復&#xff1a;獲取…

什么是開放最短路徑優先(OSPF)

OSPF是一種典型的鏈路狀態路由協議&#xff0c;一般在同一個路由域中使用。這里的路由域指的是一個自治系統&#xff08;AS&#xff09;&#xff0c;是指一組通過統一的路由策略或協議相互交換路由信息的網絡。在這個自治系統&#xff08;AS&#xff09;中&#xff0c;所有的OS…

【Leetcode】最小數字游戲

你有一個下標從 0 開始、長度為 偶數 的整數數組 nums &#xff0c;同時還有一個空數組 arr 。Alice 和 Bob 決定玩一個游戲&#xff0c;游戲中每一輪 Alice 和 Bob 都會各自執行一次操作。游戲規則如下&#xff1a; 每一輪&#xff0c;Alice 先從 nums 中移除一個 最小 元素&…

等保測評是做什么的

等保測評的定義和目的 等保測評&#xff0c;全稱為信息安全等級保護測評&#xff0c;是依據國家信息安全等級保護規范規定&#xff0c;由具有資質的測評機構對信息系統安全等級保護狀況進行檢測評估的活動。等保測評的目的是驗證網絡系統或應用是否滿足相應的安全保護等級要求…

【Linux】System V消息隊列 System V信號量

&#x1f466;個人主頁&#xff1a;Weraphael ?&#x1f3fb;作者簡介&#xff1a;目前正在學習c和算法 ??專欄&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起進步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指點一二 如果文章對…