HTML、CSS 和 JavaScript 常見用法及使用規范

一、HTML 深度剖析

1. 文檔類型聲明

HTML 文檔開頭的?<!DOCTYPE html>?聲明告知瀏覽器當前文檔使用的是 HTML5 標準。它是文檔的重要元信息,能確保瀏覽器以標準模式渲染頁面,避免怪異模式下的兼容性問題。

2. 元數據標簽

  • <meta>?標簽:用途廣泛,比如設置字符編碼?<meta charset="UTF-8">,保證頁面能正確顯示各種語言字符。還可用于設置頁面描述?<meta name="description" content="這是一個示例網頁的描述">,利于搜索引擎優化。
  • 視口設置<meta name="viewport" content="width=device-width, initial-scale=1.0">?可讓頁面在不同設備上正確縮放,實現響應式布局。

3. 超鏈接標簽

  • <a>?標簽:基本用法是?<a href="https://www.example.com">訪問示例網站</a>。此外,還能創建郵件鏈接?<a href="mailto:example@example.com">發送郵件</a>?和下載鏈接?<a href="example.pdf" download>下載 PDF 文件</a>
  • 錨點鏈接:用于頁面內跳轉,先在目標位置設置?<a id="section1"></a>,然后在鏈接處使用?<a href="#section1">跳轉到第一節</a>

4. 列表標簽

  • 無序列表<ul>?標簽,每個列表項用?<li>?包裹,如?<ul><li>蘋果</li><li>香蕉</li></ul>
  • 有序列表<ol>?標簽,同樣用?<li>?表示列表項,瀏覽器會自動為其編號。
  • 定義列表:由?<dl>?包裹,包含?<dt>(定義術語)和?<dd>(術語定義),例如?<dl><dt>HTML</dt><dd>超文本標記語言</dd></dl>

5. 表單標簽

  • <form>?標簽:用于收集用戶輸入,通過?action?屬性指定表單數據提交的 URL,method?屬性指定提交方式(GET?或?POST)。
  • 輸入字段:常見的有?<input type="text">(文本輸入框)、<input type="password">(密碼輸入框)、<input type="radio">(單選框)、<input type="checkbox">(復選框)、<input type="submit">(提交按鈕)等。
  • 下拉列表:使用?<select>?和?<option>?標簽創建,如?<select><option value="option1">選項 1</option></select>
  • 文本域<textarea>?標簽用于輸入多行文本。

6. 多媒體標簽

  • <img>?標簽:用于顯示圖片,除了?src?和?alt?屬性,還可通過?width?和?height?屬性設置圖片尺寸。
  • <video>?標簽:可嵌入視頻,支持多種視頻格式,如?<video src="example.mp4" controls></video>controls?屬性添加視頻控制條。
  • <audio>?標簽:用于播放音頻,用法與?<video>?類似,如?<audio src="example.mp3" controls></audio>

7. 框架標簽

  • <iframe>?標簽:可在頁面中嵌入另一個網頁,例如?<iframe src="https://www.example.com" width="500" height="300"></iframe>

8. HTML 實體

當需要顯示特殊字符(如?<>&?等)時,可使用 HTML 實體,如?&lt;?表示?<&gt;?表示?>&amp;?表示?&

9. 表單元素及屬性

表單?<form>

表單是 HTML 中用于收集用戶輸入數據的重要元素,以下是常見屬性:

屬性描述示例
action指定表單數據提交的 URL<form action="submit.php">
method表單數據提交的方式,有?GET?和?POST?兩種<form method="POST">
enctype當表單包含文件上傳時,指定表單數據的編碼類型,常見值有?application/x-www-form-urlencodedmultipart/form-data?等<form enctype="multipart/form-data">

除了基本的?actionmethod?和?enctype?屬性外,還可以使用?novalidate?屬性來禁用表單的默認驗證。

<form action="submit.php" method="POST" enctype="multipart/form-data" novalidate><!-- 表單內容 -->
</form>
文本框?<input type="text">

文本框用于接收用戶輸入的單行文本,常見屬性如下:

