当前位置: 首页 > news >正文

在WPS中通过JavaScript宏(JSA)调用DeepSeek官网API优化文档教程

在WPS中通过JavaScript宏(JSA)调用DeepSeek官网API优化文档教程

一、获取DeepSeek API密钥

访问DeepSeek官网,在开发者中心创建应用并生成API Key。注意选择deepseek - chatdeepseek - v3模型,推荐后者支持长文本生成。具体步骤:

1.打开DeepSeek官网

DeepSeek官网地址:https://www.deepseek.com/。

2.创建应用并生成API Key

点击右上角的“API开放平台”,进入之后,在点击左侧的“API keys”菜单。

点击“创建API key”,之后任意输入一个名称(方便自己记忆即可)。

点击“创建”,之后生成一个key,一定要先复制并保存好,之后会看不到了

提示是:请将此 API key 保存在安全且易于访问的地方。出于安全原因,你将无法通过 API keys 管理界面再次查看它。如果你丟失了这个 key,将需要重新创建。

当前的API Key:sk-e4df3c51537048af980934467b594163

二、启用WPS的JS宏功能

1.系统之间的操作区别

(1)Windows系统:打开 WPS 文字,点击左上角的 “文件” 选项,在下拉菜单中选择 “选项”。在弹出的窗口中,点击 “自定义功能区”,勾选「开发工具」

(2)Mac系统:点击 “WPS Office” 菜单,选择 “偏好设置”,在 “高级” 选项中勾选 “启用宏支持”。

2.Windows系统的操作步骤

打开 WPS 文字,点击左上角的 “文件” 选项,在下拉菜单中选择 “选项”。在弹出的窗口中,点击 “自定义功能区”,勾选「开发工具」。

具体步骤为:【文件】--> 【选项】 --> 【自定义功能区】 --> 选择【主选项卡】--> 【工具】 -->【开发工具】 --> 勾选「开发工具」 --> 【添加】--> 会在右侧的【工具】中看到。

我已经添加过了,所以【添加(A)】显示是灰色的。

三、编写核心API调用脚本

1.打开WPS的JS宏编辑器

打开 WPS宏编辑器的步骤:【工具】选项卡 --> 【开发工具】选项。

默认是在VB编辑器界面,切换到JS环境。

再打开【WPS宏编辑器】

2.在哪里插入模块

进入“WPS宏编辑器”之后,我们将在左上角的“工程”窗口中,看到Project(Normal.dotm)、Project(<当前打开的word文档名称>.docx) 和 Project(Building Blocks.dotx),我们应该在哪里添加模块,则需要先弄清楚WPS宏编辑器中三个工程的区别。

它们的区别如下:

(1)Project(Normal.dotm)

  1. 存储位置与性质:Normal.dotm 是 WPS 文字的通用模板文件,通常存于特定的系统文件夹内。这个模板是所有新文档的基础模板,每次新建文档时,都会默认应用 Normal.dotm 里的设置和样式。
  2. 宏的作用范围:在此项目下编写的宏,能够在所有基于 Normal.dotm 新建的文档里使用。这些宏属于全局宏,可在任意文档中调用,无需重复定义。比如,你创建了一个用于快速设置段落格式的宏,把它存于 Normal.dotm 里,那么在任何新文档中都能调用该宏。
  3. 使用场景:适合存放那些需要在多个文档中频繁使用的通用宏,像自动排版、快速插入特定内容等宏。

2. Project (<当前打开的 word 文档名称>.docx)

  1. 存储位置与性质:此项目和当前打开的具体文档相关联,宏代码直接存储在该文档内部。
  2. 宏的作用范围:这些宏仅在当前打开的文档中有效,无法在其他文档里使用。当你关闭该文档后,宏也就不会影响其他文档。例如,你为某个特定文档编写了一个用于处理特定数据表格的宏,这个宏就只能在该文档中发挥作用。
  3. 使用场景:适用于那些只和当前文档相关的特定宏,比如针对文档内特定格式的数据进行处理、根据文档内容生成特定图表等。

