【工具】圖床完全指南:從選擇到搭建的全方位解決方案

前言

在數字化內容創作的時代,圖片已經成為博客、文檔、社交媒體等平臺不可或缺的元素。然而,如何高效、穩定地存儲和分發圖片資源,一直是內容創作者面臨的重要問題。圖床(Image Hosting)作為專門的圖片存儲和分發服務,為這個問題提供了完美的解決方案。本文將全面介紹圖床的概念、分類、選擇標準以及各種搭建方案。

一、圖床基礎概念

(一)什么是圖床

圖床是指專門用于存儲圖片并提供外鏈訪問的服務平臺。它的主要功能包括:

  1. 圖片存儲:提供穩定的圖片存儲空間
  2. 外鏈服務:生成可直接訪問的圖片URL
  3. CDN加速:通過內容分發網絡提高訪問速度
  4. 批量管理:支持圖片的批量上傳、刪除、分類等操作

(二)圖床的工作原理

用戶上傳圖片
圖床服務器
存儲到云端
生成外鏈URL
CDN分發
用戶訪問圖片

1. 上傳流程

# 典型的圖片上傳流程
1. 用戶選擇圖片文件
2. 客戶端壓縮/處理圖片(可選)
3. 上傳到圖床服務器
4. 服務器存儲圖片
5. 返回圖片的訪問URL

2. 訪問流程

# 圖片訪問流程
1. 用戶請求圖片URL
2. CDN節點檢查緩存
3. 如果緩存命中,直接返回
4. 如果緩存未命中,從源站獲取
5. 返回圖片給用戶并緩存

(三)圖床的優勢

1. 減輕服務器壓力

  • 將圖片資源分離到專門的存儲服務
  • 減少主服務器的帶寬和存儲壓力
  • 提高網站整體性能

2. 提升訪問速度

  • 利用CDN全球節點加速
  • 專業的圖片優化和壓縮
  • 支持多種圖片格式和尺寸

3. 降低成本

  • 專業的存儲服務成本更低
  • 按需付費,避免資源浪費
  • 減少服務器維護成本

4. 提高可靠性

  • 多重備份保障數據安全
  • 專業的運維團隊維護
  • 高可用性保證

二、圖床分類與對比

(一)按服務類型分類

1. 免費圖床

服務商存儲空間單文件限制CDN穩定性推薦度
GitHub1GB25MB?????
Gitee1GB1MB???
SM.MS5GB5MB????
ImgBB無限32MB???

2. 付費圖床

服務商價格存儲空間帶寬CDN推薦度
七牛云0.148元/GB/月按需0.29元/GB?????
阿里云OSS0.148元/GB/月按需0.5元/GB?????
騰訊云COS0.118元/GB/月按需0.5元/GB?????
又拍云0.117元/GB/月按需0.29元/GB????

3. 自建圖床

方案成本技術難度可控性穩定性推薦度
服務器+Nginx???
MinIO????
Chevereto????

(二)按使用場景分類

1. 個人博客圖床

推薦方案:GitHub + jsDelivr CDN

優勢:
- 完全免費
- 穩定可靠
- 版本控制
- 全球CDN加速劣勢:
- 國內訪問可能較慢
- 單文件25MB限制
- 需要一定技術基礎

2. 商業網站圖床

推薦方案:阿里云OSS + CDN

優勢:
- 高可用性
- 專業技術支持
- 豐富的API接口
- 強大的圖片處理能力劣勢:
- 需要付費
- 配置相對復雜

3. 臨時分享圖床

推薦方案:SM.MS 或 ImgBB

優勢:
- 無需注冊
- 操作簡單
- 即傳即用劣勢:
- 穩定性一般
- 功能有限
- 可能有時效限制

三、主流圖床服務詳解

(一)GitHub圖床

1. 優勢特點

  • 完全免費:每個倉庫1GB存儲空間
  • 版本控制:支持Git版本管理
  • 全球CDN:通過jsDelivr等CDN加速
  • 高穩定性:GitHub的可靠性保證

2. 搭建步驟

第一步:創建GitHub倉庫
  1. 訪問 https://github.com/new
  2. 輸入倉庫名稱,如:my-image-hosting
  3. 選擇Public(公開倉庫)
  4. 點擊Create repository創建倉庫