屬性描述示例
name表單數據提交時的名稱<input type="text" name="username">
value文本框的初始值<input type="text" value="默認文本">
placeholder提示用戶輸入的文本,當文本框為空時顯示<input type="text" placeholder="請輸入用戶名">
readonly設置文本框為只讀,用戶不能修改其內容<input type="text" readonly>
disabled禁用文本框,用戶不能與之交互,且提交表單時該字段數據不會被發送<input type="text" disabled>
maxlength限制用戶輸入的最大字符數<input type="text" maxlength="20">
  • 自動完成autocomplete?屬性可設置文本框是否啟用自動完成功能,值可以是?on?或?off
<input type="text" name="email" autocomplete="off">
  • 輸入模式inputmode?屬性可以指定輸入的類型,如?numeric?表示只能輸入數字。
<input type="text" name="phone" inputmode="numeric">
密碼框?<input type="password">

密碼框用于輸入密碼,其屬性與文本框類似,輸入的內容會以星號或圓點顯示。

<input type="password" name="password" placeholder="請輸入密碼">
按鈕?<input type="button"><button>

按鈕可用于觸發操作,常見屬性如下:

屬性描述示例
value按鈕上顯示的文本(<input type="button"><input type="button" value="點擊我">
disabled禁用按鈕,用戶不能點擊<button disabled>禁用按鈕</button>
onclick定義按鈕被點擊時執行的 JavaScript 代碼<button onclick="alert('按鈕被點擊')">點擊觸發事件</button>

除了使用?onclick?事件,還可以通過?disabled?屬性動態控制按鈕的可用性。

<button id="myButton" disabled>禁用按鈕</button>
<script>const button = document.getElementById('myButton');// 模擬一段時間后啟用按鈕setTimeout(() => {button.disabled = false;}, 3000);
</script>
復選框?<input type="checkbox">

復選框允許用戶選擇多個選項,常見屬性如下:

屬性描述示例
name表單數據提交時的名稱<input type="checkbox" name="hobbies">
value復選框選中時提交的值<input type="checkbox" value="reading">
checked設置復選框默認選中<input type="checkbox" checked>
單選框?<input type="radio">

單選框允許用戶從一組選項中選擇一個,同一組單選框需使用相同的?name?屬性。

屬性描述示例
name用于分組,同一組單選框使用相同名稱<input type="radio" name="gender">
value單選框選中時提交的值<input type="radio" value="male">
checked設置單選框默認選中<input type="radio" checked>

可以使用 JavaScript 來控制復選框和單選框的選中狀態。

<input type="checkbox" id="check1"> 選項 1
<input type="checkbox" id="check2"> 選項 2
<button onclick="checkAll()">全選</button>
<script>function checkAll() {const checkboxes = document.querySelectorAll('input[type="checkbox"]');checkboxes.forEach(checkbox => {checkbox.checked = true;});}
</script>
列表框?<select>?和?<option>

列表框用于提供一組選項供用戶選擇,常見屬性如下:

屬性描述示例
name表單數據提交時的名稱<select name="city">
multiple允許用戶選擇多個選項<select multiple>
size指定列表框中可見的選項數量<select size="3">
value<option>?標簽的屬性,指定該選項被選中時提交的值<option value="beijing">北京</option>
selected設置?<option>?默認選中<option selected>默認選項</option>

10. 其他 HTML 元素和屬性

表格?<table>

表格用于展示數據,包含?<tr>(行)、<th>(表頭單元格)和?<td>(數據單元格)。

<table><tr><th>姓名</th><th>年齡</th></tr><tr><td>張三</td><td>25</td></tr>
</table>
圖像?<img>

圖像元素用于顯示圖片,常見屬性如下:

屬性描述示例
src圖片的 URL 地址<img src="image.jpg">
alt圖片無法顯示時顯示的替代文本<img alt="這是一張圖片">
width?和?height設置圖片的寬度和高度<img width="200" height="150">
視頻?<video>

可以使用?preload?屬性來控制視頻的預加載策略,有?autometadata?和?none?三種值。

<video src="video.mp4" preload="metadata" controls></video>
音頻?<audio>

可以使用?loop?屬性讓音頻循環播放。

<audio src="audio.mp3" loop controls></audio>

二、CSS 深入探究

1. 盒模型

盒模型由內容區(content)、內邊距(padding)、邊框(border)和外邊距(margin)組成。可通過?width?和?height?屬性設置內容區大小,paddingborder?和?margin?屬性分別控制內邊距、邊框和外邊距。

.box {width: 200px;height: 200px;padding: 20px;border: 1px solid black;margin: 20px;
}

2. 浮動與清除浮動

  • 浮動:使用?float?屬性(left?或?right)可讓元素脫離正常文檔流,實現多列布局。但浮動元素會導致父元素高度塌陷。
  • 清除浮動:可使用?clear?屬性(leftright?或?both)清除浮動影響,也可使用 BFC(塊級格式化上下文)來解決高度塌陷問題。

3. 定位

  • 靜態定位:默認值,元素按照正常文檔流排列。
  • 相對定位position: relative,元素相對于其正常位置進行偏移,不會脫離文檔流。
  • 絕對定位position: absolute,元素相對于最近的已定位祖先元素進行定位,會脫離文檔流。
  • 固定定位position: fixed,元素相對于瀏覽器窗口固定位置,常用于創建固定導航欄等。
  • 粘性定位position: sticky,元素在滾動時固定在某個位置,直到滾動出特定區域。

4. 彈性布局(Flexbox)

彈性布局是一種一維布局模型,可輕松實現元素的水平和垂直對齊。

.container {display: flex;justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */
}

5. 網格布局(Grid)

網格布局是二維布局模型,可創建復雜的網格結構。

.grid-container {display: grid;grid-template-columns: 1fr 1fr 1fr; /* 三列布局 */grid-gap: 20px; /* 網格間距 */
}

6. 響應式設計

  • 媒體查詢:使用?@media?規則根據不同的屏幕尺寸應用不同的樣式。
@media (max-width: 768px) {/* 當屏幕寬度小于等于 768px 時應用的樣式 */body {font-size: 14px;}
}
  • 彈性單位:如?emremvwvh?等,可根據父元素或視口大小動態調整元素尺寸。

7. 動畫與過渡

  • 過渡:使用?transition?屬性實現元素狀態的平滑過渡,如顏色、大小等的變化。
.button {background-color: blue;transition: background-color 0.3s ease;
}
.button:hover {background-color: red;
}
  • 動畫:使用?@keyframes?規則定義動畫,然后通過?animation?屬性應用動畫。
@keyframes slide {from {transform: translateX(0);}to {transform: translateX(100px);}
}
.box {animation: slide 2s infinite;
}
1. 旋轉角度

使用?transform?屬性的?rotate()?函數可以實現元素的旋轉,單位可以是度(deg)、弧度(rad)、梯度(grad)或圈數(turn)。

.rotate-element {transform: rotate(45deg); /* 順時針旋轉 45 度 */
}
2. 縮放

使用?transform?屬性的?scale()?函數可以實現元素的縮放,參數可以是一個值(等比例縮放)或兩個值(分別指定水平和垂直方向的縮放比例)。

.scale-element {transform: scale(1.5); /* 等比例放大 1.5 倍 */
}
3. 傾斜

使用?transform?屬性的?skew()?函數可以實現元素的傾斜,參數分別指定水平和垂直方向的傾斜角度。

.skew-element {transform: skew(20deg, 10deg); /* 水平傾斜 20 度,垂直傾斜 10 度 */
}
4. 平移

使用?transform?屬性的?translate()?函數可以實現元素的平移,參數分別指定水平和垂直方向的平移距離。

.translate-element {transform: translate(50px, 20px); /* 水平向右平移 50px,垂直向下平移 20px */
}
5. 過渡效果

使用?transition?屬性可以實現元素狀態變化時的平滑過渡,常見屬性如下:

屬性描述示例
transition-property指定要過渡的 CSS 屬性transition-property: width;
transition-duration指定過渡的持續時間transition-duration: 0.5s;
transition-timing-function指定過渡的時間曲線,如?easelinear?等transition-timing-function: ease-in-out;
transition-delay指定過渡的延遲時間transition-delay: 0.2s;
.box {width: 100px;height: 100px;background-color: blue;transition: width 0.5s ease-in-out;
}
.box:hover {width: 200px;
}
6. 動畫效果

使用?@keyframes?規則定義動畫,然后通過?animation?屬性應用動畫。

@keyframes slide {from {transform: translateX(0);}to {transform: translateX(200px);}
}
.animated-element {animation: slide 2s infinite; /* 應用名為 slide 的動畫,持續 2 秒,無限循環 */
}

三、JavaScript 深度解讀

1. 數據類型

  • 基本數據類型:包括?NumberStringBooleanNullUndefinedSymbol
  • 引用數據類型:如?ObjectArrayFunction?等。

2. 變量聲明

  • var:舊的變量聲明方式,存在變量提升和函數作用域問題。
  • let:塊級作用域變量聲明,避免了變量提升帶來的問題。
  • const:聲明常量,一旦賦值不能再重新賦值,但對于引用類型,其內部屬性可以修改。

3. 函數

  • 函數聲明function add(a, b) { return a + b; }
  • 函數表達式const add = function(a, b) { return a + b; };
  • 箭頭函數const add = (a, b) => a + b;

4. 作用域

  • 全局作用域:變量在整個腳本中都可訪問。
  • 函數作用域:變量只能在函數內部訪問。
  • 塊級作用域:使用?let?和?const?聲明的變量在塊級作用域內有效。

5. 面向對象編程

  • 構造函數:用于創建對象實例,如?function Person(name, age) { this.name = name; this.age = age; }
  • 原型鏈:每個對象都有一個原型對象,通過原型鏈可以實現繼承。
  • 類和繼承:ES6 引入了?class?關鍵字,可使用?extends?實現類的繼承。
class Animal {constructor(name) {this.name = name;}speak() {console.log(`${this.name} makes a noise.`);}
}
class Dog extends Animal {speak() {console.log(`${this.name} barks.`);}
}

6. 事件處理

  • 事件綁定:可使用?addEventListener?方法為元素添加事件監聽器,支持多種事件類型,如?clickmouseoverkeydown?等。
const button = document.getElementById('myButton');
button.addEventListener('click', function() {alert('Button clicked!');
});
  • 事件冒泡和捕獲:事件在 DOM 樹中傳播有冒泡和捕獲兩個階段,可通過?addEventListener?的第三個參數控制。

7. 異步編程

  • 回調函數:是最基本的異步處理方式,但容易出現回調地獄問題。
function getData(callback) {setTimeout(() => {const data = { message: 'Hello' };callback(data);}, 1000);
}
getData((data) => {console.log(data.message);
});
  • Promise:用于處理異步操作,避免回調地獄,有?pendingfulfilled?和?rejected?三種狀態。
const promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Success');}, 1000);
});
promise.then((result) => {console.log(result);
});
  • async/await:是基于 Promise 的語法糖,使異步代碼看起來更像同步代碼。