3. Project(Building Blocks.dotx)

  1. 存储位置与性质:Building Blocks.dotx 是构建基块模板文件,主要用于存储文档构建基块,像自动图文集、快速部件等。构建基块是一些预先定义好的内容,可快速插入到文档中。
  2. 宏的作用范围:虽然该项目也能包含宏,但它的主要用途并非存储宏,而是存储和管理构建基块。这里的宏一般和构建基块的操作有关,比如在插入构建基块时执行特定的格式调整操作。
  3. 使用场景:若要创建和构建基块相关的自动化操作,就可以把宏存于这个项目中。例如,当插入某个特定的快速部件时,自动调整其字体和段落格式。

综上所述,Normal.dotm适用于全局通用宏,当前文档的项目适用于特定文档的宏,而 Building Blocks.dotx主要用于和构建基块操作相关的宏。

3.插入模块

基于以上的分析,我们为了能全局使用,所以在Project(Normal.dotm)中新建模块:

新建模块步骤:在Project(Normal.dotm)右键--> 插入-->模块。则会在“代码”下出现Module1,如果进入的时候已经存在Module1,则可以不新建了,打开Module1即可

在模块中编写以下代码(javascript代码):

function callDeepSeekAPI() {"use strict";// 获取选中文本var selection = this.Application.Selection;var selectedText = selection.Text;// 保存选中范围var range = selection.Range;// DeepSeek API配置var apiUrl = 'https://api.deepseek.com/v1/chat/completions';var apiKey = 'sk-e4df3c51537048af980934467b594163';var model = 'deepseek-chat';// 构建请求体var requestBody = {"model": model,"messages": [{"role": "user", "content": selectedText}],"stream": false};requestBody = JSON.stringify(requestBody);// 创建XMLHttpRequest对象var xhr = new XMLHttpRequest();xhr.open('POST', apiUrl, false);// 设置请求头xhr.setRequestHeader('Content-Type','application/json');xhr.setRequestHeader('Authorization','Bearer '+apiKey);// 设置超时时间(单位:毫秒)xhr.timeout = 30000; // 设置为30秒// 超时处理函数xhr.ontimeout = function () {alert('请求超时,请稍后重试!可以增加temperature参数控制生成文本创意度');};// 发送请求xhr.send(requestBody);// 处理响应if (xhr.status === 200) {var response = JSON.parse(xhr.responseText);// 用优化后的文本替换选中的文本range.Text = response.choices[0].message.content;alert('优化完成!');} else {alert('请求失败,状态码:' + xhr.status);}}

代码的部分说明:

  1. 出于与OpenAI兼容考虑,您也可以将apiUrl设置为https://api.deepseek.com/v1来使用,但注意,此处v1与模型版本无关。
  2. deepseek-chat模型已全面升级为DeepSeek-V3,接口不变。 通过指定model='deepseek-chat'即可调用DeepSeek-V3
  3. deepseek-reasoner是DeepSeek最新推出的推理模型DeepSeek-R1。通过指定model='deepseek-reasoner',即可调用DeepSeek-R1
  4. 代码中为非流式输出,您可以将stream设置为true来使用流式输出

4.试运行代码

界面效果如下,同时也可以先运行一下代码,看一下结果

先充值后,运行结果如下(运行时,可能需要等待一段时间,等返回结果):

如果看到运行代码后,在调用API时返回状态码401通常表示 “未授权(Unauthorized)”,这意味着服务器认为你提供的身份验证信息(如API密钥)无效或不合法,而导致认证失败。当然也可能是代码中的书写问题,比如多了一些空格之类的问题

5.实名认证和充值

当然,通过API调用deepseek是需要付费的,所以务必先保证已经实名认证并进行充值,否则无法实现调用。

6.错误码

您在调用 DeepSeek API 时,可能会遇到以下错误。这里列出了相关错误的原因及其解决方法。

错误码

描述

400 - 格式错误

原因:请求体格式错误

解决方法:请根据错误信息提示修改请求体

401 - 认证失败

原因:API key 错误,认证失败

解决方法:请检查您的 API key 是否正确,如没有 API key,请先 创建 API key

402 - 余额不足

原因:账号余额不足

解决方法:请确认账户余额,并前往 充值 页面进行充值

422 - 参数错误

原因:请求体参数错误

解决方法:请根据错误信息提示修改相关参数

429 - 请求速率达到上限

原因:请求速率(TPM 或 RPM)达到上限

解决方法:请合理规划您的请求速率。

500 - 服务器故障

原因:服务器内部故障

解决方法:请等待后重试。若问题一直存在,请联系我们解决

503 - 服务器繁忙

原因:服务器负载过高

解决方法:请稍后重试您的请求

四、在WPS中新建按钮并绑定宏

1.通过自定义功能区(自行实现)

这个方式在我的另外一篇文章中已经讲解过了,具体的可以参照CSDN文章:在WPS中通过JavaScript宏(JSA)调用本地DeepSeek API优化文档教程:在WPS中通过JavaScript宏(JSA)调用本地DeepSeek API优化文档教程_wps调用api-CSDN博客。

(1)创建新选项卡和组。

(2)添加按钮

(3)效果

2.加载项中构建代码模块

以下是在WPS加载项中新建代码模块的一般操作步骤:

(1)安装WPSJS开发工具包:以管理员权限(如果安装的是WPS个人版,通常不需要管理员权限)启动命令行,但这个依赖node.js,即一定要先安装node.js。通过npm全局安装WPSJS开发工具包,命令为npm install -g wpsjs。如果之前已经安装了,可以使用npm update -g wpsjs命令检查并更新到最新版本。在CMD中执行结果如下:

(2)新建WPS加载项:使用wpsjs create命令新建一个WPS加载项,假设取名为"HelloWps"。在命令行中输入wpsjs create HelloWps后,会出现选项让你选择要创建的WPS 加载项的类型,比如选择“文字”则创建的加载项会在WPS文字程序中加载并运行,选择 “电子表格”则会在 WPS 表格中运行等,选择好后按回车键确定。

(3)选择示例代码的代码风格类型:接着选择示例代码的代码风格类型,可选择 “无” 等,按回车键确认。确认后,WPSJS工具包会在当前目录下生成一个名为 "HelloWps" 的文件夹,进入此文件夹可以看到HelloWps的相关代码已经生成。

一般会在执行的位置生成文件夹:C:\Users\lzm07\HelloWps。

以上代码提示,因为遇到了错误(也可以不予理会,直接到下一步(4))。

Error: Command failed with exit code 128: git commit -m init

Author identity unknown

解决办法是:

Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.

将you@example.com替换为你自己的邮箱,将Your Name替换为你自己的名字。

(4)编写代码:在生成的加载项项目中,找到对应的代码文件(如main.js等,根据不同的框架放在不同的位置),在该文件中添加新的代码模块。如果是创建自定义函数,可按照相关规范编写函数代码。

打开C:\Users\lzm07\HelloWps下的main.js文件,在main.js中添加以下代码(javascript):

function Workbook_Open() {// 配置第一个功能区,在此功能区中可以配多个功能按钮let bar1 = Application.CommandBars.Add('我的功能区1');bar1.Visible = true;// 配置功能按钮,为它绑定宏命令callDeepSeekAPIlet btn1 = bar1.Controls.Add(1); // 将 msoControlButton 替换为 1btn1.Caption = '优化文档'; // 功能按钮的显示名称btn1.OnAction = 'callDeepSeekAPI'; // 绑定函数}

这里确保callDeepSeekAPI函数可用。要保证callDeepSeekAPI函数已经定义,并且能在当前作用域中被访问到。你可以把callDeepSeekAPI函数也添加到main.js文件中,或者确保它在其他文件中定义且被正确引入。

触发Workbook_Open函数。在WPS加载项里,Workbook_Open函数通常在word打开时触发。你需要在合适的地方调用这个函数,例如在加载项初始化时。在main.js文件里,继续添加调用代码:

// 这里是加载项初始化的代码document.addEventListener('DOMContentLoaded', function () {// 调用Workbook_Open函数Workbook_Open();});

修改manifest.xml,增加灰色部分的代码(DefaultSettings标签的内容)

<?xml version="1.0" encoding="UTF-8"?><JsPlugin><ApiVersion>1.0.0</ApiVersion><Name>HelloWps</Name><Description>addon Description</Description><DefaultSettings><SourceLocation DefaultValue="http://127.0.0.1:3889/index.html"/></DefaultSettings></JsPlugin>

确保index.html的代码如下(生成的index.html格式可能不对):

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>HelloWps Addin</title></head><body><script type="text/javascript" src="./main.js"></script></body></html><!--这个文件是wps加载项的入口文件,wps在启动时加载这个文件-->

保存以上全部代码。

(5)调试加载项:关闭WPS,CMD进入C:\Users\lzm07\HelloWps,再执行wpsjs debug命令,此命令会自动启动WPS并加载新建的加载项,同时WPSJS工具包会启动一个HTTP服务,方便进行调试和开发。

注意调试之前,一定要先安装项目依赖:在HelloWps项目的根目录下(也就是 C:\Users\lzm07\HelloWps),执行以下命令来安装项目的所有依赖:npm install

CMD进入C:\Users\lzm07\HelloWps,再执行wpsjs debug命令。

之后会自动打开WPS,弹出以下窗口,点击“确定”。

重启WPS后,即可在导航栏中看到新建的“加载项”选项卡,其中有“优化文档”按钮,点击该按钮就能调用DeepSeek API对选中文档内容进行优化。

相关文章:

在WPS中通过JavaScript宏(JSA)调用DeepSeek官网API优化文档教程

在WPS中通过JavaScript宏&#xff08;JSA&#xff09;调用DeepSeek官网API优化文档教程 一、获取DeepSeek API密钥 访问DeepSeek官网&#xff0c;在开发者中心创建应用并生成API Key。注意选择deepseek - chat或deepseek - v3模型&#xff0c;推荐后者支持长文本生成。具体步…...

2025-Gateway架构

文章目录 1. **Spring Cloud Gateway**&#x1f9e0; **简介**&#xff1a;✅ **主要特性**&#xff1a;⚙️ **使用场景**&#xff1a; 2. **Kong Gateway**&#x1f9e0; **简介**&#xff1a;✅ **主要特性**&#xff1a;⚙️ **使用场景**&#xff1a; 3. **Zuul (Netflix)…...

Android HWComposer代码分析

厂家应该根据自己的硬件去写HWC的代码&#xff0c;一般位于hardware/厂家名称/hwcomposer目录中。 1 HAL_MODULE_INFO_SYM 在 Android 中&#xff0c;HAL_MODULE_INFO_SYM 结构体用于描述硬件抽象层&#xff08;HAL&#xff09;模块的信息&#xff0c;它会在系统启动过程中被…...

Java微服务分布式事务:CAP定理、BASE理论与事务模式全解析

在当今复杂的分布式系统中&#xff0c;数据一致性始终是架构师面临的核心挑战。本文将深入探讨分布式领域的三大基石理论&#xff08;CAP/BASE&#xff09;&#xff0c;并详解微服务场景下的五种主流事务解决方案&#xff0c;通过真实代码示例揭示技术实现本质。 一、分布式系统…...

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解

多坐标系变换全解析:从相机到WGS-84的空间坐标系详解 一、常见坐标系简介二、各坐标系的功能和使用场景1. WGS-84 大地坐标系(经纬高)2. 地心直角坐标系(ECEF)3. 本地 ENU / NED 坐标系4. 平台坐标系(Body)5. 相机坐标系三、坐标变换流程图四、如何选用合适的坐标系?五…...

【微服务治理】Opentelemetry、 Jaeger、Prometheus、grafana 关系?各自作用?最佳实践?

OpenTelemetry、Jaeger、Prometheus 和 Grafana 是云原生可观测性领域的核心工具组&#xff0c;各自解决不同维度的问题&#xff0c;又能协作形成完整的监控体系。以下是它们的详细关系和功能说明&#xff1a; 1. OpenTelemetry 定位&#xff1a;统一的遥测数据标准&#xff0…...

谷歌25年春季新课:15小时速成机器学习

谷歌说15小时就能入门机器学习&#xff0c;虽然听上去有点离谱&#xff0c;但看了一下课程设置其实是很合理而且全面的&#xff0c;而且谷歌的质量还是很有保障&#xff0c;很适合零基础的小白以及想要进阶的学习者。&#x1f680; 基础知识部分包括 线性回归&#xff1a;用于…...

【笔试强训day16】

目录 第一题&#xff1a;字符串替换 描述 输入&#xff1a; 返回值&#xff1a; 第二题&#xff1a;神奇数 输入描述: 输出描述: 输入 输出 第三题&#xff1a;DNA序列 描述 输入描述&#xff1a; 输出描述&#xff1a; 输入&#xff1a; 输出&#xff1a; 输入…...

[每周一更]-(第139期):从FRP认识内网穿透及反向代理

文章目录 **一、FRP的核心功能与实战应用****1. 远程访问场景****2. Web服务暴露**Web服务访问实际案例&#xff1a;**3. 物联网与设备管理****4. 高级功能** **二、FRP性能优化与安全加固****三、同类工具对比与选型建议****四、总结与选型建议****特殊场景解决方案****1. 跨国…...

vue2使用ezuikit-js播放萤石视频

需求&#xff1a;需要在大屏上播放萤石视频&#xff0c;用到官方的ezuikit-js插件实现&#xff0c;并实现视频播放切换功能。有个问题至今没有解决&#xff0c;就是萤石视频的宽高是固定的&#xff0c;不会根据大屏缩放进行自适应。我这边做了简单的刷新自适应。 1.下载ezuikit…...

Nacos服务发现和配置管理

目录 一、Nacos概述 1. Nacos 简介 2. Nacos 特性 2.1 服务发现与健康监测 2.2 动态配置管理 2.3 动态DNS服务 2.4 其他关键特性 二、 服务注册和发现 2.1 核心概念 2.2 Nacos注册中心 2.3 Nacos单机模式 2.4 案例——服务注册与发现 2.4.1 父工程 2.4.2 order-p…...

DeepSeek实战:如何用AI工具提升销售转化率?

销售行业正在经历一场前所未有的变革&#xff0c;AI技术的快速发展让传统销售模式面临巨大挑战。如今&#xff0c;像DeepSeek这样的智能工具已经能高效完成客户触达、需求分析、快速回复等基础销售工作&#xff0c;甚至比人类更快、更精准。许多公司已经发现&#xff0c;AI销售…...

无锡无人机培训学校哪家好?

无锡无人机培训学校哪家好&#xff1f;近年来&#xff0c;无人机技术在各个领域的应用越来越广泛&#xff0c;从农业、物流到影视制作&#xff0c;无人机已经成为了许多行业不可或缺的工具。这种趋势促使越来越多的人希望通过系统的培训获得无人机驾驶技能。然而&#xff0c;在…...

从数据格式转换的角度 flink cdc 如何写入paimon?

从数据格式转换的角度 flink cdc 如何同步数据&#xff0c;写入paimon&#xff1f; 从一个测试用例着手 org/apache/flink/cdc/connectors/paimon/sink/v2/PaimonSinkITCase.java public void testSinkWithDataChange(String metastore, boolean enableDeleteVector)throws …...

Flink的 RecordWriter 数据通道 详解

本文从基础原理到代码层面逐步解释 Flink 的RecordWriter 数据通道&#xff0c;尽量让初学者也能理解。 1. 什么是 RecordWriter&#xff1f; 通俗理解 RecordWriter 是 Flink 中负责将数据从一个任务&#xff08;Task&#xff09;发送到下游任务的组件。想象一下&#xff0c;…...

从keys到SCAN:Redis批量删除的进化之路

标签:Redis、批量删除、前缀匹配、性能优化 一、痛点分析:为什么需要批量删除指定前缀的键? 在 Redis 使用过程中,我们经常会遇到这样的场景: 需要对某一类数据进行清理,例如用户会话、缓存数据等,而这些数据通常以某种前缀命名(如 user:session:*、cache:data:*)。如…...

uniapp实现目录树效果,异步加载数据

uniapp目录树 父组件调用目录树组件 <DaTreeVue2:data"treeData":field"{label: name,key: id,}"change"handleTreeChange":defaultCheckedKeys"addressDefaultCheckedKey":defaultExpandedKeys"addressDefaultCheckedKey&qu…...

机器学习--网格搜索

引言 在机器学习的广袤世界里&#xff0c;构建一个性能卓越的模型是众多从业者不懈追求的目标。而模型性能的好坏&#xff0c;很大程度上依赖于超参数的设置。今天&#xff0c;我们就来深入探讨一种常用且有效的超参数调优方法 —— 网格搜索。 一、什么是网格搜索 网格搜索…...

Asp.NET Core WebApi 创建带鉴权机制的Api

构建一个包含 JWT&#xff08;JSON Web Token&#xff09;鉴权的 Web API 是一种常见的做法&#xff0c;用于保护 API 端点并验证用户身份。以下是一个基于 ASP.NET Core 的完整示例&#xff0c;展示如何实现 JWT 鉴权。 1. 创建 ASP.NET Core Web API 项目 使用 .NET CLI 或 …...

同步电路与异步电路详解

一、基本概念与核心区别 特性同步电路异步电路时钟依赖依赖全局时钟信号&#xff08;如CLK&#xff09;统一触发所有操作无全局时钟&#xff0c;依赖事件&#xff08;如信号跳变&#xff09;或握手协议时序控制所有操作在时钟边沿&#xff08;上升/下降沿&#xff09;同步执行…...

Vccaux_IO在DDR3接口中的作用

一、Vccaux_IO在DDR3接口中的作用 1.vccaux_io通常为FPGA的IO bank的辅助电源&#xff0c;用于支持特定电压的IO标准 2.在DDR3接口中&#xff0c;FPGA的IO bank需要DDR3芯片的电压(1.5v/1.35v)匹配 3.Vccaux_IO用于为FPGA的DDR3接口I/O Bank供电&#xff0c;其电压值、噪声和稳…...

5分钟读懂ArgoCD:在Kubernetes中实现持续部署

Kubernetes中的Argo CD介绍 Argo CD是用于Kubernetes的声明式GitOps持续交付工具。它遵循GitOps模式&#xff0c;以Git仓库作为定义所需应用程序状态的唯一真实来源&#xff0c;能在指定的目标环境中自动部署应用程序&#xff0c;并持续监控应用程序的运行状态&#xff0c;确保…...

Redis与Caffeine的结合使用详解(高效的二级缓存解决方案)

目录 一、Redis与Caffeine的结合使用&#xff08;一&#xff09;引入依赖&#xff08;二&#xff09;配置缓存&#xff08;三&#xff09;配置 Caffeine 缓存&#xff08;四&#xff09;配置 Redis 缓存&#xff08;五&#xff09;使用缓存 二、总结 一、Redis与Caffeine的结合…...

leetcode 322. Coin Change

这道题也是完全背包问题。注意与第518题和第377题对比。 这道题要求的是最少可以用多少个物品装满背包&#xff0c;不关心所选物品的组合方式和排列方式。因此&#xff0c;外层循环既可以是对物品的遍历&#xff0c;也可以是对容量的遍历。 第518题&#xff0c;要求的是装满背…...

mac|使用scrcpy实现无线Android投屏

scrcpy是一个开源项目&#xff0c;从项目的releases可以得知它适用于windows、linux、mac github&#xff1a;https://github.com/Genymobile/scrcpy/releases github中提供了应用于mac系统的静态版本&#xff08;也就是上图的scrcpy-macos-aarch64-v3.1.tar.gz和scrcpy-macos…...

2025年04月11日Github流行趋势

项目名称&#xff1a;ml-course 项目地址url&#xff1a;https://github.com/girafe-ai/ml-course项目语言&#xff1a;Jupyter Notebook历史star数&#xff1a;2880今日star数&#xff1a;207项目维护者&#xff1a;neychev, girafeai, v-goncharenko, vmarchenkoff, HCL-271项…...

深入浅出Redis 缓存使用问题 | 长文分享

目录 数据一致性 先更新缓存&#xff0c;后更新数据库【一般不考虑】 先更新数据库&#xff0c;再更新缓存【一般不考虑】 先删除缓存&#xff0c;后更新数据库 先更新数据库&#xff0c;后删除缓存【推荐】 怎么选择这些方案&#xff1f;采用哪种合适&#xff1f; 缓存…...

PINN:用深度学习PyTorch求解微分方程

神经网络技术已在计算机视觉与自然语言处理等多个领域实现了突破性进展。然而在微分方程求解领域&#xff0c;传统神经网络因其依赖大规模标记数据集的特性而表现出明显局限性。物理信息神经网络(Physics-Informed Neural Networks, PINN)通过将物理定律直接整合到学习过程中&a…...

Ubuntu vs CentOS:Shell 环境加载机制差异分析

CentOS与Ubuntu Shell环境加载机制差异及解决方案 一、问题现象还原 在 Ubuntu 系统中&#xff0c;希望登录时 /etc/profile.d/ipenv.sh 脚本未自动执行&#xff0c;而在 CentOS 上正常工作的根本原因是&#xff1a; Ubuntu 和 CentOS 采用了不同的 shell 初始化机制&#x…...

在 macOS 上修改 最大文件描述符限制(Too many open files) 和 网络端口相关参数 需要调整系统级配置的详细步骤

在 macOS 上修改 最大文件描述符限制&#xff08;Too many open files&#xff09; 和 网络端口相关参数 需要调整系统级配置。以下是详细步骤&#xff1a; 在 macOS 上修改 最大文件描述符限制&#xff08;Too many open files&#xff09; 和 网络端口相关参数 需要调整系统级…...

C语言 |位域结构体

在C语言中&#xff0c;位域结构体&#xff08;Bit-field Structure&#xff09;是一种通过按位分配内存优化存储空间的数据结构&#xff0c;特别适用于需要精确控制二进制位操作的场景&#xff08;如嵌入式开发、硬件寄存器操作等&#xff09;。以下是关于位域结构体的核心要点…...

Charles抓包-安装和IOS抓包指导

网络抓包工具使用指南 下载安装 目前市面上主流的抓包工具包括Charles和Sniff Master。其中Charles是一款老牌抓包工具&#xff0c;功能强大&#xff1b;而Sniff Master作为后起之秀&#xff0c;界面简洁&#xff0c;操作更加人性化。 建议从官网下载最新版本&#xff1a; …...

Redis 学习目标

&#x1f3af; Redis 学习目标&#xff08;开发者视角&#xff09; ✅ 一、学习完成后能掌握的核心能力&#xff1a; 分类具体内容&#x1f4e6; 基础能力熟练掌握 Redis 五大数据结构&#xff08;String、List、Hash、Set、ZSet&#xff09;&#xff0c;会用也会选对场景&am…...

Redis最佳实践——性能优化技巧之Pipeline 批量操作

Redis Pipeline批量操作在电商应用中的性能优化技巧 一、Pipeline核心原理与性能优势 1. 工作机制对比&#xff1a; sequenceDiagramtitle 常规请求 vs Pipeline请求# 常规模式Client->>Redis: 命令1Redis-->>Client: 响应1Client->>Redis: 命令2Redis--&g…...

Redis 集群(Cluster)

1. Redis 集群概述 Redis 集群是一种分布式架构&#xff0c;旨在提供数据分区和高可用性。它能够通过将数据分散到多个节点上来扩展 Redis&#xff0c;使其能够处理更多的数据量和更高的并发请求。Redis 集群实现了自动分片、故障转移和复制等功能。 Redis 集群与传统的单节点…...

XSS 跨站SVGPDFFlashMXSSUXSS配合上传文件添加脚本

#MXSS &#xff1a; https://www.fooying.com/the-art-of-xss-1-introduction/ #UXSS &#xff1a; Universal Cross-Site Scripting&#xff08;一般是浏览器自身的问题&#xff09; UXSS 是利用浏览器或者浏览器扩展漏洞来制造产生 XSS 并执行代码的一种攻击类型。 MICR…...

数据库主从延迟全解析:原因、影响与解决之道

目录 一、引言&#xff1a;理解数据库主从架构 二、数据库主从延迟的定义与测量 2.1 主从延迟的技术定义 2.2 如何测量主从延迟 2.3 主从延迟对系统的影响 三、主从延迟的常见原因分析 3.1 网络延迟因素 3.1.1 网络质量与带宽限制 3.1.2 地理位置分布造成的延迟 3.2 …...

BERT、T5、ViT 和 GPT-3 架构概述及代表性应用

BERT、T5、ViT 和 GPT-3 架构概述 1. BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09; 架构特点 基于 Transformer 编码器&#xff1a;BERT 使用多层双向 Transformer 编码器&#xff0c;能够同时捕捉输入序列中每个词的左右上下文信息…...

第十七天 - Jenkins API集成 - 流水线自动化 - 练习:CI/CD流程优化

前言 在DevOps实践中&#xff0c;持续集成与持续交付&#xff08;CI/CD&#xff09;是现代软件工程的核心支柱。作为业界使用最广泛的自动化服务器&#xff0c;Jenkins凭借其强大的插件生态和灵活的流水线配置能力&#xff0c;成为企业级CI/CD落地的首选工具。本文将深入解析J…...

SageAttention2

“SageAttention2: Efficient Attention with Thorough Outlier Smoothing and Per-thread INT4 Quantization”由Jintao Zhang等人撰写。文章提出SageAttention2&#xff0c;通过线程级INT4量化、Q矩阵平滑、两级累加策略等技术&#xff0c;在提升注意力计算效率的同时保持精度…...

.NET WPF 可视化树(Visual Tree)

.NET WPF 可视化树&#xff08;Visual Tree&#xff09; WPF 的可视化树&#xff08;Visual Tree&#xff09;是描述用户界面元素层级关系的核心概念之一&#xff0c;它与逻辑树&#xff08;Logical Tree&#xff09;共同构成了 WPF 的 UI 架构。以下是关于 WPF 可视化树的详细…...

磁盘存储下红黑树、B 树与 B + 树的原理、操作及对比

前置知识 磁盘 在计算机系统中&#xff0c;数据存储与检索效率深刻影响着整体性能。磁盘作为大容量数据的主要载体&#xff0c;其独特的 I/O 特性与树状数据结构的结合&#xff0c;催生出 B 树与 B 树这两种经典方案。了解它们如何适配磁盘存储&#xff0c;是揭开数据库、文…...

kubernetes》》k8s》》Volume 数据卷 PVC PV NFS

为啥需要数据卷 容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。首先&#xff0c;当容器崩溃时&#xff0c;kubelet会重启它&#xff0c;但是容器中的文件将丢失——容器以干净的状态&#xff08;镜像最初的状态&#xff09;重…...

支持多格式且免费的图片转换工具推荐

软件介绍 今天要给大家推荐一款超好用的开源图片格式转换工具。这款工具完全免费&#xff0c;没有广告的干扰&#xff0c;让用户在使用过程中极为舒心。 ImageConverter图片格式转换 这款工具使用起来相当便捷&#xff0c;无需进行安装操作&#xff0c;只要轻轻双击图标&…...

DAPP实战篇:使用web3.js实现前端输入钱包地址查询该地址的USDT余额—操作篇

专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读396次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你想要知道区块…...

K8S-证书更新时-误删除组件-

K8S 证书更新时-吴删除组件 [rootmaster ~] eth0 172.17.64.32 # docker rm -f docker ps | grep -E apiserver|scheduler|controller-manager| awk {print$1} 7856f2a3068e 2e1a6956d8a1 e9e3cb7870a9 31b19f4e2b22 c028146f88a5 abe4207808a3 [rootmaster ~] eth0 172.17.…...

第二章 Python爬虫篇—数据解析与提取

目录 一.数据解析概述 二.re解析和正则表达式 三.bs4解析-HTML语法 四.Xpath解析 此章节主要讲解&#xff1a;数据解析概述、re模块、bs4解析-html语法、xpath解析以及正则表达式。其中正则表达式我已经写过相关笔记&#xff0c;这里浅略叙述&#xff0c;如果不懂请看我笔记…...

数据仓库标准库模型架构相关概念浅讲

数据仓库与模型体系及相关概念 数据仓库与数据库的区别可参考&#xff1a;数据库与数据仓库的区别及关系_数据仓库和数据库-CSDN博客 总之&#xff0c;数据库是为捕获数据而设计&#xff0c;数据仓库是为分析数据而设计 数据仓库集成工具 在一些大厂中&#xff0c;其会有自…...

【区块链+ 人才服务】特范云区块链教学管理平台 | FISCO BCOS 应用案例

北京特范云科技有限公司利用大数据与人工智能等核心技术优势&#xff0c; 构建了“学、练、赛、评”一体化智慧体育课堂&#xff0c;促进教育技术、体育科学、IT 技术与体育教学的深度融合。公司首次提出了“体育动作积木”的教学概念&#xff0c; 通过区块链技术将学生的体测体…...

第一节:React 基础篇-React虚拟DOM原理及Diff算法优化策略

必考点&#xff1a;虚拟DOM树对比&#xff08;同级比较、Key的作用、组件类型判断&#xff09; 延伸&#xff1a;React 18中并发更新对Diff算法的影响 React虚拟DOM原理及Diff算法优化策略 虚拟DOM核心原理 概念&#xff1a; • 虚拟DOM&#xff08;Virtual DOM&#xff09;…...