从个人博客到电商中台:EdgeOne Pages的MCP Server弹性架构×DeepSeek多场景模板实测报告
什么是EdgeOne Pages?
EdgeOne Pages 是腾讯云推出的一站式边缘开发与部署平台,基于全球边缘节点网络和 Serverless 架构,为开发者提供从代码托管到全球分发的全流程服务。其核心价值在于将边缘计算能力与现代 Web 开发范式深度融合,支持静态站点托管、动态应用开发、边缘函数部署等场景,尤其适合需要快速迭代、全球化加速或低成本运维的项目。
与 GitHub、GitLab 等代码托管平台无缝对接,每次代码提交自动触发构建和部署流程。例如,开发者修改 React 组件后,EdgeOne Pages 会自动打包、压缩并推送至全球节点3。
如何基于EdgeOne下的DeepSeek模版搭建一个ai网站
下面我们就使用EdgeOne里面的DeepSeek模版搭建一个deepseek问答的网站,并且还能装载上我们的自己的域名进行访问操作
还没有使用过Open Edge的新人用户,我们点击Pages平台进行开通操作
点击创建项目
这里此时需要我们选择一种Git仓库,我们这边选择Gitee,因为国内的方便访问
这里我们绑定好我们的Gitee之后,我们不需要选择仓库,我们直接选择下面的模版
配置好基础的东西之后我们直接点击创建操作
然后稍等一会儿他就会自动帮你进行部署操作了
这个时候我们可以发现我们的Gitee将这个deepseek-r1-edge的项目克隆下来了
并且有详细的教程
这里会显示部署成功
这边我们可以通过预览链接进行访问操作
那么现在我就部署好了一个属于我自己的deepseek网站了
并且实际的效果是和deepseek官网的差不多,并且回答的速度还快了很多
这个网站的话为保障内容合规,默认域名链接仅提供3小时限时预览,请及时添加 自定义域名 ,以确保服务持续可用。
可将域名作为一个可持久调用的api地址
那么为了能长久的进行访问,我们这里进行域名的绑定,我在腾讯云花15元注册一个专属的域名hyk52syx.club
域名需要实名认证才能进行购买,购买之后还需要进行ICP备案
腾讯云域名注册地址
ICP备案
下面进行备案操作
选择正确信息
域名备案的话是需要时间审核的
在域名审核结束之后呢,我们就可以在这里使用了
在这里添加你的域名
然后他会提醒你的域名是需要进行解析操作的,我们按照他给出的实例进行操作就行了
在腾讯云控制台找到这个解析
进入到了解析的页面,我们点击添加记录,输入上面他要求你解析的具体值
我发现我们这边添加自定义域名的时候还能给这个域名加个证书,还得是腾讯云考虑的周到,下面是他要求我所解析的域名
在解析之后我们就可以点击EdgeOne这个平台进行验证操作了
可以看的到我们这边是正在部署的
然后稍等一会儿就搭建好了
https://hyk52syx.club/
这个就是我的基于EdgeOne平台的deepseek模版搭建出来的DS网站
随便问他一个问题,还蛮不错的
这个项目的话我觉得要是加上能复制答案的功能就更好了
当然了,你如果觉得我的文章可能差点意思,你可以点击链接查看 DeepSeek 模板的使用教程及视频:快速构建和部署您的 Web 应用
什么是EdgeOne Pages Deploy MCP Server?
EdgeOne Pages MCP Server 介绍
EdgeOne Pages 的 MCP Server 是腾讯云推出的一款基于边缘计算和大语言模型(LLM)的新型开发工具,旨在通过标准化协议实现 AI 与边缘应用的无缝协同。它将 MCP(Model Context Protocol)协议深度集成到 EdgeOne Pages 平台中,为开发者提供了一种革命性的工作流 —— 通过自然语言指令直接生成并部署 Web 应用,无需手动编写代码或配置服务器。以下从技术原理、核心功能、应用场景等维度展开详细解析。
如何基于EdgeOne Pages Deploy MCP Server搭建一个html网站
EdgeOne Pages Deploy MCP 是一项专用服务,能够将 HTML 内容快速部署到 EdgeOne Pages 并生成公开访问链接。这使您能够立即预览和分享 AI 生成的网页内容。
所以我们可以在本地创建一个html网页,然后利用MCP Server快速进行一个部署操作,让别人都能通过链接访问到,那么下面就开始我们的实操吧
Pages MCP Server 利用无服务器边缘计算能力和 KV 存储,通过 API 接收 HTML 内容,即可自动生成即时生效的公共访问链接,实现秒级静态页面部署并内置错误处理机制。
在创建html代码之前我们需要对我们的编译器进行一个配置操作,就是添加新的MCP服务器
我们先打开Cursor,并且一定版本是最新版本的
打开到settings进入到设置里面
添加新的MCP服务器
我们可以如下这么设置
当然了,如果你是最新版本的话,你点击那个添加所有的MCP服务器的话可以是直接对配置文件进行设置的
那么我们就输入下面的代码就行了,在任何支持 MCP 的客户端中,您也可以使用以下 JSON 配置:
{"mcpServers": {"edgeone-pages-mcp-server": {"command": "npx","args": ["edgeone-pages-mcp"]}}
}
我们再次打开对应的位置就能看到我们这里变成绿色的了,就说明我们配置成功了并且成功链接了
配置好了之后我们就可以开始使用cursor对代码进行一个编写操作了
我们这里让cursor帮我们写一个关于公司的html介绍
在cursor帮我们将代码生成好了之后,我们直接输入命令将代码部署到 EdgeOne Pages 并生成公开访问链接
,然后我们就能通过对应的链接进行访问操作了
快速访问链接,部署的速度快,并且效果十分好,让我很满意啊
核心代码如下:
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>湖北工程 - 专业工程服务</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Microsoft YaHei', sans-serif;line-height: 1.6;color: #333;}.header {background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);color: white;padding: 2rem 0;text-align: center;}.company-name {font-size: 2.5rem;margin-bottom: 1rem;animation: fadeIn 1s ease-in;}.slogan {font-size: 1.2rem;opacity: 0.9;}.container {max-width: 1200px;margin: 0 auto;padding: 0 20px;}.section {padding: 4rem 0;}.section-title {text-align: center;font-size: 2rem;margin-bottom: 2rem;color: #1e3c72;}.about-content {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 2rem;}.about-text {flex: 1;min-width: 300px;}.services {background-color: #f5f5f5;}.service-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 2rem;}.service-item {background: white;padding: 2rem;border-radius: 10px;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);transition: transform 0.3s ease;}.service-item:hover {transform: translateY(-5px);}.culture {text-align: center;}.culture-values {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 2rem;margin-top: 2rem;}.value-item {padding: 1.5rem;background: #f8f9fa;border-radius: 8px;}.contact {background: #1e3c72;color: white;}.contact-info {text-align: center;}.footer {background: #0f1f3d;color: white;text-align: center;padding: 1rem 0;}@keyframes fadeIn {from { opacity: 0; transform: translateY(-20px); }to { opacity: 1; transform: translateY(0); }}@media (max-width: 768px) {.company-name {font-size: 2rem;}.section {padding: 2rem 0;}.about-content {flex-direction: column;}}</style></head><body><header class="header"><div class="container"><h1 class="company-name">湖北工程</h1><p class="slogan">专业品质 · 诚信服务</p></div></header><section class="section about"><div class="container"><h2 class="section-title">关于我们</h2><div class="about-content"><div class="about-text"><p>湖北工程是一家专业的工程服务公司,致力于为客户提供高质量的工程解决方案。我们拥有经验丰富的专业团队,始终坚持"质量第一、服务至上"的经营理念,为客户创造最大价值。</p></div></div></div></section><section class="section services"><div class="container"><h2 class="section-title">主营业务</h2><div class="service-grid"><div class="service-item"><h3>工程设计</h3><p>提供专业的工程设计服务,确保项目的可行性和效率。</p></div><div class="service-item"><h3>工程施工</h3><p>专业的施工团队,严格把控施工质量,确保工程安全。</p></div><div class="service-item"><h3>技术咨询</h3><p>为客户提供专业的技术咨询服务,解决工程难题。</p></div></div></div></section><section class="section culture"><div class="container"><h2 class="section-title">企业文化</h2><div class="culture-values"><div class="value-item"><h3>诚信为本</h3><p>以诚信为基础,赢得客户信赖</p></div><div class="value-item"><h3>专业创新</h3><p>持续创新,追求卓越品质</p></div><div class="value-item"><h3>合作共赢</h3><p>与客户建立长期战略合作关系</p></div></div></div></section><section class="section contact"><div class="container"><h2 class="section-title">联系我们</h2><div class="contact-info"><p>地址:湖北省武汉市</p><p>电话:027-XXXXXXXX</p><p>邮箱:contact@hubeiengineering.com</p></div></div></section><footer class="footer"><div class="container"><p>© 2024 湖北工程 版权所有</p></div></footer></body></html>
搭建一个便携式的pdf转换网站
我们同样让cursor帮我们基于pdf文档转markdown语法的api来做一个html的页面,并且我们的手机也能使用搭建的这个网站,我们在生成好代码之后我们直接将这个代码部署到EdgeOne上面,通过返回的链接我们就能进行一个访问的操作了,这里的话访问链接就不给你们看了哈,因为调用的是我的api,没啥额度,哈哈哈哈
其实有了cursor和EdgeOne Mcp Server我们去搭建一个html网站真的很方便,不用去买这买那,直接将我们本地做好的代码部署到EdgeOne上面就好了
这个代码如下。感兴趣的可以自己去魔改下,就是咱们如果要部署html代码到EdgeOne的话,那么我们就得保证我们的html代码是纯html代码,如果掺杂着其他成分的是不能正常部署到EdgeOne上面的
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>文档分析</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Microsoft YaHei', sans-serif;line-height: 1.6;padding: 20px;max-width: 1000px;margin: 0 auto;background-color: #f0f2f5;min-height: 100vh;}.container {background-color: white;padding: 30px;border-radius: 12px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);}h1 {text-align: center;color: #333;margin-bottom: 20px;}.upload-section {border: 2px dashed #4CAF50;padding: 30px;text-align: center;margin-bottom: 30px;border-radius: 8px;background-color: #f8f9fa;transition: all 0.3s ease;position: relative;}.upload-section.drag-over {background-color: #e8f5e9;border-color: #2e7d32;}.upload-icon {font-size: 48px;color: #4CAF50;margin-bottom: 15px;}.upload-text {color: #666;margin-bottom: 15px;}#fileInput {display: none;}.upload-btn {background-color: #4CAF50;color: white;padding: 12px 24px;border: none;border-radius: 6px;cursor: pointer;font-size: 16px;transition: all 0.3s ease;display: inline-flex;align-items: center;gap: 8px;}.upload-btn:hover {background-color: #45a049;}#result {margin-top: 20px;padding: 15px;border: 1px solid #ddd;border-radius: 4px;min-height: 100px;line-height: 1.6;}#result h1, #result h2, #result h3, #result h4, #result h5, #result h6 {margin: 1em 0 0.5em;color: #333;}#result p {margin: 0.5em 0;}#result pre {background-color: #f6f8fa;padding: 1em;border-radius: 4px;overflow-x: auto;}#result code {background-color: #f6f8fa;padding: 0.2em 0.4em;border-radius: 3px;}#result table {border-collapse: collapse;width: 100%;margin: 1em 0;}#result th, #result td {border: 1px solid #ddd;padding: 8px;text-align: left;}#result th {background-color: #f6f8fa;}.loading {display: none;text-align: center;margin: 20px 0;color: #4CAF50;}.loading i {animation: spin 1s linear infinite;}@keyframes spin {0% { transform: rotate(0deg); }100% { transform: rotate(360deg); }}.progress-bar {display: none;width: 100%;height: 8px;background-color: #e0e0e0;border-radius: 4px;margin: 15px 0;overflow: hidden;}.progress-bar-fill {height: 100%;background-color: #4CAF50;width: 0%;transition: width 0.3s ease;}.file-info {display: flex;align-items: center;gap: 10px;margin-top: 15px;padding: 10px;background-color: #f8f9fa;border-radius: 6px;border: 1px solid #e0e0e0;}.file-info i {font-size: 24px;color: #4CAF50;}</style></head><body><div class="container"><h1>PDF转Markdown</h1><div class="upload-section" id="dropZone"><i class="fas fa-file-upload upload-icon"></i><p class="upload-text">拖拽文件到此处或点击下方按钮上传</p><input type="file" id="fileInput" accept=".pdf"><button class="upload-btn" onclick="document.getElementById('fileInput').click()"><i class="fas fa-plus"></i>选择文件</button><div id="fileInfo" class="file-info" style="display: none;"><i class="fas fa-file-pdf"></i><p id="fileName"></p></div><div class="progress-bar" id="progressBar"><div class="progress-bar-fill" id="progressBarFill"></div></div></div><div class="loading" id="loading"><i class="fas fa-spinner"></i> 分析中...</div><div id="result"></div><h1>图片去水印</h1><div class="upload-section" id="watermarkDropZone"><i class="fas fa-image upload-icon"></i><p class="upload-text">拖拽图片到此处或点击下方按钮上传</p><input type="file" id="watermarkFileInput" accept="image/*"><button class="upload-btn" onclick="document.getElementById('watermarkFileInput').click()"><i class="fas fa-plus"></i>选择图片</button><div id="watermarkFileInfo" class="file-info" style="display: none;"><i class="fas fa-image"></i><p id="watermarkFileName"></p></div><div class="progress-bar" id="watermarkProgressBar"><div class="progress-bar-fill" id="watermarkProgressBarFill"></div></div></div><div class="loading" id="watermarkLoading"><i class="fas fa-spinner"></i> 处理中...</div><div id="watermarkResult"></div></div><script>const fileInput = document.getElementById('fileInput');const fileName = document.getElementById('fileName');const loading = document.getElementById('loading');const result = document.getElementById('result');const dropZone = document.getElementById('dropZone');const fileInfo = document.getElementById('fileInfo');const progressBar = document.getElementById('progressBar');const progressBarFill = document.getElementById('progressBarFill');// 水印去除相关元素const watermarkFileInput = document.getElementById('watermarkFileInput');const watermarkFileName = document.getElementById('watermarkFileName');const watermarkLoading = document.getElementById('watermarkLoading');const watermarkResult = document.getElementById('watermarkResult');const watermarkDropZone = document.getElementById('watermarkDropZone');const watermarkFileInfo = document.getElementById('watermarkFileInfo');const watermarkProgressBar = document.getElementById('watermarkProgressBar');const watermarkProgressBarFill = document.getElementById('watermarkProgressBarFill');// 拖拽上传相关事件dropZone.addEventListener('dragover', (e) => {e.preventDefault();dropZone.classList.add('drag-over');});dropZone.addEventListener('dragleave', (e) => {e.preventDefault();dropZone.classList.remove('drag-over');});dropZone.addEventListener('drop', (e) => {e.preventDefault();dropZone.classList.remove('drag-over');const files = e.dataTransfer.files;if (files.length > 0 && files[0].type === 'application/pdf') {fileInput.files = files;handleFileUpload(files[0]);}});fileInput.addEventListener('change', (e) => {const file = e.target.files[0];if (file) {handleFileUpload(file);}});function formatFileSize(bytes) {if (bytes === 0) return '0 Bytes';const k = 1024;const sizes = ['Bytes', 'KB', 'MB', 'GB'];const i = Math.floor(Math.log(bytes) / Math.log(k));return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];}async function handleFileUpload(file) {if (!file) return;fileName.textContent = `${file.name} (${formatFileSize(file.size)})`;fileInfo.style.display = 'flex';progressBar.style.display = 'block';progressBarFill.style.width = '0%';loading.style.display = 'block';result.textContent = '';const formData = new FormData();formData.append('image', file, file.name);// 模拟上传进度const progressInterval = setInterval(() => {const currentWidth = parseFloat(progressBarFill.style.width);if (currentWidth < 90) {progressBarFill.style.width = `${currentWidth + 10}%`;}}, 500);try {const response = await fetch('https://api.textin.com/ai/service/v1/pdf_to_markdown', {method: 'POST',headers: {'x-ti-app-id': 'id号','x-ti-secret-code': '密钥'},body: formData});const data = await response.json();if (data.result && data.result.markdown) {result.innerHTML = marked.parse(data.result.markdown);} else {result.textContent = '转换失败:' + (data.message || '未知错误');}} catch (error) {result.textContent = '分析过程中出现错误: ' + error.message;} finally {loading.style.display = 'none';clearInterval(progressInterval);progressBarFill.style.width = '100%';setTimeout(() => {progressBar.style.display = 'none';progressBarFill.style.width = '0%';}, 1000);}}// 水印去除相关事件处理watermarkDropZone.addEventListener('dragover', (e) => {e.preventDefault();watermarkDropZone.classList.add('drag-over');});watermarkDropZone.addEventListener('dragleave', (e) => {e.preventDefault();watermarkDropZone.classList.remove('drag-over');});watermarkDropZone.addEventListener('drop', (e) => {e.preventDefault();watermarkDropZone.classList.remove('drag-over');const files = e.dataTransfer.files;if (files.length > 0) {if (files[0].type.startsWith('image/')) {watermarkFileInput.files = files;handleWatermarkRemoval(files[0]);} else {watermarkResult.textContent = '错误:请上传图片文件(支持jpg、png等常见图片格式)';}}});watermarkFileInput.addEventListener('change', (e) => {const file = e.target.files[0];if (file) {handleWatermarkRemoval(file);}});async function handleWatermarkRemoval(file) {if (!file) return;watermarkFileName.textContent = `${file.name} (${formatFileSize(file.size)})`;watermarkFileInfo.style.display = 'flex';watermarkProgressBar.style.display = 'block';watermarkProgressBarFill.style.width = '0%';watermarkLoading.style.display = 'block';watermarkResult.innerHTML = '';// 验证文件类型const allowedTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];if (!allowedTypes.includes(file.type)) {watermarkResult.textContent = '错误:请上传正确的图片文件(支持jpg、png、gif、webp格式)';watermarkLoading.style.display = 'none';watermarkProgressBar.style.display = 'none';watermarkProgressBarFill.style.width = '0%';return;}const formData = new FormData();formData.append('image', file);const progressInterval = setInterval(() => {const currentWidth = parseFloat(watermarkProgressBarFill.style.width);if (currentWidth < 90) {watermarkProgressBarFill.style.width = `${currentWidth + 10}%`;}}, 500);try {const response = await fetch('https://api.textin.com/ai/service/v1/image/watermark_remove', {method: 'POST',headers: {'x-ti-app-id': 'id号','x-ti-secret-code': '密钥'},body: formData});if (!response.ok) {throw new Error(`API请求失败: ${response.status} ${response.statusText}`);}const data = await response.json();if (!data || !data.result) {throw new Error('API响应格式错误');}if (data.result.image) {const img = document.createElement('img');img.src = 'data:image/jpeg;base64,' + data.result.image;img.style.maxWidth = '100%';watermarkResult.appendChild(img);// 添加下载按钮const downloadBtn = document.createElement('a');downloadBtn.href = img.src;downloadBtn.download = 'watermark_removed.jpg';downloadBtn.className = 'upload-btn';downloadBtn.style.marginTop = '10px';downloadBtn.innerHTML = '<i class="fas fa-download"></i>下载图片';watermarkResult.appendChild(downloadBtn);} else {throw new Error(data.message || '图片处理失败')}} catch (error) {watermarkResult.textContent = '处理过程中出现错误: ' + error.message;} finally {watermarkLoading.style.display = 'none';clearInterval(progressInterval);watermarkProgressBarFill.style.width = '100%';setTimeout(() => {watermarkProgressBar.style.display = 'none';watermarkProgressBarFill.style.width = '0%';}, 1000);}}</script></body></html>
EdgeOne 的 MCpserver 在部署 HTML 网站方面优势显著。
从便捷性角度来看,它能极大地简化部署流程。借助其高效的工具与配置选项,哪怕是技术基础不太深厚的人员,也能顺利完成 HTML 网站的部署工作。例如,传统方式部署 HTML 网站,可能需要在服务器环境配置、域名解析等环节花费大量时间与精力,还容易因操作不当而出现各种问题。但有了 MCpserver,其提供的可视化界面或简洁明了的指令引导,使得这些原本复杂的操作变得轻松许多,大大节省了部署时间与人力成本 。
在安全性方面,MCpserver 为 HTML 网站部署筑牢防线。它具备先进的安全防护机制,可有效抵御各类网络攻击,像常见的 DDoS 攻击、恶意脚本注入等,都难以突破其防护。这使得 HTML 网站的数据安全性和稳定性得到充分保证,网站所有者无需过度担忧网站因遭受攻击而出现数据泄露、页面篡改或无法访问等问题,能够安心运营网站 。
不会部署网站的小白完全可以用EdgeOne的MCP Server体验下部署网站的快速体验吧!
相关文章:
从个人博客到电商中台:EdgeOne Pages的MCP Server弹性架构×DeepSeek多场景模板实测报告
什么是EdgeOne Pages? EdgeOne Pages 是腾讯云推出的一站式边缘开发与部署平台,基于全球边缘节点网络和 Serverless 架构,为开发者提供从代码托管到全球分发的全流程服务。其核心价值在于将边缘计算能力与现代 Web 开发范式深度融合…...
【C++】优先级队列+反向迭代器
priority_queue的介绍 通常用堆来实现,能在O(log n)的时间复杂度内插入和提取最高(或最低)优先级的元素。 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的(默认情况)。此…...
HOW - 缓存 React 自定义 hook 的所有返回值(包括函数)
目录 场景优化方案示例延伸例子:为什么这很重要?常见的请求 hook 封装优化前优化后优化点一览优化后的 useLoadData使用方式示例:优点回顾 场景 如果你写了一个自定义 Hook,比如 useMyHook(),它暴露出某些值或函数给外…...
AIDD-人工智能药物设计-网络药理学-多组学与网络药理学分析揭示龟龄集治疗少精症的机制
IF6.7|多组学与网络药理学分析揭示龟龄集治疗少精症的机制 2024年10月28日,海军军医大学张卫东教授团队在Phytomedicine(IF6.7)上发表了题为“Multi-omics and network pharmacology approaches reveal Gui-Ling-Ji alleviates oligoastheno…...
打破单一视角!融合红外和可见光,YOLO算法实现全天候无人机检测
目录 一、摘要 二、系统概述 三、数据集 视频记录 数据集标注 四、数据集分析 五、基于深度学习的无人机探测 基于规则的跟踪方法 六、结论 论文题目:Drone Detection and Tracking with YOLO and a Rule-based Method 论文链接:https://arxiv.…...
Go 语言数据类型
Go 语言数据类型 概述 Go 语言(也称为 Golang)是一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。自2009年发布以来,Go 语言因其简洁的语法、高效的执行速度和强大的并发处理能力而广受欢迎。本文将详细介绍 Go 语言中的数据类型,帮助读者更好地理解和掌握…...
<tauri><rust><GUI>基于rust和tauri,将tauri程序打包为window系统可安装的安装包(exe、msi)
前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 发文平台 CSDN 环境配置 系统:windows 10平台:visual studio code语言:rust、javascript库:taur…...
ragflow开启https访问:ssl证书为pem文件,window如何添加证书
在 Windows 系统中安装 PEM 格式的证书(通常用于 SSL/TLS 或客户端认证)可以通过以下步骤完成: 方法 1:通过证书管理器(MMC)安装 打开证书管理器 按 Win + R,输入 mmc 回车。点击菜单栏的 文件 > 添加/删除管理单元。选择 证书 > 添加,然后选择 计算机账户 或 当…...
自己搭建cesium应用程序
Cesium项目开发基础(1)——Cesium环境搭建_cesium版本怎么看-CSDN博客 看这篇的时候: 所以要用IIS搭建网站。下载一些东西看这篇的这部分:Tomcat IIS 在局域网中搭建网站(最全最详细教程)_tomcat iis-CSDN博客 然后在IIS里怎么…...
本地项目HTTPS访问问题解决方案
本地项目无法通过 HTTPS 访问的原因通常是默认配置未启用 HTTPS 或缺少有效的 SSL 证书。以下是详细解释和解决方案: 原因分析 默认开发服务器仅支持 HTTP 大多数本地开发工具(如 Vite、Webpack、React 等)默认启动的是 HTTP 服务器ÿ…...
软考系统架构设计师之物联网与边缘计算笔记
一、物联网与边缘计算的核心概念 1. 物联网(IoT) 定义:通过传感器、设备等物理对象接入网络,实现数据采集、传输与智能控制,核心在于物联设备互联与数据驱动决策。架构分层: 感知层:传感器、R…...
已知Word内容格式固定,通过宏实现Word转Excel
文章目录 需求描述一、宏是什么?二、使用步骤1.启用开发工具2.VBA基础知识3.单个Word文件转为Excel4.批量将Word文件转为Excel文件 总结 需求描述 现在有多个Word文档,Word文档格式固定,假如Word内容分为单选题和多选题,每个题目…...
window上 docker使用ros2开发并usbip共享usb设备
曾经参考 https://blog.csdn.net/laoxue123456/article/details/138339029 来共享windows上的usb 发现没有办法成功总是出现 tcp 错误。telnet测试能够正常连接 很是奇怪,window上换成低版本的usbipd仍然是同样的错误,没有办法的情况下参考了docker官方文…...
3D激光轮廓仪知识整理
文章目录 1.原理和应用场景1.1 相机原理1.1.1 测量原理1.1.2 相机激光器1.1.3 沙姆镜头1.1.4 相机标定1.1.5 中心线提取 1.2 应用场景1.2.1 测量相关应用1.2.2 缺陷检测相关应用 2.相机参数介绍及选型介绍2.1 成像原理2.2 原始图成像2.3 生成轮廓图2.4 相机规格参数2.4.1 单轮廓…...
SSH远程工具
一、常见SSH远程工具 工具开源跨平台多标签文件传输高级功能价格Xshell❌Win✔️✔️脚本、会话管理免费/商业版Tabby✔️全平台✔️✔️插件扩展免费MobaXterm❌Win✔️✔️集成工具集免费/付费SecureCRT❌Win/macOS/Linux✔️✔️企业级加密$129+PuTTY✔️全平台❌❌基础连接…...
C++day8
思维导图 牛客练习 练习 #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> using namespace std; class user{ public: …...
Vue响应式系统的简单实现
一、什么是副作用函数和响应式数据? 副作用函数: 可以产生副作用的函数,那么什么是副作用呢?举个栗子: let count 1function effect() {count }function fn() {if (count 1) {console.log(执行1)} else {console.l…...
超卖问题解决方案
目录 需求概述 系统需求 提升高并发吞吐量 解决超卖问题 解决方案分析 悲观锁与乐观锁 悲观锁 乐观锁 数据库行级锁 实现悲观锁(排他锁) 实现乐观锁 悲观锁&乐观锁 Redis分布式锁 Redis原子操作方案 方案分析 技术实现 通过MULTI事务…...
智享AI直播代理:零门槛掘金新风口
智享AI直播代理:零门槛掘金新风口 传统直播困局,AI破局而生 在电商与内容创业井喷的今天,传统直播模式却陷入“三高”泥潭——人力成本高、内容门槛高、运营风险高。一位主播单日直播超8小时即面临状态下滑,而多平台运营更需…...
在huggingface上制作小demo
在huggingface上制作小demo 今天好兄弟让我帮他搞一个模型,他有小样本的化学数据,想让我根据这些数据训练一个小模型,他想用这个模型预测一些值 最终我简单训练了一个小模型,起初想把这个模型和GUI界面打包成exe发给他࿰…...
Spring、Spring Boot和 Spring Cloud 的关系
Spring、Spring Boot和 Spring Cloud 的关系 Spring, Spring Boot 和 Spring Cloud 都是 Spring 生态系统中的重要组成部分,它们之间有紧密的关系,但各自有不同的定位和功能。下面是它们之间的关系和区别: 1、Spring Framework:…...
[蓝桥杯] 求和(C语言)
题目链接 P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷 题目理解 这道题就是公式题,我们模拟出公式后,输出最终结果即可。 本题不难,相信很多同学第一次见到这道题都是直接暴力解题。 两个for循环,测试样例,直接拿下。 #in…...
从用户需求到产品迭代:Scrum 实践全流程详解
目录 前言1. 用户需求与产品待办列表的形成1.1 用户需求的来源与整理1.2 构建产品待办列表(Product Backlog) 2. 迭代计划与目标设定2.1 Sprint 的时间周期设定2.2 设定明确的 Sprint 目标 3. 开发执行与每日站会3.1 高效协作的开发过程3.2 每日站会&…...
windows10安装配置并使用Miniconda3
windows10安装配置并使用Miniconda3 Conda 与 Anaconda 的区别 Conda 是包管理和环境管理工具,Anaconda 在 Conda 的 基础上预装了大量科学计算包 Conda 与 pip 的区别 Conda 是跨语言的包和环境管理器(支持 Python/R 等),能安…...
16-产品经理-需求的评审
在创建需求的时候,有一个"不需要评审"的复选框,如果选中该复选框的话,需求的创建成功后状态是激活的。 但大部分情况下面,需求还是需要评审的。 即使产品完全由一个人负责,也可以将一些不成熟的想法存为草…...
【java图形化界面编程】
文章目录 一、GUI简介二、Swing1.容器组件2. 布局管理器:BorderLayout3.代码实现 实验总结: 一、GUI简介 GUI:图形用户界面。通过图形用户界面,程序的输入输出可以脱离控制台JAVA中实现GUI主要使用3种技术:AMT&#x…...
BGP路由协议之属性1
公认属性是所有 BGP 路由器都必须能够识别的属性 公认必遵 (Well-known Mandatory) : 必须包括在每个 Update 消息里公认任意 (Well-known Discretionary) : 可能包括在某些 Update 消息里。 可选属性不需要都被 BGP 路由器所识别 可选过渡(OptionalTransitive) : BGP 设备不…...
架构思维: 数据一致性的两种场景深度解读
文章目录 Pre案例数据一致性问题的两种场景第一种场景:实时数据不一致不要紧,保证数据最终一致性就行第二种场景:必须保证实时一致性 最终一致性方案实时一致性方案TCC 模式Seata 中 AT 模式的自动回滚一阶段二阶段-回滚二阶段-提交 Pre 架构…...
压测工具开发实战篇(四)——client子窗口功能
你好,我是安然无虞。 文章目录 树控件添加文件补充学习: 函数定义中循环体里的局部变量补充学习: 动态添加对象属性 刷新文件上下文菜单 (右键菜单)实现右键菜单功能 编辑节点文本 在学习本篇文章之前, 建议先看一下上篇介绍MDI子窗口的文章: 压测工具开发实战篇(三…...
如何开发 HTML 游戏
开发 HTML 游戏适合初学者学习编程和游戏开发的基础知识。HTML 游戏通常结合了 HTML、CSS 和 JavaScript 技术,利用浏览器的渲染能力来实现交互式的游戏体验。 1. 确定游戏类型 在开始开发之前,你需要明确你的游戏类型。例如: 简单游戏&…...
机器学习 从入门到精通 day_01
1. 机器学习介绍与定义 1.1 机器学习定义 机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。 机器学习包括如聚类、分类、决策树、贝叶斯、神经网络、深度学习(…...
React中的跨组件通信
在React中,跨组件通信有几种常见的方式。每种方式适用于不同的场景,下面是几种常见的跨组件通信方法: 1. 通过父子组件传递 Props 父组件可以通过 props 将数据传递给子组件,子组件只能接收和使用这些数据。 父组件(…...
Vue项目 bug 解决
Vue2项目部署失败 从gitee 上拉下一个前端项目,然后npm install,报错如下: 解决办法: 从 npm切换到cnpm:npm install -g cnpm执行命令export NODE_OPTIONS--openssl-legacy-provider下载依赖:cnpm instal…...
Python 3.13.2 安装教程(附安装包)轻松开启编程之旅
文章目录 前言软件介绍安装步骤1. 下载安装包2. 运行安装程序3. 选择安装选项4. 等待安装完成5. 验证安装结果 前言 在数字化时代,Python 作为一种简洁、高效且功能强大的编程语言,广泛应用于 Web 开发、数据科学、人工智能等诸多领域。无论是编程新手入…...
Meta 最新发布的 Llama 4:多模态开源大模型全面解析
TL;DR 2025 年 4 月 5 日,Meta AI 正式发布了第四代大型语言模型 Llama 4。引入了 Mixture-of-Experts (MoE,专家混合) 架构,同时原生支持多模态输入,最小的 Llama 4 Scout 模型支持 10m 的长文本输入。 Paper name The Llama 4…...
Web开发:常用 HTML 表单标签介绍
在 Web 开发中,HTML 表单是实现用户交互的关键元素,它为用户提供了输入数据的途径,广泛应用于注册登录、搜索查询、问卷调查等功能场景。本文将详细介绍常用的 HTML 表单标签及其使用方法。 表单容器标签 <form> <form>标签用…...
力扣HOT100之链表:2. 两数相加
这道题就是按照正常的数学思维去做的,设置一个标志位flag用来标记进位的情况,当发生进位时设置为1,否则设置为0,初始时设置为0。我们同时遍历两个链表,将两个节点的值相加,再加上上一位的进位flagÿ…...
Spring Boot 项目集成 License 授权与续期完整指南
一、背景说明 在 Spring Boot 项目中,通过引入第三方 spring-boot-starter-license 组件,可以快速实现系统权限到期控制、License 证书管理等功能。本文详细介绍如何集成 License 功能,并解决证书安装、权限配置、异常拦截及续期流程等关键问…...
2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析
2010年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析 全国大学生数学建模竞赛(China Undergraduate Mathematical Contest in Modeling)是国家教委高教司和中国工业与应用数学学会共同主办的面向全国大学生的群众性科技活动,目的在于激…...
典型的ETL使用场景与数据集成平台的应用
在当今数字化时代,数据已经成为企业决策和运营的核心资产。为了更好地管理和利用数据,企业需要借助高效的数据处理技术。ETL(Extract,Transform,Load)作为数据处理的核心技术之一,广泛应用于数据…...
深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学
B站视频链接,请多多关注本人B站: 📌 Yocto项目实战教程:第二章 视频讲解 目录 第2章 Linux系统架构 2.1 GNU/Linux2.2 Bootloader2.3 内核空间2.4 用户空间 总结 第2章 Linux系统架构 {#linux系统架构} 嵌入式Linux系统是Linux内核的精简版…...
从Oracle和TiDB的HTAP说起
除了数据库行业其他技术群体很多不知道HTAP的 时至今日还是有很多人迷信Hadoop,觉得大数据就是Hadoop。这是不正确的。也难怪这样,很多人OLTP和OLAP也分不清,何况HTAP。 Oracle是垂直方向实现 TiDB是水平方向实现 我个人认为这是两种流派…...
【Vue-路由案例】面经基础版
目录 <<回到导览1.面经基础版1.1.VueCli建项目1.1.1.VueCli 自定义项目1.1.2.ESlint代码规范 1.2.项目路由1.2.1.一级路由配置1.2.2.二级配置路由1.2.3.设置高亮1.2.4.发生请求、渲染1.2.5.跳转传参、再发请求1.2.6.体验优化1.2.7.keep-alive <<回到导览 1.面经基…...
C#调用C++动态库时出现`System.DllNotFoundException`错误的解决思路
文章目录 1. DLL文件路径问题2. 依赖的运行时库缺失3. 平台不匹配(x86/x64)4. 导出函数名称不匹配5. DLL文件损坏或权限问题6. 运行时库冲突(MT/MD不匹配)7. 使用DLLImport时的常见错误总结步骤 在C#中调用C动态库时出现System.Dl…...
数据清洗
map阶段:按行读入内容,对内容进行检查,如果字段的个数少于等于11,就删除这条日志(不保留)去除日志中字段个数小于等于11的日志内容。 <偏移量,第一行的内容> → <通过刷选之后的第一行…...
ubuntu 20.04 编译和运行A-LOAM
1.搭建文件目录和clone代码 mkdir -p A-LOAM/src cd A-LOAM/src git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM cd .. 2.修改代码文件 2.1 由于PCL版本1.10,将CMakeLists.txt中的C标准改为14: set(CMAKE_CXX_FLAGS "-stdc14"…...
Oracle迁移翻车,数据校验没做好...
作为DBA,你是否经历过这样的噩梦?数据库迁移、主从同步、容灾切换后,数据不一致却迟迟无法定位,只能手动写脚本逐表比对,熬到凌晨还在查差异… Oracle GoldenGate Veridata(OGG Veridata) 就是…...
小刚说C语言刷题——第17讲 循环之for语句
在生活中,我们经常会碰到重复去做某一件事。例如,一个人绕着操场跑圈,一天24小时往复。这些周而往复的事,我们称为循环。 1.循环的作用 在编程时,我们用循环的目的有两个。一个是减少循环时代码量,一个是通…...
如何使用 Coze 的 HTTP 请求节点实现高效数据交互
如何使用Coze的HTTP请求节点实现高效数据交互 在自动化工作流开发中,与外部服务进行数据交互是核心需求之一。Coze平台的HTTP请求节点提供了强大的解决方案,支持通过HTTP协议实现数据的获取、提交、更新和删除等操作。本文将结合官方文档,详…...
【力扣hot100题】(071)每日温度
经典单调栈问题。 感觉自己对这类问题还是不太熟练,想了很久思路,还想了很久是单调递增栈还是单调递减栈…… 方法是维护一个单调递减栈。先将结果result初始化为0,如果温度一直递减,那么result就不用变化了。 遍历每日温度&am…...