第二步:生成Personal Access Token
  1. 進入GitHub設置頁面:SettingsDeveloper settingsPersonal access tokens
  2. 點擊Generate new token
  3. 勾選repo權限(完整的倉庫訪問權限)
  4. 點擊Generate token并保存生成的token
第三步:配置PicGo

在PicGo中添加GitHub圖床配置:

{"repo": "username/my-image-hosting","branch": "main","token": "your_github_token","path": "images/","customUrl": "https://cdn.jsdelivr.net/gh/username/my-image-hosting"
}

3. 使用示例

# 原始GitHub鏈接
https://raw.githubusercontent.com/username/repo/main/images/photo.jpg# jsDelivr CDN鏈接
https://cdn.jsdelivr.net/gh/username/repo/images/photo.jpg# 在Markdown中使用
![圖片描述](https://cdn.jsdelivr.net/gh/username/repo/images/photo.jpg)

(二)七牛云圖床

1. 服務特點

  • 專業CDN:全球500+節點
  • 圖片處理:支持實時圖片處理
  • API豐富:完善的開發接口
  • 價格合理:存儲和流量費用較低

2. 配置步驟

第一步:注冊七牛云賬號
  1. 訪問 https://www.qiniu.com/
  2. 點擊注冊按鈕完成賬號注冊
  3. 完成實名認證(根據需要)
第二步:創建存儲空間
  1. 登錄七牛云控制臺
  2. 進入對象存儲空間管理
  3. 點擊新建存儲空間
  4. 填寫存儲空間名稱
  5. 選擇存儲區域(建議選擇離用戶較近的區域)
  6. 設置訪問控制(建議選擇公開空間
第三步:獲取密鑰
  1. 進入個人中心密鑰管理
  2. 記錄AccessKeySecretKey
  3. 妥善保管密鑰信息
第四步:配置域名
  1. 在存儲空間中綁定自定義域名
  2. 或使用七牛云提供的測試域名(有時效限制)

3. PicGo配置

{"accessKey": "your_access_key","secretKey": "your_secret_key","bucket": "your_bucket_name","url": "http://your_domain.com","area": "z0","options": "","path": "images/{year}/{month}/"
}

(三)阿里云OSS圖床

1. 服務優勢

  • 高可用性:99.9%的服務可用性
  • 安全可靠:多重數據保護機制
  • 彈性擴展:按需擴展存儲容量
  • 圖片處理:強大的圖片處理服務

2. 基礎配置

第一步:開通OSS服務
  1. 訪問阿里云控制臺:https://oss.console.aliyun.com/
  2. 點擊立即開通對象存儲OSS服務
  3. 根據需要選擇計費方式
第二步:創建Bucket
  1. 在OSS控制臺點擊創建Bucket
  2. 填寫Bucket名稱(全局唯一)
  3. 選擇地域(建議選擇離用戶較近的地域)
  4. 選擇存儲類型(標準存儲、低頻訪問、歸檔存儲等)
  5. 設置讀寫權限(建議選擇公共讀
  6. 點擊確定創建
第三步:配置跨域規則
  1. 進入創建的Bucket管理頁面
  2. 點擊權限管理跨域設置
  3. 點擊設置添加跨域規則:
    • 來源*(允許所有來源)
    • 允許MethodsGET, POST, PUT, DELETE, HEAD
    • 允許Headers*(允許所有請求頭)

3. 使用示例

// 使用阿里云OSS SDK上傳圖片
const OSS = require('ali-oss');const client = new OSS({region: 'oss-cn-hangzhou',accessKeyId: 'your_access_key_id',accessKeySecret: 'your_access_key_secret',bucket: 'your_bucket_name'
});// 上傳圖片
async function uploadImage(file) {try {const result = await client.put(`images/${Date.now()}.jpg`, file);return result.url;} catch (error) {console.error('上傳失敗:', error);}
}

四、圖床工具推薦

(一)PicGo - 圖片上傳工具

1. 功能特點

  • 多平臺支持:Windows、macOS、Linux
  • 插件生態:豐富的插件擴展
  • 批量上傳:支持拖拽批量上傳
  • 快捷鍵:支持全局快捷鍵上傳

2. 安裝配置

第一步:下載安裝PicGo
  1. 訪問PicGo官網:https://molunerfinn.com/PicGo/
  2. 根據操作系統下載對應的安裝包:
    • Windows:下載.exe安裝文件
    • macOS:下載.dmg安裝文件
    • Linux:下載.AppImage文件
  3. 運行安裝程序完成安裝
第二步:配置圖床
  1. 打開PicGo應用程序
  2. 在左側菜單選擇圖床設置
  3. 選擇要配置的圖床類型(如GitHub、七牛云等)
  4. 填寫相關配置信息(密鑰、存儲空間等)
  5. 點擊確定保存配置
  6. 點擊設為默認圖床
第三步:測試上傳功能
  1. 上傳區拖拽圖片或點擊上傳
  2. 查看上傳結果和生成的鏈接
  3. 確認圖片可以正常訪問

3. 常用插件

# GitHub Plus - 增強GitHub圖床功能
npm install picgo-plugin-github-plus# 壓縮插件 - 自動壓縮圖片
npm install picgo-plugin-compress# 水印插件 - 添加水印
npm install picgo-plugin-watermark# 重命名插件 - 自定義文件名
npm install picgo-plugin-rename-file

(二)uPic - macOS圖床工具

1. 特色功能

  • 原生macOS應用:完美適配macOS
  • 多種上傳方式:拖拽、快捷鍵、右鍵菜單
  • 自動壓縮:智能圖片壓縮
  • 歷史記錄:完整的上傳歷史

2. 支持的圖床

  • 七牛云
  • 阿里云OSS
  • 騰訊云COS
  • GitHub
  • Gitee
  • SM.MS

(三)Typora集成

1. 配置圖片上傳

在Typora中配置圖片自動上傳:
  1. 打開Typora編輯器
  2. 進入菜單:文件偏好設置圖像
  3. 插入圖片時選項中選擇:上傳圖片
  4. 上傳服務設定中選擇:PicGo(app)
  5. 點擊PicGo路徑后的文件夾圖標,選擇PicGo的安裝路徑
  6. 點擊驗證圖片上傳選項測試配置是否正確

2. 使用體驗

  • 無縫集成:粘貼圖片自動上傳
  • 實時預覽:上傳后立即顯示
  • 格式轉換:自動轉換為Markdown格式

五、自建圖床方案

(一)基于MinIO的自建圖床

1. MinIO簡介

MinIO是一個高性能的對象存儲服務,兼容Amazon S3 API,適合自建圖床。

2. 部署步驟

第一步:安裝Docker

確保系統已安裝Docker,如未安裝請先安裝Docker。

第二步:部署MinIO容器

使用以下Docker命令部署MinIO:

docker run -d \--name minio \-p 9000:9000 \-p 9001:9001 \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=password123" \-v /data/minio:/data \minio/minio server /data --console-address ":9001"
第三步:訪問管理界面
  1. 打開瀏覽器訪問:http://localhost:9001
  2. 使用以下憑據登錄:
    • 用戶名:admin
    • 密碼:password123

3. 配置存儲桶

創建存儲桶步驟:
  1. 登錄MinIO管理控制臺
  2. 在主界面點擊Create Bucket按鈕
  3. 輸入存儲桶名稱,例如:images
  4. 點擊Create Bucket創建存儲桶
  5. 進入存儲桶設置,將訪問策略設置為Public(公開訪問)

4. API使用示例

// 使用MinIO JavaScript SDK
const Minio = require('minio');const minioClient = new Minio.Client({endPoint: 'localhost',port: 9000,useSSL: false,accessKey: 'admin',secretKey: 'password123'
});// 上傳圖片
async function uploadImage(bucketName, objectName, filePath) {try {await minioClient.fPutObject(bucketName, objectName, filePath);const url = `http://localhost:9000/${bucketName}/${objectName}`;return url;} catch (error) {console.error('上傳失敗:', error);}
}

(二)基于Nginx的靜態文件服務

1. Nginx配置

# /etc/nginx/sites-available/image-hosting
server {listen 80;server_name your-domain.com;# 圖片存儲目錄root /var/www/images;# 允許上傳的最大文件大小client_max_body_size 10M;# 靜態文件服務location / {try_files $uri $uri/ =404;# 設置緩存expires 30d;add_header Cache-Control "public, immutable";# 允許跨域add_header Access-Control-Allow-Origin *;}# 上傳接口location /upload {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

2. 上傳服務實現

// Node.js + Express 上傳服務
const express = require('express');
const multer = require('multer');
const path = require('path');const app = express();// 配置文件存儲
const storage = multer.diskStorage({destination: '/var/www/images/',filename: (req, file, cb) => {const uniqueName = Date.now() + '-' + Math.round(Math.random() * 1E9);const ext = path.extname(file.originalname);cb(null, uniqueName + ext);}
});const upload = multer({ storage });// 上傳接口
app.post('/upload', upload.single('image'), (req, res) => {if (!req.file) {return res.status(400).json({ error: '沒有上傳文件' });}const imageUrl = `http://your-domain.com/${req.file.filename}`;res.json({ url: imageUrl });
});app.listen(3000, () => {console.log('上傳服務啟動在端口3000');
});

六、圖床選擇指南

(一)選擇標準

1. 技術指標

**存儲容量**
- 個人博客:1-10GB足夠
- 商業網站:根據實際需求選擇
- 大型平臺:TB級別存儲**訪問速度**
- CDN覆蓋范圍
- 節點分布情況
- 國內外訪問速度**穩定性**
- 服務可用性(SLA)
- 數據備份機制
- 故障恢復能力**安全性**
- 數據加密
- 訪問控制
- 防盜鏈功能

2. 成本考慮

**免費方案適用場景**
- 個人博客
- 學習項目
- 小流量網站**付費方案適用場景**
- 商業網站
- 高流量應用
- 對穩定性要求高的項目**自建方案適用場景**
- 對數據控制要求高
- 有技術團隊維護
- 長期大量使用

(二)推薦方案

1. 個人開發者

**入門推薦**:GitHub + PicGo
- 完全免費
- 操作簡單
- 社區支持好**進階推薦**:七牛云
- 專業CDN服務
- 豐富的圖片處理功能
- 價格合理

2. 企業用戶

**小型企業**:阿里云OSS
- 穩定可靠
- 技術支持完善
- 與其他阿里云服務集成好**大型企業**:多云架構
- 主備方案保證可用性
- 成本優化
- 風險分散

3. 特殊需求

**高安全要求**:自建MinIO
- 數據完全可控
- 可部署在內網
- 符合合規要求**海外用戶**:AWS S3
- 全球覆蓋最好
- 服務最成熟
- 生態最完善

七、圖床使用最佳實踐

(一)圖片優化

1. 格式選擇

**JPEG**
- 適用:照片、復雜圖像
- 優勢:壓縮率高、兼容性好
- 劣勢:有損壓縮、不支持透明**PNG**
- 適用:圖標、簡單圖形
- 優勢:無損壓縮、支持透明
- 劣勢:文件較大**WebP**
- 適用:現代瀏覽器
- 優勢:壓縮率高、質量好
- 劣勢:兼容性有限**SVG**
- 適用:矢量圖形、圖標
- 優勢:無限縮放、文件小
- 劣勢:不適合復雜圖像

2. 尺寸優化

# 使用ImageMagick壓縮圖片
# 調整尺寸
convert input.jpg -resize 800x600 output.jpg# 壓縮質量
convert input.jpg -quality 85 output.jpg# 批量處理
for file in *.jpg; doconvert "$file" -resize 800x600 -quality 85 "compressed_$file"
done

3. 自動化處理

// 使用Sharp進行圖片處理
const sharp = require('sharp');async function processImage(inputPath, outputPath) {await sharp(inputPath).resize(800, 600, {fit: 'inside',withoutEnlargement: true}).jpeg({ quality: 85 }).toFile(outputPath);
}

(二)安全防護

1. 防盜鏈設置

# Nginx防盜鏈配置
location ~* \.(jpg|jpeg|png|gif|bmp|webp)$ {valid_referers none blocked server_names*.yourdomain.com yourdomain.com;if ($invalid_referer) {return 403;}
}

2. 訪問控制

# 設置圖片訪問權限
# 1. 私有讀寫:需要簽名訪問
# 2. 公有讀私有寫:可直接訪問,但不能上傳
# 3. 公有讀寫:完全開放(不推薦)

3. 水印保護

// 使用Canvas添加水印
function addWatermark(canvas, text) {const ctx = canvas.getContext('2d');ctx.font = '20px Arial';ctx.fillStyle = 'rgba(255, 255, 255, 0.5)';ctx.fillText(text, canvas.width - 200, canvas.height - 30);
}

(三)性能優化

1. CDN配置

# 設置緩存策略
# 圖片文件:長期緩存(30天)
# 經常變動的圖片:短期緩存(1天)
# 實時圖片:不緩存

2. 懶加載

<!-- 原生懶加載 -->
<img src="placeholder.jpg" data-src="actual-image.jpg" loading="lazy" alt="圖片描述"><!-- 使用Intersection Observer -->
<script>
const images = document.querySelectorAll('img[data-src]');
const imageObserver = new IntersectionObserver((entries, observer) => {entries.forEach(entry => {if (entry.isIntersecting) {const img = entry.target;img.src = img.dataset.src;img.classList.remove('lazy');imageObserver.unobserve(img);}});
});images.forEach(img => imageObserver.observe(img));
</script>

3. 響應式圖片

<!-- 使用srcset提供多種尺寸 -->
<img src="image-400.jpg"srcset="image-400.jpg 400w,image-800.jpg 800w,image-1200.jpg 1200w"sizes="(max-width: 400px) 400px,(max-width: 800px) 800px,1200px"alt="響應式圖片">

八、常見問題與解決方案

(一)訪問問題

1. 圖片加載慢

**可能原因**
- CDN節點覆蓋不足
- 圖片文件過大
- 網絡環境問題**解決方案**
- 更換CDN服務商
- 壓縮圖片文件
- 使用圖片懶加載
- 添加loading占位符

2. 圖片無法顯示

**可能原因**
- 圖床服務不穩定
- 防盜鏈限制
- 圖片被刪除**解決方案**
- 檢查圖片URL是否正確
- 確認防盜鏈設置
- 使用多個圖床備份
- 監控圖片可用性

(二)安全問題

1. 圖片被盜用

**防護措施**
- 設置防盜鏈
- 添加水印
- 使用簽名URL
- 監控流量異常

2. 惡意上傳

**防護措施**
- 文件類型檢查
- 文件大小限制
- 內容安全檢測
- 用戶權限控制

(三)成本控制

1. 流量費用過高

**優化策略**
- 圖片壓縮
- 緩存策略優化
- CDN配置優化
- 監控異常流量

2. 存儲費用增長

**管理策略**
- 定期清理無用圖片
- 設置生命周期規則
- 使用低頻存儲
- 壓縮歷史圖片

九、總結

圖床作為現代內容創作的重要基礎設施,為開發者和內容創作者提供了高效、穩定的圖片存儲和分發解決方案。通過本文的詳細介紹,您應該能夠:

(一)核心收獲

  1. 理解圖床概念:掌握圖床的基本原理和工作機制
  2. 選擇合適方案:根據需求選擇最適合的圖床服務
  3. 掌握配置方法:熟練配置各種主流圖床服務
  4. 優化使用體驗:通過最佳實踐提升圖床使用效果

(二)選擇建議

1. 個人用戶

  • 入門:GitHub + PicGo(免費、穩定)
  • 進階:七牛云(專業、高效)

2. 企業用戶

  • 小型:阿里云OSS(可靠、完善)
  • 大型:多云架構(高可用、成本優化)

3. 特殊需求

  • 高安全:自建MinIO(可控、合規)
  • 高性能:專業CDN服務(快速、穩定)

(三)發展趨勢

隨著云計算和CDN技術的不斷發展,圖床服務正朝著以下方向演進:

  1. 智能化:AI驅動的圖片優化和處理
  2. 邊緣計算:更靠近用戶的內容分發
  3. 多媒體支持:從圖片擴展到視頻、音頻等
  4. 安全增強:更強的內容安全和隱私保護

選擇合適的圖床方案,不僅能提升內容創作效率,更能為用戶提供更好的訪問體驗。希望本文能幫助您找到最適合的圖床解決方案!

參考資料

  • PicGo官方文檔
  • 七牛云對象存儲文檔
  • 阿里云OSS文檔
  • MinIO官方文檔
  • GitHub Pages文檔

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

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

相關文章

深度學習篇---PaddleDetection模型選擇

PaddleDetection 是百度飛槳推出的目標檢測開發套件&#xff0c;提供了豐富的模型庫和工具鏈&#xff0c;覆蓋從輕量級移動端到高性能服務器的全場景需求。以下是核心模型分類、適用場景及大小選擇建議&#xff08;通俗易懂版&#xff09;&#xff1a;一、主流模型分類及適用場…

cmseasy靶機密碼爆破通關教程

靶場安裝1.首先我們需要下載一個cms靶場CmsEasy_7.6.3.2_UTF-8_20200422,下載后解壓在phpstudy_pro的網站根目錄下。2.然后我們去訪問一下安裝好的網站&#xff0c;然后注冊和鏈接數據庫3.不知道自己數據庫密碼的可以去小皮面板里面查看4.安裝好后就可以了來到后臺就可以了。練…

【C語言】指針深度剖析(一)

文章目錄一、內存和地址1.1 內存的基本概念1.2 編址的原理二、指針變量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指針變量和解引用操作符&#xff08;*&#xff09;2.2.1 指針變量2.2.2 指針類型的解讀2.2.3 解引用操作符2.3 指針變量的大小三、指針變量類型的…

半導體企業選用的跨網文件交換系統到底應該具備什么功能?

在半導體行業的數字化轉型過程中&#xff0c;跨網文件交換已成為連接研發、生產、供應鏈的關鍵紐帶。半導體企業的跨網文件交換不僅涉及設計圖紙、工藝參數等核心知識產權&#xff0c;還需要滿足跨國協同、合規審計等復雜需求。那么&#xff0c;一款適合半導體行業的跨網文件交…

影刀RPA_初級課程_玩轉影刀自動化_網頁操作自動化

聲明&#xff1a;相關內容來自影刀學院&#xff0c;本文章為自用筆記&#xff0c;切勿商用&#xff01;&#xff08;若有侵權&#xff0c;請聯絡刪除&#xff09; 1. 基本概念與操作 1.1 正確處理下拉框元素&#xff08;先判斷頁面元素&#xff0c;后進行流程編制&#xff09;…

Spark初探:揭秘速度優勢與生態融合實踐

更多推薦閱讀 Spark與Flink深度對比&#xff1a;大數據流批一體框架的技術選型指南-CSDN博客 LightProxy使用操作手冊-CSDN博客 Sentry一看就會教程_sentry教程-CSDN博客 微前端架構解析&#xff1a;核心概念與主流方案特性對比_微前端方案對比-CSDN博客 目錄 Spark為何比Hadoo…

詳談OSI七層模型和TCP/IP四層模型以及tcp與udp為什么是4層,http與https為什么是7層

一、網絡模型&#xff1a;OSI七層 vs TCP/IP四層OSI七層模型 (理論參考模型):目的&#xff1a;提供一個標準化的理論框架&#xff0c;用于理解網絡通信過程和各層的功能劃分&#xff0c;促進不同廠商設備的互操作性。它是一個理想化的模型。分層 (從下到上):物理層&#xff1a;…

ClickHouse 高性能實時分析數據庫-索引與數據跳過(查詢的“瞬移”能力)

告別等待&#xff0c;秒級響應&#xff01;這不只是教程&#xff0c;這是你駕馭PB級數據的超能力&#xff01;我的ClickHouse視頻課&#xff0c;凝練十年實戰精華&#xff0c;從入門到精通&#xff0c;從單機到集群。點開它&#xff0c;讓數據處理速度快到飛起&#xff0c;讓你…

Jetpack - Room(Room 引入、Room 優化)

一、Room 引入 1、基本介紹 Room 在 SQLite 上提供了一個抽象層&#xff0c;以便在充分利用 SQLite 的強大功能的同時&#xff0c;能夠流暢地訪問數據庫&#xff0c;官方強烈建議使用 Room 而不是 SQLite 2、演示 &#xff08;1&#xff09;Setting 模塊級 build.gradle depend…

【江科大CAN】2.1 STM32 CAN外設(上)

2.1 STM32 CAN外設&#xff08;上&#xff09;2.1.1 STM32 CAN外設簡介2.1.2 外圍電路設計2.1.3 STM32 CAN內部結構2.1.4 發送流程詳解2.1.5 接收流程詳解2.1.6 關鍵配置位總結STM32 CAN外設講解 大家好&#xff0c;歡迎繼續觀看CAN總線入門教程。本節開始&#xff0c;我們正式…

人工智能技術革命:AI工具與大模型如何重塑開發者工作模式與行業格局

引言&#xff1a;AI技術爆發的時代背景過去五年間&#xff0c;人工智能領域經歷了前所未有的爆發式增長。從2020年GPT-3的橫空出世到2023年多模態大模型的全面突破&#xff0c;AI技術已經從實驗室走向了產業應用的前沿。開發者作為技術生態的核心推動者&#xff0c;其工作模式正…

傅里葉變換

傅里葉變換:運用頻域的出發點就是能夠將波形從時域變換到頻域&#xff0c;用傅里葉變換可以做到這一點。有如下3種傅里葉變換類型&#xff1a;1.傅里葉積分(FI); 2.離散傅里葉變換(DFT); 3.快速傅里葉變換(FFT)。傅里葉積分是一種將時域的理想數學表達變換成頻域描述的數學技術…

【IQA技術專題】紋理相似度圖像評價指標DISTS

紋理一致性圖像評價指標: Image Quality Assessment: Unifying Structure and Texture Similarity&#xff08;2020 PAMI&#xff09;專題介紹一、研究背景二、方法總覽2.1 初始變換2.2 紋理表示和結構表示2.3 DISTS指標2.4 優化DISTS指標三、實驗結果四、總結本文將對統一圖像…

windows下Docker安裝路徑、存儲路徑修改

一、命令行指定安裝路徑? ??下載安裝包??&#xff1a;從Docker官網獲取安裝程序&#xff08;如Docker Desktop Installer.exe&#xff09;。??運行PowerShell??&#xff1a; & "H:\Docker Desktop Installer.exe" install --installation-dir"F:…

thingsboard 自定義動作JS編程

在 ThingsBoard 中實現 自定義動作&#xff08;Custom Action&#xff09;的 JavaScript 編程&#xff0c;主要通過“Custom action (with HTML template&#xff09;”方式完成&#xff0c;適用于創建彈窗、編輯實體、控制設備等交互行為。 實現步驟&#xff08;以添加設備或資…

Spring Boot 簡單接口角色授權檢查實現

一、背景與目標在Spring Boot應用開發中&#xff0c;接口級別的權限控制是系統安全的重要組成部分。本文將介紹一種簡單直接的接口角色授權檢查實現方案&#xff0c;適合快速開發和安全合規檢查場景。二、技術方案概述本方案采用自定義注解攔截器的方式實現&#xff0c;具有以下…

PytorchLightning最佳實踐日志篇

在 PyTorch Lightning&#xff08;PL&#xff09;中&#xff0c;日志系統是 “煉丹” 過程中復現實驗、對比效果、排查問題的核心工具。結合實際工程經驗&#xff0c;總結以下最佳實踐和技巧&#xff0c;幫助提升實驗效率&#xff1a; 一、日志工具的選擇與配置 PL 通過統一的s…

基于JavaWeb的兼職發布平臺的設計與實現

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.6系統展示系統首頁用戶登錄招聘信…

Linux學習--C語言(指針3)

1.指針函數和函數指針1.1 指針函數指針函數是函數&#xff0c;函數的返回值是指針不能返回局部變量的地址指針函數返回的地址可以作為下一個函數調用的參數1.2 函數指針函數指針是指針&#xff0c;指針指向一個函數#include <stdio.h>int Add(int x, int y) {return x y…

【JAVA EE初階】多線程(上)

目錄 1.預備知識 1.1 馮諾依曼體系結構&#xff1a; 1.2 現代CPU主要關心指標&#xff08;和日常開發密切相關的&#xff09; 1.3 計算機中&#xff0c;一個漢字占幾個字節&#xff1f; 1.4 Windows和Linux的區別 1.5 PCB的一些關鍵要點 2.線程和進程 2.1 創建線程的寫法…