async function fetchData() {const response = await fetch('https://api.example.com/data');const data = await response.json();return data;
}
fetchData().then((data) => {console.log(data);
});

8. 模塊化

  • ES6 模塊:使用?import?和?export?關鍵字實現模塊的導入和導出。
// module.js
export const add = (a, b) => a + b;// main.js
import { add } from './module.js';
console.log(add(1, 2));

9. DOM 操作

JavaScript 可以通過 DOM(文檔對象模型)操作 HTML 元素,常見方法如下:

方法描述示例
document.getElementById()根據元素的 ID 獲取元素const element = document.getElementById('myElement');
document.getElementsByTagName()根據元素的標簽名獲取元素集合const elements = document.getElementsByTagName('p');
document.getElementsByClassName()根據元素的類名獲取元素集合const elements = document.getElementsByClassName('myClass');
document.querySelector()根據 CSS 選擇器獲取第一個匹配的元素const element = document.querySelector('.myClass');
document.querySelectorAll()根據 CSS 選擇器獲取所有匹配的元素集合const elements = document.querySelectorAll('p');
element.innerHTML獲取或設置元素的 HTML 內容element.innerHTML = '<p>新內容</p>';
element.style獲取或設置元素的樣式element.style.color = 'red';

10. 事件處理

JavaScript 可以監聽 HTML 元素的各種事件,如點擊、鼠標移動等。常見事件和綁定方法如下:

