Cherry Studio配置MCP server
MCP server在很多的app上开始支持了,从以前的claude desktop,到cursor,vscode等等,甚至现在开源的软件也都开始支持mcp协议的配置了.这里主要来说一下如何在cherry studio中配置好mcp的服务.
cheery studio 中配置MCP并使用
- 基础配置过程
- Blender MCP
- 百度地图
- Git
- Github
- filesystem
- desktop-command
- 知识图谱
- 顺序思维
- 浏览器自动化
- matlab
基础配置过程
首先需要去官网下载最新版本的cherry studio:https://cherry-ai.com/download.以前的版本是不支持的.
安装完成之后,在设置中就可以看到有一个MCP服务器的选项了.接下来我们来配置一下mcp的服务,官方说明文档:https://docs.cherry-ai.com/advanced-basic/mcp
首先你需要有tools级的大语言模型的api,比如常见的claude系列等等,我这里使用的是deepseek官方的api的模型:https://api-docs.deepseek.com/zh-cn/api/deepseek-api/
可以看到这里的模型是有一个扳手的标识的,说明这个模型是可以使用工具的,只有这样才是支持使用mcp server的服务的.阿里云百炼的貌似也是支持的,我没有试过
然后我们来到mcp服务器,可以使用搜索MCP,编辑MCP配置,更多MCP.或者直接自己添加服务器(目前还不推荐)
目前添加mcp服务的方式就是去编辑MCP的json格式文件,然后去MCP的库中自己去进行匹配的,所以我们只需要编辑MCP配置就好了:
{"mcpServers": {"fetch": {"isActive": true,"command": "uvx","args": ["mcp-server-fetch"],"name": "fetch"}}
}
这是一个fetch的mcp server,如果还想要其他的mcp server,可以前往更多MCP中进行查找,找到自己想要的即可.(https://mcp.so/)
json修改之后就自动会添加上服务的各种参数,我们不需要再修改.另外,如果是第一次使用mcp,一般需要先配置一下环境:
点这个地方之后,会提示你去安装两个工具,一个uv,一个bun工具,客户端有时候无法正常给你安装上,你需要去检查自己的电脑里面对应文件夹下是否有这些工具,如果没有请自己去下载安装(我测试的时候发现是uv可以安装,bun需要自己下载安装):
uv下载:
https://github.com/astral-sh/uv/releases
选择合适版本
bun下载:
https://github.com/oven-sh/bun/releases
选择合适版本
除了上面说的bun和uv的环境之外,还需要在windows中安装node.js,一个类似python的包管理的.我之前没有了解过,这里学习一下它的内容,为了更好的理解,我们把它和python类比一下.Node.js是用来运行javascript的,有了node.js,javascript就能在服务器端或者命令行环境中运行,它为javascript提供了执行环境,并且基于自身的特性,适合开发一些高性能的网络应用等.
npm在node.js项目中扮演着类似的角色,它是以node.jus的默认管理工具,有一个庞大的在线软件包仓库.需要使用javascrpt库构建web应用的express,用于操作DOM的jQuery等,类似与pip,可以通过npm install 命令来安装这些库.
最后时npx,它是一个直接运行某个可执行文件的工具,比如我们没有npm下载的库时,可以通过npx,直接在项目中引入这些库,而不需要全局安装,会自动下载并运行这些工具,后面我们很多MCP都是通过npx来直接构建运行环境的.所以这里才说一定要先安装node.js,否则cherry studio中的配置就会有问题.
官网链接:https://nodejs.org/
下载好后直接一路安装即可,它会自动添加相关的环境变量,注意文件夹需要给一下权限,下载才不会有问题!!
检查是否安装成功,打开cmd,输入node -v检验是否安装成功
都配置好之后保存.我们之前已经添加过json了,所以只需要打开MCP服务的开关就可以了:
测试一下使用:
先选好模型,然后去对话框中选择我们的mcp serve就可以使用了
我这里反复测试了一下,发现deepseek-v3这个模型无法联网,就算可以使用这个工具也没有办法去查看网络的内容,所以我们换一个能够联网的模型,我使用的阿里云百炼的qwen模型:
没有问题了:
好了这样就算是学会配置MCP了,接下来我们具体去配置自己的智能体。
这是我最后的json的配置文件(需要API和密钥的都替换成了xxx),接下来一个一个说明一下这些工具的配置和效果
{"mcpServers": {"playwright": {"isActive": true,"command": "npx","args": ["-y","@executeautomation/playwright-mcp-server"],"name": "playwright"},"fetch": {"isActive": true,"disabled": false,"timeout": 60,"command": "uvx","args": ["mcp-server-fetch"],"transportType": "stdio","name": "fetch"},"baidu-map": {"isActive": true,"disabled": false,"timeout": 60,"command": "cmd","args": ["/c","npx","-y","@baidumap/mcp-server-baidu-map"],"env": {"BAIDU_MAP_API_KEY": "xxx"},"transportType": "stdio","name": "baidu-map"},"memory": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-memory"],"name": "memory"},"filesystem": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-filesystem","C:\\Users\\24541","F:\\git\\mcp-client"],"name": "filesystem"},"desktop-commander": {"isActive": true,"command": "npx","args": ["-y","@wonderwhy-er/desktop-commander"],"name": "desktop-commander"},"sequential-thinking": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-sequential-thinking"],"name": "sequential-thinking"},"github": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-github"],"env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "xxx"},"name": "github"},"blender": {"isActive": true,"command": "uvx","args": ["blender-mcp"],"name": "blender"}}
}
Blender MCP
首先它要有建模的能力,首选当然是blender-mcp,这种应用类的除了要自己配置mcp之外,还会涉及到一些软件的配置,mcp的配置我们就跳过了,直接添加一下json内容:
"blender": {"isActive": true,"command": "uvx","args": ["blender-mcp"],"name": "blender"}
打开开关即可:
可用的工具还是很多的.然后还需要去配置一下blender,下载安装blender之后,去添加本地插件:
https://github.com/ahujasid/blender-mcp下载这个addon.py文件:
然后导入到blender的插件库中:
然后去连接一下mcp的server即可:
然后就可以去提出需求了:
建模结果并不理想,所以说claude、openai的模型比较强真的不是没有原因的.
百度地图
我们使用百度地图的mcp server,首先需要获取百度地图的api调用凭证前往百度地图的开放平台:
https://lbsyun.baidu.com/apiconsole/center
登录控制台后,创建一个新的应用:(初次使用需要先申请,几个小时后就审核完了会通知你的)
使用服务部分的API,然后就复制一下这个api,然后配置一下json:
"baidu-map": {"isActive": true,"disabled": false,"timeout": 60,"command": "cmd","args": ["/c","npx","-y","@baidumap/mcp-server-baidu-map"],"env": {"BAIDU_MAP_API_KEY": "你的地图API"},"transportType": "stdio","name": "baidu-map"
}
然后使用大模型进行测试即可:
Git
能够让大模型操作git仓库:
"git": {"isActive": true,"command": "uvx","args": ["mcp-server-git","--repository","F:\\git\\hardware"],"name": "git"
}
这里需要给一个对应的本地的git仓库地址,然后测试一下:
Github
"github": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-github"],"env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "xxx"},"name": "github"
}
首先要去自己的github上创建一个token密钥:,在设置里面的开发者模式,创建一个密钥,设置一下时间限制,对于所有仓库的访问,以及对于这些仓库的各种访问权限,我直接全部开放了这个token的所有权限.
生成好token后填入GITHUB_PERSONAL_ACCESS_TOKEN即可,然后我们来测试一下:
filesystem
文件系统,可以直接操作电脑上的文件内容,注意添加时需要加上自己的目录,并且好像需要有权限修改的目录才能读取内容
"filesystem": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-filesystem","C:\\Users\\24541","F:\\git\\mcp-client"],"name": "filesystem"
}
测试一下:
desktop-command
可以操作电脑上的文件了,之前的filesystem只是分析文件,还不能去处理本地的文件.直接上json:
"desktop-commander": {"isActive": true,"command": "npx","args": ["-y","@wonderwhy-er/desktop-commander"],"name": "desktop-commander"
},
"sequential-thinking": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-sequential-thinking"],"name": "sequential-thinking"
}
直接测试一下:
知识图谱
这块的配置多一点内容,首先需要编辑一下默认的助手,填写这些提示词,也就是关于记忆知识的:
Follow these steps for each interaction:1. User Identification:- You should assume that you are interacting with default_user- If you have not identified default_user, proactively try to do so.2. Memory Retrieval:- Always begin your chat by saying only "Remembering..." and retrieve all relevant information from your knowledge graph- Always refer to your knowledge graph as your "memory"3. Memory- While conversing with the user, be attentive to any new information that falls into these categories:a) Basic Identity (age, gender, location, job title, education level, etc.)b) Behaviors (interests, habits, etc.)c) Preferences (communication style, preferred language, etc.)d) Goals (goals, targets, aspirations, etc.)e) Relationships (personal and professional relationships up to 3 degrees of separation)4. Memory Update:- If any new information was gathered during the interaction, update your memory as follows:a) Create entities for recurring organizations, people, and significant eventsb) Connect them to the current entities using relationsb) Store facts about them as observations
然后配置mcp:
"memory": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-memory"],"name": "memory"
}
然后测试一下.先让他记住知识:
然后清楚上下文,重新询问:
顺序思维
让大模型拆解问题,获得类似于推理模型的能力:
"sequential-thinking": {"isActive": true,"command": "npx","args": ["-y","@modelcontextprotocol/server-sequential-thinking"],"name": "sequential-thinking"}
然后调用顺序思维的服务:
浏览器自动化
这个比较特别,我们理解了这一个配置之后就能自己配置任务node环境的mcp服务了.
https://github.com/executeautomation/mcp-playwright
首先需要用npm工具安装全局包:
使用cmd运行
npm install -g @executeautomation/playwright-mcp-server
怎么查看是否安装呢?
npm list -g
可以看到和pip很像,这里已经安装好了.这里有一个-g全局安装的概念:
全局安装是指将软件包安装在系统的全局环境中,使得该软件包在整个系统中都可以被访问和使用,而不仅仅局限于某个特定的项目目录。与之相对的是本地安装,以下是两者的区别:
本地安装位置:本地安装的包会被安装到当前项目的node_modules目录下。例如,在项目my-project的根目录下执行npm
install some-package,则some-package会被安装到my-project/node_modules目录中。
全局安装位置:如前文所述,在 Windows 系统中,全局安装的包通常位于%AppData%\npm\node_modules目录;在 macOS 和 Linux 系统中,通常位于/usr/local/lib/node_modules目录。
这里安装的这个包其实就是一个playwright的浏览器环境给mcp使用.
然后就可以通过npx来运行对应的项目了:也就是npx命令
npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server
但是我们启动mcp服务并不是直接在命令行中进行,而是配置到了cherry studio中,所以是把它填入到json配置中:
"playwright": {"isActive": true,"command": "npx","args": ["-y","@executeautomation/playwright-mcp-server"],"name": "playwright"
}
这里的配置其实和运行那个命令没有区别.最后我们来看一下效果:
这里没有成功登录,貌似他没有填写Authenticator的权限.
matlab
这个貌似还没有很好的封装到服务器上,所以我们需要先本地安装一下:
下载一下:https://github.com/WilliamCloudQi/matlab-mcp-server
安装一下这个javascript项目:
cd matlab-mcp-server
npm install
npm run build
在build下生成了一个js文件,然后我们配置一下mcp:
"matlab-server": {"command": "node","args": ["F:\\git\\matlab-mcp-server\\build\\index.js"],"env": {"MATLAB_PATH": "D:\\Program Files\\MATLAB\\R2023b\\bin\\matlab.exe"},"disabled": false,"autoApprove": []
}
注意修改一下对应的js和matlab的位置.
应该就可以调用了…
还有很多的mcp server正在开发中,当大模型集成了这些工具之后,工作效率将成倍提升!当然,现在开源模型商其实还在追赶,claude的集成mcp工具已经非常强大了,也有自己的client客户端,期待后续的发展.后面我们可能会接触n8n,cozy这样的工作流智能体,也是类似的.
相关文章:
Cherry Studio配置MCP server
MCP server在很多的app上开始支持了,从以前的claude desktop,到cursor,vscode等等,甚至现在开源的软件也都开始支持mcp协议的配置了.这里主要来说一下如何在cherry studio中配置好mcp的服务. cheery studio 中配置MCP并使用 基础配置过程Blender MCP百度地图GitGithubfilesyst…...
前端快速入门——JavaScript变量、控制语句
1.JavaScript 定义 JavaScript 简称 JS. JavaScript 是一种轻量级、解释型、面向对象的脚本语言。它主要被设计用于在网页上实现动态效果,增加用户与网页的交互性。 作为一种客户端脚本语言,JavaScript 可以直接嵌入 HTML,并在浏览器中执行。…...
[CISSP] [8] 安全模型,设计和能力的原则
开源软件(Open Source Software, OSS) 优点: 透明性高 开源软件的源代码对公众开放,安全专家和用户可以检查其实现,验证是否存在安全隐患。 社区驱动的漏洞发现 有大量开发者和安全研究人员参与代码审查,…...
docker使用
最近为了打vulhub也是搞了好久的docker,搞了半天搞得我头大,结果还是没能成功,不知道为什么起shiro550靶场总是报139的错误,在网上搜了半天也没有解决,有没有师傅救一下喵QaQ 安装就不说了喵,安装完记得换…...
phpexcel导出下拉框,超过255字符不显示的问题处理
用php生成excel模板,并设置下拉框的选项。如果选项太多,可能导致下拉框不显示的问题。下面会给出示例,以及解决方案,支持生成包含大量数据的下拉框。 // $info 为下拉框的数数据,[男,女,保密] function exportDataSel…...
【重构谷粒商城12】npm快速入门
重构谷粒商城12:npm快速入门 前言:这个系列将使用最前沿的cursor作为辅助编程工具,来快速开发一些基础的编程项目。目的是为了在真实项目中,帮助初级程序员快速进阶,以最快的速度,效率,快速进阶…...
【Pandas】pandas DataFrame bool
Pandas2.2 DataFrame Conversion 方法描述DataFrame.astype(dtype[, copy, errors])用于将 DataFrame 中的数据转换为指定的数据类型DataFrame.convert_dtypes([infer_objects, …])用于将 DataFrame 中的数据类型转换为更合适的类型DataFrame.infer_objects([copy])用于尝试…...
Django 在同一域名下使用 NGINX 服务器运行 Django 和 WordPress
在本文中,我们将介绍如何使用 NGINX 服务器在同一域名下同时运行 Django 和 WordPress。我们将使用反向代理和URL重写来实现这一目标。 1. 安装和配置 NGINX 首先,我们需要在服务器上安装并配置 NGINX。请根据您的操作系统类型和版本的要求,…...
LeetCode Hot100 刷题笔记(2)—— 子串、普通数组、矩阵
目录 前言 一、子串 1. 和为 K 的子数组 2. 滑动窗口最大值 3. 最小覆盖子串 二、普通数组 4. 最大子数组和 5. 合并区间 6. 轮转数组 7. 除自身以外数组的乘积 8. 缺失的第一个正数 三、矩阵 9. 矩阵置零 10. 螺旋矩阵 11. 旋转图像 12. 搜索二维矩阵 II 前言 一、子串&#…...
游戏引擎学习第213天
回顾并为今天的工作做准备 今天我们将继续在调试界面上进行一些编码工作。我们已经完成了很多内容,并且昨天完成了与游戏的集成,主要是在两个系统之间统一了用户界面。 今天的目标是进入调试界面,进一步整理并完善它,以便我们能…...
使用 Django 构建 Web 应用程序:症状检测 - 分步指南
使用 Django 构建 Web 应用程序:症状检测 - 分步指南 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 使用 Django 构建 Web 应用程序:症状检测 - 分步指南先决条件第 1 步:设置 …...
oracle将varchar2 转为clob类型存储。 oracle不支持直接使用sql,将 varchar2 到clob的类型转换,需要下面操作
将一个现有表中的 VARCHAR2 列数据迁移到一个 CLOB 列的过程。以下是对每一步操作的说明: 1. 添加一个新的 CLOB 类型列 首先,向表中添加一个新的 CLOB 类型的列。这个列将用来存储原本的 VARCHAR2 数据。 ALTER TABLE your_table ADD (new_column CL…...
React 之 Redux 第三十一节 useDispatch() 和 useSelector()使用以及详细案例
使用 Redux 实现购物车案例 由于 redux 5.0 已经将 createStore 废弃,我们需要先将 reduxjs/toolkit 安装一下; yarn add reduxjs/toolkit// 或者 npm install reduxjs/toolkit使用 vite 创建 React 项目时候 配置路径别名 : // 第一种写法…...
RHCSA Linux系统 vim 编辑器
1.使用 vi/vim 编辑文件 [rootlocalhost ~]# vim /etc/passwd 默认进入命令模式 2.命令模式下的常用快捷键 (1) 光标跳转快捷键 (2)复制、粘贴、删除 3.编辑模式 4.末行模式 (1)查找关键字替换 (2&…...
ABAP小白开发操作手册+(十)验证和替代——下
目录 一、前言 二、替代步骤详解 1、新建替换 2、新建步骤 3、创建先决条件 4、补充替换 5、ZRGGBS000 三、传输请求 四、DEBUG 一、前言 本章内容分为上下两篇,包括验证和替代, 上篇:验证步骤、传输验证请求、DEBUG 下篇…...
鸿蒙小案例---心情日记
效果演示 代码实现 import { router, window } from kit.ArkUIEntry Component struct Index {async aboutToAppear(): Promise<void> {let w await window.getLastWindow(getContext())w.setWindowSystemBarProperties({statusBarColor: #00C6C3,statusBarContentColo…...
一种单脉冲雷达多通道解卷积前视成像方法【论文阅读】
一种单脉冲雷达多通道解卷积前视成像方法-李悦丽-2007 1. 论文的研究目标与实际意义1.1 研究目标1.2 实际问题与产业意义2. 论文提出的思路、方法及模型2.1 多通道解卷积(MCD)技术的核心思想2.1.1 数学模型与公式推导2.1.2 针对单脉冲雷达的改进2.2 方法与传统技术的对比3. 实…...
React中使用dnd-kit实现拖拽排序
使用dnd-kit实现拖拽排序 效果展示 实现源码 安装依赖 dad-kit github地址 yarn add dnd-kit/core dnd-kit/sortable dnd-kit/utilities dnd-kit/modifiers这几个包的作用 dnd-kit/core:核心库,提供基本的拖拽功能。dnd-kit/sortable:扩…...
深度学习总结(3)
数据批量的概念 通常来说,深度学习中所有数据张量的第一个轴(也就是轴0,因为索引从0开始)都是样本轴[samples axis,有时也叫样本维度(samples dimension)]。深度学习模型不会一次性处理整个…...
Android Studio Narwhal | 2025.1.1新功能
Android Studio 中的 Gemini 支持多模式图像附件 现在,您可以在 Android Studio 中将图像直接附加到 Gemini 提示中。您可以即时获取复杂技术图表的洞察,或使用设计模型生成相应的代码框架。这种将视觉环境无缝集成到 AI 辅助工作流程中的设计方式&…...
XML语法指南——从入门到精通
1、引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,它被设计为具有自我描述性且易于理解。本文将全面介绍XML的语法规则,包括元素、属性、命名规则、转义字符等核心概念。 2、XML文档基本结构 一个完整的XML文档…...
利用高阶函数实现AOP
如大家所熟悉的,AOP(面向切面编程)的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能通常包括日志统计、安全控制、异常处理等。 把这些功能抽离出来之后,再通过“动态织入”的方式掺…...
原生SSE实现AI智能问答+Vue3前端打字机流效果
实现流程: 1.用户点击按钮从右侧展开抽屉(drawer),打开模拟对话框 2.用户输入问题,点击提问按钮,创建一个SSE实例请求后端数据,由于SSE是单向流,所以每提一个问题都需要先把之前的实…...
windows11下pytorch(cpu)安装
先装anaconda 见最下方 Pytorch 官网:PyTorch 找到下图(不要求版本一样)(我的电脑是集显(有navdia的装gpu),装cpu) 查看已有环境列表 创建环境 conda create –n 虚拟环境名字(…...
C++【string类】(一)
string类 1.为什么要学string?2.标准库类型的string类2.1 string类的构造2.2string类的析构2.3读写string类2.4string类的赋值重载2.5string的遍历 1.为什么要学string? 在C语言中字符出串是以‘/0’结尾的一些字符的结合,为了操作方便&…...
yarn:error Error: certificate has expiredERR_OSSL_EVP_UNSUPPORTED解决
yarn:error Error: certificate has expired 报错 error Error: certificate has expiredat TLSSocket.onConnectSecure (node:_tls_wrap:1679:34)at TLSSocket.emit (node:events:519:28)at TLSSocket._finishInit (node:_tls_wrap:1078:8)at ssl.onhandshakedon…...
Git Cherry-pick:核心命令、实践详解
Git Cherry-pick:核心命令、实践详解 一、Cherry-pick 1. 简介 在多分支协作开发中,我们常常只想把某个分支上的单个或若干次提交,合并到另一个分支,而不需要合并整个分支。Git 提供的 cherry-pick 命令,正是为此而…...
ffmpeg播放音视频流程
文章目录 🎬 FFmpeg 解码播放流程概览(以音视频文件为例)1️⃣ 创建结构体2️⃣ 打开音视频文件3️⃣ 查找解码器并打开解码器4️⃣ 循环读取数据包(Packet)5️⃣ 解码成帧(Frame)6️⃣ 播放 / …...
OSPF的数据报文格式【复习篇】
OSPF协议是跨层封装的协议(跨四层封装),直接将应用层的数据封装在网络层协议之后,IP协议包中协议号字段对应的数值为89 OSPF的头部信息: 所有的数据共有的信息字段 字段名描述版本当前OSPF进程使用的版本(…...
Spark大数据分析与实战笔记(第四章 Spark SQL结构化数据文件处理-04)
文章目录 每日一句正能量第4章 Spark SQL结构化数据文件处理章节概要4.4 RDD转换DataFrame4.4.1 反射机制推断Schema4.4.2 编程方式定义Schema 每日一句正能量 一个人若想拥有聪明才智,便需要不断地学习积累。 第4章 Spark SQL结构化数据文件处理 章节概要 在很多情…...
设计模式 --- 状态模式
状态模式是一种行为型设计模式,允许对象在内部状态改变时动态改变其行为,使对象的行为看起来像是改变了。该模式通过将状态逻辑拆分为独立类,消除复杂的条件分支语句,提升代码的可维护性和扩展性。 状态模式的…...
将外网下载的 Docker 镜像拷贝到内网运行
将外网下载的 Docker 镜像拷贝到内网运行,可以通过以下步骤实现: 一、在有外网访问权限的机器上操作 下载镜像 使用docker pull命令下载所需的镜像。例如,如果你需要下载一个名为nginx的镜像,可以运行以下命令:docke…...
Seq2Seq - GRU补充讲解
nn.GRU 是 PyTorch 中实现门控循环单元(Gated Recurrent Unit, GRU)的模块。GRU 是一种循环神经网络(RNN)的变体,用于处理序列数据,能够更好地捕捉长距离依赖关系。 ⭐重点掌握输入输出部分输入张量&#…...
从0到1构建工具站 - day6 (在线编程工具-docker)
从0到1构建工具站 网页在线编程工具构建(php、go、python)搜集其他在线编程网站构建php8运行环境Dockerfiledocker-compose.yaml 构建python运行环境Dockerfiledocker-compose.yml 核心调用python的docker-sdk包执行命令执行文件流程执行命令流程pythonp…...
C++面向对象编程优化实战:破解性能瓶颈,提升应用效率
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle…...
JavaWeb 课堂笔记 —— 06 Maven
本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…...
【Linux】网络层协议 IP
网络层协议 IP 一. 基本概念二. IP 协议格式三. 网段划分 (重点)1. 传统方法2. 子网掩码 四. 特殊 IP 地址五. IP 地址的数量限制六. 私有 IP 地址和公网 IP 地址七. 运营商1. 基本网络情况2. 全球网络情况 八. 路由九. IP 报文的分片和组装 网络层:在复杂的网络环境…...
嵌入式系统中如何构建事件响应架构
在复杂的嵌入式系统中,串口、BLE、定时器、中断等多种事件源并存,如何高效地统一调度这些异步事件,是系统稳定性和可维护性的关键。本文将结合 BLE 系统架构的经验,讲解如何构建一个通用的事件响应架构。 🧩 一、什么是事件响应架构? 事件响应架构(Event-Driven Archi…...
Flutter报错:Warning: CocoaPods is installed but broken
最近在做Flutter开发,在跑iOS的时候报错: 结论:CocoaPods安装有问题 解决办法: 先卸载本地CocoaPods,然后重新安装 查看当前版本 gem list | grep cocoapods执行卸载 sudo gem uninstall cocoapods直到 which -a…...
JdbcTemplate基本使用
JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate和MbernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的…...
地图服务热点追踪:创新赋能,领航出行与生活
在数字化时代,地图服务早已超越了传统的导航范畴,成为智能出行、生活服务乃至应急救援等多领域的关键支撑。近期,地图服务领域热点不断,从技术创新到应用拓展,每一次突破都在重塑我们与世界交互的方式。本文将深入剖析…...
Flutter Invalid constant value.
0x00 问题 参数传入变量,报错! 代码 const Padding(padding: EdgeInsets.all(20),child: GradientProgressIndicator(value: _progress), ),_progress 参数报错:Invalid constant value. 0x01 原因 这种情况,多发生于ÿ…...
网络基础-路由技术和交换技术以及其各个协议
四、路由技术和交换技术 4.1路由技术 静态与动态协议的关系: 1,静态路由:由网络管理员手工填写的路由信息。 2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协…...
替换jeecg图标
替换jeecg图标 ant-design-vue-jeecg/src/components/tools/Logo.vue <!-- <img v-else src"~/assets/logo.svg" alt"logo">-->...
C#里使用WPF的MaterialDesignThemes
先要下载下面的包: <?xml version="1.0" encoding="utf-8"?> <packages><package id="MaterialDesignColors" version="5.2.1" targetFramework="net48" /><package id="MaterialDesignTheme…...
四六级听力考试播音系统:构建播放控制智能化、发射系统双备份、发射功率有冗余、安全稳定可靠的英语四六级听力播音系统使用环境
四六级听力考试播音系统:构建播放控制智能化、发射系统双备份、发射功率有冗余、安全稳定可靠的英语四六级听力播音系统使用环境 北京海特伟业科技有限公司任洪卓于2025年4月9日发布 传统的四六级听力考试播音系统往往存在信号不稳定、容易受干扰、无发射备份、无功率冗余、更…...
JavaScript性能优化(下)
1. 使用适当的算法和逻辑 JavaScript性能优化是一个复杂而重要的话题,尤其是在构建大型应用时。通过使用适当的算法和逻辑,可以显著提高代码的效率和响应速度。以下是一些关键策略和实践,用于优化JavaScript性能: 1.1. 采用适当…...
优先级队列的应用
第一题: 题解思路: 1、建立降序的优先级队列(底层是通过大堆来实现); 2、取最大的两个数来相减得到的结果再加入到优先级队列中(优先级队列会自动的排序); 3、返回队列的头部或者0即可; 题解代…...
从 macos 切换到 windows 上安装的工具类软件
起因 用了很多年的macos, 已经习惯了macos上的操作, 期望能在windows上获得类似的体验, 于是花了一些时间来找windows上相对应的软件. 截图软件 snipaste windows和macos都有的软件, 截图非常好用 文件同步软件 oneDrive: 尝试了不同的同步软件, 还是微软在各…...
探索原生JS的力量:自定义实现类似于React的useState功能
1.写在前面 本方案特别适合希望在历史遗留的原生JavaScript项目中实现简单轻量级数据驱动机制的开发者。无需引入任何框架或第三方库,即可按照此方法封装出类似于React中useState的功能,轻松为项目添加状态管理能力,既保持了项目的轻量性&am…...