事件描述綁定方法
click元素被點擊時觸發element.addEventListener('click', function() { /* 處理代碼 */ });
mouseover鼠標懸停在元素上時觸發element.addEventListener('mouseover', function() { /* 處理代碼 */ });
keydown按下鍵盤按鍵時觸發document.addEventListener('keydown', function(event) { /* 處理代碼 */ });

11. 表單驗證

在用戶提交表單之前,可以使用 JavaScript 對表單數據進行驗證,確保數據的有效性。

<form id="myForm"><input type="text" id="username" required><input type="submit" value="提交">
</form>
<script>const form = document.getElementById('myForm');form.addEventListener('submit', function(event) {const username = document.getElementById('username').value;if (username.length < 3) {alert('用戶名長度不能少于 3 個字符');event.preventDefault(); // 阻止表單提交}});
</script>

12. 異步編程

JavaScript 中的異步操作可以避免阻塞主線程,提高程序的性能。常見的異步編程方式有回調函數、Promise 和 async/await。

回調函數
function getData(callback) {setTimeout(() => {const data = { message: 'Hello' };callback(data);}, 1000);
}
getData((data) => {console.log(data.message);
});
Promise
const promise = new Promise((resolve, reject) => {setTimeout(() => {const success = true;if (success) {resolve('成功');} else {reject('失敗');}}, 1000);
});
promise.then((result) => {console.log(result);
}).catch((error) => {console.error(error);
});
async/await
async function fetchData() {try {const response = await fetch('https://api.example.com/data');const data = await response.json();return data;} catch (error) {console.error(error);}
}
fetchData().then((data) => {console.log(data);
});

13. 事件委托

事件委托是一種利用事件冒泡原理,將事件處理程序綁定到父元素上,從而處理子元素事件的技術。

<ul id="myList"><li>列表項 1</li><li>列表項 2</li>
</ul>
<script>const list = document.getElementById('myList');list.addEventListener('click', function(event) {if (event.target.tagName === 'LI') {console.log('點擊了列表項:', event.target.textContent);}});
</script>

14. 本地存儲

JavaScript 提供了?localStorage?和?sessionStorage?對象,用于在瀏覽器中存儲數據。

// 存儲數據
localStorage.setItem('username', 'John');
// 獲取數據
const username = localStorage.getItem('username');
console.log(username);
// 刪除數據
localStorage.removeItem('username');

15. 定時器

使用?setTimeout()?和?setInterval()?函數可以實現定時任務。

// 延遲 2 秒后執行函數
setTimeout(() => {console.log('2 秒后執行');
}, 2000);// 每隔 1 秒執行一次函數
const intervalId = setInterval(() => {console.log('每秒執行一次');
}, 1000);// 停止定時器
clearInterval(intervalId);

16. AJAX 請求

使用?XMLHttpRequest?或?fetch?API 可以實現異步數據請求。

// 使用 fetch API
fetch('https://api.example.com/data').then(response => response.json()).then(data => console.log(data)).catch(error => console.error(error));

四、綜合使用與最佳實踐

1. 代碼分離

將 HTML、CSS 和 JavaScript 代碼分離到不同的文件中,提高代碼的可維護性和復用性。

2. 命名規范

  • HTML 類名和 ID 采用有意義的命名,如?header-navmain-content
  • CSS 類名遵循 BEM(塊、元素、修飾符)命名規范,如?.button--primary
  • JavaScript 變量和函數名使用駝峰命名法,如?userNamegetUserInfo

3. 注釋與文檔

添加必要的注釋解釋代碼的功能和實現思路,特別是復雜的邏輯部分。同時,編寫文檔說明項目的整體架構和使用方法。

4. 性能優化

  • HTML 中減少不必要的標簽嵌套,壓縮代碼。
  • CSS 避免使用內聯樣式,合并和壓縮 CSS 文件。
  • JavaScript 減少 DOM 操作,合理使用事件委托,壓縮代碼。

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

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

相關文章

基于CNN+ViT的蔬果圖像分類實驗

本文只是做一個簡單融合的實驗&#xff0c;沒有任何新穎&#xff0c;大家看看就行了。 1.數據集 本文所采用的數據集為Fruit-360 果蔬圖像數據集&#xff0c;該數據集由 Horea Mure?an 等人整理并發布于 GitHub&#xff08;項目地址&#xff1a;Horea94/Fruit-Images-Datase…

Ubuntu24.04安裝libgl1-mesa-glx 報錯,軟件包缺失

在 Ubuntu 24.04 系統中&#xff0c;您遇到的 libgl1-mesa-glx 軟件包缺失問題可能是由于該包在最新的 Ubuntu 版本中被重命名為 libglx-mesa0。以下是針對該問題的詳細解決方案&#xff1a; 1. 問題原因分析 包名稱變更&#xff1a;在 Ubuntu 24.04 中&#xff0c;libgl1-me…

webpack vite

? 1、webpack webpack打包工具&#xff08;重點在于配置和使用&#xff0c;原理并不高優。只在開發環境應用&#xff0c;不在線上環境運行&#xff09;&#xff0c;壓縮整合代碼&#xff0c;讓網頁加載更快。 前端代碼為什么要進行構建和打包&#xff1f; 體積更好&#x…

如何在爬蟲中合理使用海外代理?在爬蟲中合理使用海外ip

我們都知道&#xff0c;爬蟲工作就是在各類網頁中游走&#xff0c;快速而高效地采集數據。然而如果目標網站分布在多個國家或者存在區域性限制&#xff0c;那靠普通的網絡訪問可能會帶來諸多阻礙。而這時&#xff0c;“海外代理”儼然成了爬蟲工程師們的得力幫手&#xff01; …

數據倉庫分層存儲設計:平衡存儲成本與查詢效率

數據倉庫分層存儲不僅是一個技術問題,更是一種藝術:如何在有限的資源下,讓數據既能快速響應查詢,又能以最低的成本存儲? 目錄 一、什么是數據倉庫分層存儲? 二、分層存儲的體系架構 1. 數據源層(ODS,Operational Data Store) 2. 數據倉庫層(DW,Data Warehouse)…

YOLO學習筆記 | 基于YOLOv8的植物病害檢測系統

以下是基于YOLOv8的植物病害檢測系統完整技術文檔,包含原理分析、數學公式推導及代碼實現框架。 基于YOLOv8的智能植物病害檢測系統研究 摘要 針對傳統植物病害檢測方法存在的效率低、泛化性差等問題,本研究提出一種基于改進YOLOv8算法的智能檢測系統。通過設計輕量化特征提…

高級語言調用C接口(二)回調函數(4)Python

前面2篇分別說了java和c#調用C接口&#xff0c;參數為回調函數&#xff0c;回調函數中參數是結構體指針。 接下來說下python的調用方法。 from ctypes import * import sysclass stPayResult(Structure):_pack_ 4 # 根據實際C結構體的對齊方式設置&#xff08;常見值為1,4,…

springboot啟動動態定時任務

1.自定義定時任務線程池 package com.x.devicetcpserver.global.tcp.tcpscheduler;import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotatio…

pytorch框架認識--手寫數字識別

手寫數字是機器學習中非常經典的案例&#xff0c;本文將通過pytorch框架&#xff0c;利用神經網絡來實現手寫數字識別 pytorch中提供了手寫數字的數據集&#xff0c;我們可以直接從pytorch中下載 MNIST中包含70000張手寫數字圖像&#xff1a;60000張用于訓練&#xff0c;10000…

WPF 使用依賴注入后關閉窗口程序不結束

原因是在ViewModel中在構造函數中注入了Window 對象&#xff0c;即使沒有使用&#xff0c;主窗口關閉程序不會退出&#xff0c;即使 ViewModel 是 AddTransient 注入的。 解決方法&#xff1a;不使用構造函數注入Window&#xff0c;通過GetService獲取Window 通過注入對象調用…

用戶管理(添加和刪除,查詢信息,切換用戶,查看登錄用戶,用戶組,配置文件)

目錄 添加和刪除用戶 查詢用戶信息 切換用戶 查看當前的操作用戶是誰 查看首次登錄的用戶是誰 用戶組&#xff08;對屬于同個角色的用戶統一管理&#xff09; 新增組 刪除組 添加用戶的同時&#xff0c;指定組 修改用戶的組 組的配置文件&#xff08;/etc/group&…

PyTorch學習-小土堆教程

網絡搭建torch.nn.Module 卷積操作 torch.nn.functional.conv2d(input, weight, biasNone, stride1, padding0, dilation1, groups1) 神經網絡-卷積層

MVCC詳細介紹及面試題

目錄 1.什么是mvcc&#xff1f; 2.問題引入 3. MVCC實現原理&#xff1f; 3.1 隱藏字段 3.2 undo log 日志 3.2.1 undo log版本鏈 3.3 readview 3.3.1 當前讀 ?編輯 3.3.2 快照讀 3.3.3 ReadView中4個核心字段 3.3.4 版本數據鏈訪問的規則&#xff08;了解&#x…

企業級Active Directory架構設計與運維管理白皮書

企業級Active Directory架構設計與運維管理白皮書 第一章 多域架構設計與信任管理 1.1 企業域架構拓撲設計 1.1.1 林架構設計規范 林根域規劃原則&#xff1a; 采用三段式域名結構&#xff08;如corp.enterprise.com&#xff09;&#xff0c;避免使用不相關的頂級域名架構主…

android11 DevicePolicyManager淺析

目錄 &#x1f4d8; 簡單定義 &#x1f4d8;應用啟用設備管理者 &#x1f4c2; 文件位置 &#x1f9e0; DevicePolicyManager 功能分類舉例 &#x1f6e1;? 1. 安全策略控制 &#x1f4f7; 2. 控制硬件功能 &#x1f9f0; 3. 應用管理 &#x1f512; 4. 用戶管理 &am…

Java學習手冊:Java線程安全與同步機制

在Java并發編程中&#xff0c;線程安全和同步機制是確保程序正確性和數據一致性的關鍵。當多個線程同時訪問共享資源時&#xff0c;如果不加以控制&#xff0c;可能會導致數據不一致、競態條件等問題。本文將深入探討Java中的線程安全問題以及解決這些問題的同步機制。 線程安…

PyTorch核心函數詳解:gather與where的實戰指南

PyTorch中的torch.gather和torch.where是處理張量數據的關鍵工具&#xff0c;前者實現基于索引的靈活數據提取&#xff0c;后者完成條件篩選與動態生成。本文通過典型應用場景和代碼演示&#xff0c;深入解析兩者的工作原理及使用技巧&#xff0c;幫助開發者提升數據處理的靈活…

聲學測溫度原理解釋

已知聲速&#xff0c;就可以得到溫度。 不同溫度下的勝訴不同。 25度的聲速大約346m/s 絕對溫度-273度 不同溫度下的聲速。 FPGA 通過測距雷達測溫度&#xff0c;固定測量距離&#xff0c;或者可以測出當前距離。已知距離&#xff0c;然后雷達發出聲波到接收到回波的時間&a…

【網絡篇】UDP協議的封裝分用全過程

大家好呀 我是浪前 今天講解的是網絡篇的第二章&#xff1a;UDP協議的封裝分用 我們的協議最開始是OSI七層網絡協議 這個OSI 七層網絡協議 是計算機的大佬寫的&#xff0c;但是這個協議一共有七層&#xff0c;太多了太麻煩了&#xff0c;于是我們就把這個七層網絡協議就簡化為…

spring-ai-alibaba使用Agent實現智能機票助手

示例目標是使用 Spring AI Alibaba 框架開發一個智能機票助手&#xff0c;它可以幫助消費者完成機票預定、問題解答、機票改簽、取消等動作&#xff0c;具體要求為&#xff1a; 基于 AI 大模型與用戶對話&#xff0c;理解用戶自然語言表達的需求支持多輪連續對話&#xff0c;能…