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

Java 使用腾讯翻译 API 实现含 HTML 标签文本,json值,精准翻译工具

注意:需搭配标题二的腾讯翻译工具使用

一-1、翻译标签文本工具


package org.springblade.common.utils;import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class TencentTranslationForHTML {public static void main(String[] args) {String htmlContent = "<div style=\"text-align:center\"><img src=\"http://192.168.0.137:8999/machine/upload/image/20250208/32551087576762.jpg\" alt=\"图片 alt\" width=\"350\" height=\"auto\" data-align=\"center\"></div><p style=\"text-align: center\">下料工序后的加工件</p>";try {String translatedHtml = translateHTML(htmlContent);System.out.println(translatedHtml);} catch (Exception e) {e.printStackTrace();}}public static String translateHTML(String html) throws com.tencentcloudapi.common.exception.TencentCloudSDKException {// 匹配 HTML 标签Pattern tagPattern = Pattern.compile("<[^>]+>");Matcher tagMatcher = tagPattern.matcher(html);// 存储标签位置和内容List<int[]> tagPositions = new ArrayList<>();while (tagMatcher.find()) {tagPositions.add(new int[]{tagMatcher.start(), tagMatcher.end()});}// 提取文本内容进行翻译List<String> textParts = new ArrayList<>();int lastEnd = 0;for (int[] position : tagPositions) {String textPart = html.substring(lastEnd, position[0]);if (!textPart.isEmpty()) {textParts.add(textPart);}lastEnd = position[1];}String remainingText = html.substring(lastEnd);if (!remainingText.isEmpty()) {textParts.add(remainingText);}// 调用腾讯翻译 API 翻译文本List<String> translatedParts = new ArrayList<>();for (String text : textParts) {
//            String translated = translateText(text);String translated = TencentTranslationUtil.getText(text,"zh","en");translatedParts.add(translated);}// 重新组合翻译后的文本和 HTML 标签StringBuilder result = new StringBuilder();int textPartIndex = 0;lastEnd = 0;for (int[] position : tagPositions) {int start = position[0];int end = position[1];if (start > lastEnd) {result.append(translatedParts.get(textPartIndex++));}result.append(html, start, end);lastEnd = end;}if (lastEnd < html.length()) {result.append(translatedParts.get(textPartIndex));}return result.toString();}}

一-2、翻译json工具

package org.springblade.common.utils;import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;import java.util.ArrayList;
import java.util.List;public class TencentTranslationForJson {public static void main(String[] args) {String jsonStr = "[{\"col1\":\"设备名称及数量\",\"col2\":\"铝切机、切管机\",\"$cellEdit\":false,\"$index\":0},{\"col1\":\"最大日产量\",\"col2\":\"10000 件\",\"$cellEdit\":false,\"$index\":1},{\"col1\":\"工人数量\",\"col2\":\"5 人\",\"$cellEdit\":false,\"$index\":2}]";extracted(jsonStr, "en", "zh");}public static void extracted(String jsonStr, String sourceLang, String targetLang) {// 判断是否为有效的 JSONif (isValidJson(jsonStr)) {// 解析 JSON 字符串为 JsonArrayGson gson = new Gson();JsonArray jsonArray = gson.fromJson(jsonStr, JsonArray.class);// 遍历 JSON 数组,提取需要翻译的文本List<String> textsToTranslate = new ArrayList<>();for (JsonElement element : jsonArray) {JsonObject obj = element.getAsJsonObject();for (String key : obj.keySet()) {if (obj.get(key).isJsonPrimitive() && obj.get(key).getAsJsonPrimitive().isString()) {textsToTranslate.add(obj.get(key).getAsString());}}}// 调用腾讯翻译 API 进行翻译List<String> translatedTexts = translateTexts(textsToTranslate, sourceLang, targetLang);// 将翻译结果回填到 JSON 中int index = 0;for (JsonElement element : jsonArray) {JsonObject obj = element.getAsJsonObject();for (String key : obj.keySet()) {if (obj.get(key).isJsonPrimitive() && obj.get(key).getAsJsonPrimitive().isString()) {obj.addProperty(key, translatedTexts.get(index));index++;}}}// 输出翻译后的 JSONSystem.out.println(gson.toJson(jsonArray));} else {System.out.println("输入的字符串不是有效的 JSON,不进行翻译。");}}private static boolean isValidJson(String jsonStr) {jsonStr = jsonStr.trim();if (jsonStr.isEmpty()) {return false;}// 判断是否以 '{' 或 '[' 开头,以 '}' 或 ']' 结尾if ((jsonStr.startsWith("{") && jsonStr.endsWith("}")) || (jsonStr.startsWith("[") && jsonStr.endsWith("]"))) {try {int depth = 0;boolean inString = false;for (int i = 0; i < jsonStr.length(); i++) {char c = jsonStr.charAt(i);if (inString) {if (c == '\\') {i++; // 跳过转义字符后的字符} else if (c == '"') {inString = false;}} else {if (c == '"') {inString = true;} else if (c == '{' || c == '[') {depth++;} else if (c == '}' || c == ']') {depth--;if (depth < 0) {return false; // 括号不匹配}}}}return depth == 0 && !inString; // 括号完全匹配且不在字符串中结束} catch (Exception e) {return false;}}return false;}private static List<String> translateTexts(List<String> texts, String sourceLang, String targetLang) {List<String> translatedTexts = new ArrayList<>();for (String text : texts) {String translatedText = TencentTranslationUtil.getText(text, sourceLang, targetLang);translatedTexts.add(translatedText);}return translatedTexts;}
}

二、腾讯翻译api调用

package org.springblade.common.utils;import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.tmt.v20180321.TmtClient;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateRequest;
import com.tencentcloudapi.tmt.v20180321.models.TextTranslateResponse;
import org.springblade.core.tool.utils.Func;import java.lang.reflect.Field;/*** @project* @Classname* @Description* @Author:* @CreateTime:*/
public class TencentTranslationUtil {private final static String secretId = "自己的";private final static String secretKey = "自己的";private final static String params = "isMenu,type,icon";private final TmtClient client;/*** 翻译** @param text       需要翻译的文本* @param sourceLang 来源语言* @param targetLang 目标语言* @return*/public static String getText(String text, String sourceLang, String targetLang) {TencentTranslationUtil translationClient = new TencentTranslationUtil(secretId, secretKey);if (Func.isEmpty(text.trim())) {return text;}try {return translationClient.translateText(text, sourceLang, targetLang);} catch (TencentCloudSDKException e) {System.err.println("腾讯翻译错误 = " + e.getMessage());}return "";}/*** secretId,secretKey id和密钥*/public TencentTranslationUtil(String secretId, String secretKey) {Credential cred = new Credential(secretId, secretKey);client = new TmtClient(cred, "ap-beijing");}/*** secretId,secretKey id和密钥* region 地域*/public TencentTranslationUtil(String secretId, String secretKey, String region) {Credential cred = new Credential(secretId, secretKey);client = new TmtClient(cred, region);}/*** text 需要翻译的文本* sourceLang 翻译文本的语种* targetLang 目标语种*/public String translateText(String text, String sourceLang, String targetLang) throws TencentCloudSDKException {TextTranslateRequest req = new TextTranslateRequest();req.setSourceText(text);req.setSource(sourceLang);req.setTarget(targetLang);req.setProjectId(0L);TextTranslateResponse resp = client.TextTranslate(req);return resp.getTargetText();}/*** 翻译对象每个的字段并重新给对象赋值* @param obj* @param sourceLang* @param targetLang*/public static void translateFields(Object obj, String sourceLang, String targetLang) {if (!sourceLang.equals(targetLang)) {Class<?> clazz = obj.getClass();Field[] fields = clazz.getDeclaredFields();try {for (Field field : fields) {field.setAccessible(true); // 允许访问私有字段Object value = field.get(obj);//值不为空,且是字符串,不包含透明度,值非纯数字if (Func.isNotEmpty(value) && value instanceof String&& !((String) value).contains("div") && !((String) value).contains("opacity") && !isNumeric(((String) value))) {if (!params.contains(field.getName())) {Thread.sleep(150);String text = TencentTranslationUtil.getText((String) value, sourceLang, targetLang);if (Func.isNotEmpty(text)) {field.set(obj, text); // 重新赋值翻译后的文本} else {field.set(obj, Func.toStr(value)+"(翻译失败)"); // 重新赋值翻译后的文本}}}}} catch (Exception e) {}}}public static void main(String[] args) {
//		System.out.println(getText("{\"opacity\":1,\"x\":\"67.5px\",\"y\":\"53px\",\"rotate\":0}","en","zh-TW"));
//		System.out.println("args = " + isNumeric("1s"));if(!isNumeric("1")){System.out.println("翻译");}}/*** 判断字符串是否是纯数字* @param str* @return*/public static boolean isNumeric(String str) {return str.matches("-?\\d+(\\.\\d+)?");}
}

相关文章:

Java 使用腾讯翻译 API 实现含 HTML 标签文本,json值,精准翻译工具

注意&#xff1a;需搭配标题二的腾讯翻译工具使用 一-1、翻译标签文本工具 package org.springblade.common.utils;import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern;public class TencentTranslationFor…...

DeepSeek R1+Open WebUI +SearXNG 本地化部署与联网功能

GitHub - searxng/searxng-docker: The docker-compose files for setting up a SearXNG instance with docker....

数据科学之数据管理|NumPy数据管

一、Numpy介绍 (一) 什么是numpy NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运…...

零基础玩转 DeepSeek API实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…...

【GPIO】5.理解保护二极管在GPIO过电压保护中的作用

在电子电路设计中&#xff0c;保护二极管是常见的保护元件&#xff0c;用于防止过电压对敏感电路的损害。本文将探讨当GPIO输入电压大于3.3V时&#xff0c;保护二极管如何工作&#xff0c;并解释为什么大部分过电压引起的电流会通过二极管流向VDD而不是流入内部电路。 1.背景 …...

2.5 模块化迁移策略:从传统项目到模块化系统

模块化迁移策略&#xff1a;从传统项目到模块化系统 将传统 Java 项目迁移至 JDK 9 模块化系统是一项系统性工程&#xff0c;需分阶段实施以降低风险。以下是详细的迁移策略、工具使用和实战示例。 1. 迁移阶段划分 阶段目标关键操作阶段1&#xff1a;兼容性验证确保项目能在…...

Tortoise Git

TortoiseGit 是一个 Windows Shell 与 Git 的接口&#xff0c;它提供了文件状态的覆盖图标&#xff0c;强大的 Git 上下文菜单等。你可以在官方网站 (tortoisegit.org) 轻松使用安装程序进行下载。TortoiseGit 的当前稳定版本是 2.14.0 &#xff0c;根据你的机器配置&#xff0…...

Maven Spring框架依赖包

Maven中添加Spring框架依赖包 Spring核心工具包SpringJDBCSpring配置文件头信息 Spring核心工具包 在pom.xml文件中添加 <!-- Spring的核心工具包--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spr…...

【Cocos TypeScript 零基础 15.1】

目录 见缝插针UI脚本针脚本球脚本心得_旋转心得_更改父节点心得_缓动动画成品展示图 见缝插针 本人只是看了老师的大纲,中途不明白不会的时候再去看的视频 所以代码可能与老师代码有出入 SIKI_学院_点击跳转 UI脚本 import { _decorator, Camera, color, Component, directo…...

Linux库制作与原理:【静态库】【动态库】【目标文件】【ELF文件】【ELF从形成到假造轮廓】【理解链接和加载】

目录 一.什么是库 二.静态库 2.1创建静态库 我们在之前的路径下新建lib使用我们自己的库 2.2 使用makefile生成静态库 三.动态库 3.1动态库生成 3.2动态库使用 3.3库运行搜索路径 四.目标文件 五.ELF文件 六.ELF从形成到加载轮廓 6.1ELF形成可执行 6.2 ELF可执行文…...

中间件-redis-(ubantu)

1、安装依赖包 sudo apt-get update sudo apt-get install redis 一旦安装完成&#xff0c;Redis 服务将会自动启动。想要检查服务的状态&#xff0c;输入下面的命令&#xff1a; rootvims:/etc/redis# sudo systemctl status redis-server ● redis-server.service - Adva…...

ubuntu20.04+ROS+Gazebo+px4+QGC+MAVROS

目录 前言 一、安装ROS 二、安装PX4 编译 三、QGC安装 四、安装MAVROS 命令记得加sudo&#xff01; 前言 在安装ubuntu20.04ROSGazebopx4QGCMAVROS时&#xff0c;参考了很多网上的资料&#xff0c;总结一个较为顺利的流程。 官方指南PX4 自动驾驶仪用户指南 | PX4 Gui…...

基于 openEuler 构建 LVS-DR 群集(同网段)。

一、LVS相关原理 1.LVS简介 LVS是Linux Virtual Server的简称&#xff0c;也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项 目&#xff0c;它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分&#xff0c;在 Linux2.4内核以前&…...

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

【设计模式】【行为型模式】观察者模式(Observer)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f4eb; 欢迎V&#xff1a; flzjcsg2&#xff0c;我们共同讨论Java深渊的奥秘 &#x1f…...

机器学习: 逻辑回归

概念与定义 逻辑回归是一种用于分类问题的统计方法。它通过计算目标变量的概率来预测类别归属,并假设数据服从伯努利分布(二分类)或多项式分布(多分类)。逻辑回归模型输出的是概率值,通常使用sigmoid函数将线性组合映射到0和1之间。 1. 概念 逻辑回归用于解决分类问题…...

域名解析—互联网世界的导航系统

在互联网的世界里&#xff0c;每个网站都像一座“城市”&#xff0c;而用户要找到这些“城市”&#xff0c;必须依赖一套精准的导航系统——这就是域名解析。无论是浏览网页、发送邮件&#xff0c;还是使用移动应用&#xff0c;域名解析都在背后默默支撑着用户的每一次访问。本…...

PAT乙级真题 — 1080 MOOC期终成绩(java)【测试点3超时】

对于在中国大学MOOC&#xff08;http://www.icourse163.org/ &#xff09;学习“数据结构”课程的学生&#xff0c;想要获得一张合格证书&#xff0c;必须首先获得不少于200分的在线编程作业分&#xff0c;然后总评获得不少于60分&#xff08;满分100&#xff09;。总评成绩的计…...

【Prometheus】如何通过prometheus监控redis实时运行状态,并实现告警通知

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

ARM Cortex-M3/M4 权威指南 笔记【一】技术综述

一、Cortex-M3/M4 处理器的一般信息 1.1 处理器类型 ARM Cortex-M 为 32 位 RISC&#xff08;精简指令集&#xff09;处理器&#xff0c;其具有&#xff1a; 32位寄存器32位内部数据通路32位总线接口 除了 32 位数据&#xff0c;Cortex-M 处理器&#xff08;以及其他任何 A…...

【Qt】定期清理程序

在现有Qt程序中实现可配置日志保存天数的代码示例&#xff0c;分为界面修改、配置存储和核心逻辑三部分&#xff1a; // 1. 在配置文件&#xff08;如settings.h&#xff09;中添加保存天数的配置项 class Settings { public:int logRetentionDays() const {return m_settings…...

基于51单片机的门禁刷卡器proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1j0KAmH5pVGWZWRpT6p5hBg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…...

二、数据持久化篇(深度增强版)

二、数据持久化篇&#xff08;深度增强版&#xff09; 2.1 JDBC Template深度解析 架构设计思想 #mermaid-svg-y2IrKiVu2gzenoCB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-y2IrKiVu2gzenoCB .error-icon{fil…...

时间敏感和非时间敏感流量的性能保证配置

论文标题 中文标题&#xff1a; 时间敏感和非时间敏感流量的性能保证配置 英文标题&#xff1a; Provisioning of Time-Sensitive and non-Time-Sensitive Flows with Assured Performance 作者信息 Luis Velasco, Gianluca Graziadei, Sima Barzegar, Marc Ruiz Optical Co…...

k8s管理工具之lens

什么是lens Lens 是当前市场上最强大的K8S IDE。它是一个独立的单机应用&#xff0c;可以同时运行在macOS、Windows和Linux上。 作为K8S IDE&#xff0c;该有的它基本都有了&#xff01; 集群管理 导入已有集群 首先&#xff0c;你需要在 Lens 中添加你的 Kubernetes 集群。点…...

kafka介绍,kafka集群环境搭建,kafka命令测试,C++实现kafka客户端

目录 kafka介绍kafka集群环境搭建zookeeper安装与配置kafka安装与配置 kafka命令测试C实现kafka客户端librdkafka库编译新版本cmake编译cppkafka库编译C实现kafka生产者和消费者客户端 kafka介绍 定义与概述 Apache Kafka 是一个开源的分布式流处理平台&#xff0c;最初由 Lin…...

DeepSeek的蒸馏技术:让模型推理更快

DeepSeek系列模型&#xff0c;如DeepSeek-R1-Distill-Qwen-7B&#xff0c;采用了知识蒸馏&#xff08;Knowledge Distillation&#xff09;技术&#xff0c;这是一种强大的模型压缩和优化方法。通过蒸馏&#xff0c;DeepSeek模型在保持甚至提升性能的同时&#xff0c;实现了更快…...

SAP-ABAP:dialog界面中的数据块Event Block详解举例

在SAP的Dialog程序开发中&#xff0c;Event Block&#xff08;事件块&#xff09;是屏幕流逻辑&#xff08;Flow Logic&#xff09;中的关键部分&#xff0c;用于定义屏幕在特定事件触发时执行的逻辑。Event Block通常与ABAP模块&#xff08;Module&#xff09;结合使用&#x…...

微信小程序 - 模版语法

声明和绑定数据 小程序页面中使用的数据均需要在 Page() 方法的 data 对象中进行声明定义 在将数据声明好以后&#xff0c;需要在 WXML 中绑定数据&#xff0c;数据绑定最简单的方式是使用 Mustache 语法&#xff08;双大括号&#xff09;将变量包起来。 在 {{ }} 内部可以做…...

mapbox进阶,添加绘图扩展插件,裁剪线

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️MapboxDraw 绘图控件二、🍀添加绘图扩…...

Dav_笔记14:优化程序提示 HINTs -2

优化方法和目标的提示 ALL_ROWS和FIRST_ROWS&#xff08;n&#xff09;提示允许您在优化方法和目标之间进行选择。如果SQL语句具有指定优化方法和目标的提示&#xff0c;则优化程序将使用指定的方法&#xff0c;无论是否存在统计信息&#xff0c;OPTIMIZER_MODE初始化参数的值…...

Oracle ORA-00054

ORA-00054: resource busy and acquire with NOWAlT specified or timeout expire 错误 ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 是 Oracle 数据库中常见的一个错误&#xff0c;通常发生在尝试获取一个已经被其他会话占用的资源时。这…...

ABB能源自动化选用宏集Cogent DataHub避免DCOM问题,实现高效、安全的数据传输

案例概况 ABB能源自动化公司通过宏集Cogent DataHub软件将电厂设施的数据实时传输到公司办公室&#xff0c;实现了OPC隧道/镜像解决方案&#xff0c;在电厂和公司网络之间建立了一个安全、可靠的连接&#xff0c;确保数据传输的高度安全&#xff0c;减少入侵风险。 &#xff0…...

IP地址有哪些类型?

IP地址是计算机网络中用来识别和查找设备的唯一标识符。根据其作用和使用范围&#xff0c;IP地址可分为以下几种类型&#xff1a; 1.局域网IP地址 局域网IP地址又称内网IP地址&#xff0c;是局域网内用来识别和查找局域网设备的地址。局域网是一个相对较小的网络&#xff0c;…...

网络安全评估:保障设备与系统安全的关键

保障网络安全离不开对入网设备的安全评估&#xff0c;这种评估运用了多种技术和手段&#xff0c;对网络中的设备与系统进行详尽的检查。它能迅速发现并排除潜在的安全风险&#xff0c;对网络系统的安全稳定运行具有极其关键的作用。 测评目的 确保网络系统的安全与稳定是网络…...

一竞技瓦拉几亚S4预选:YB 2-0击败GG

在2月11号进行的PGL瓦拉几亚S4西欧区预选赛上,留在欧洲训练的YB战队以2-0击败GG战队晋级下一轮。双方对阵第二局:对线期YB就打出了优势,中期依靠卡尔带队进攻不断扩大经济优势,最终轻松碾压拿下比赛胜利,以下是对决战报。 YB战队在天辉。阵容是潮汐、卡尔、沙王、隐刺、发条。G…...

管式超滤膜分离技术在茶澄清浓缩领域的创新应用

管式超滤膜分离技术在茶澄清浓缩领域展现出广阔的前景&#xff0c;其独特优势和应用效果正逐渐改变着茶饮料行业的生产方式。以下是几个关键点&#xff0c;说明了这一技术为何具有如此积极的发展潜力&#xff1a; 1. 高效澄清与保留风味 管式超滤膜具有高精度的过滤能力&#x…...

maven web项目如何定义filter

在 Maven Web 项目中定义一个 Servlet 过滤器&#xff08;Filter&#xff09;&#xff0c;需要遵循 Java Servlet 规范&#xff0c;并利用 Maven 来管理项目结构和依赖。下面是如何在 Maven Web 项目中定义和配置一个过滤器的基本步骤&#xff1a; 1. 创建过滤器类 首先&…...

如何在MacOS上查看edge/chrome的扩展源码

步骤 进入管理扩展页面点击详细信息复制对应id在命令行键入 open ~/Library/Application Support/Microsoft Edge/Default/Extensions/${你刚刚复制的id} 即可打开访达中对应的更目录 注意 由于原生命令行无法直接处理空格 ,所以需要加转义符\,即&#xff1a;open ~/Librar…...

【学术投稿-2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)】CSS样式解析:行内、内部与外部样式的区别与优先级分析

简介 2025年计算机视觉研究进展与应用&#xff08;ACVRA 2025&#xff09;将于2025年2月28-3月2日在中国广州召开&#xff0c;会议将汇聚世界各地的顶尖学者、研究人员和行业专家&#xff0c;聚焦计算机视觉领域的最新研究动态与应用成就。本次会议将探讨前沿技术&#xff0c;…...

redis记录用户在线状态+活跃度

1.记录用户在线状态 redis的Bitmap记录用户在线状态 使用一个大的Bitmap,每个bit位对应一个用户IDbit值1表示在线,0表示离线用户ID与bit位的映射关系: bit位置 用户ID % bitmap容量 具体实现: # 用户上线时,设置对应bit为1 SETBIT online_users {user_id} 1# 用户下线时,设…...

vmware安装win7

1、版本说明 vmware workstation 16 win7 X64 2、安装步骤 安装步骤有点独特&#xff0c;先配置虚拟机&#xff0c;然后再虚拟机的虚拟光驱里添加下载的win7。 配置完了之后&#xff0c;点击要运行的虚拟机&#xff0c;然后一直往下走就可以完成系统的安装。 3、配置系统以解…...

OpenAI推出的Computer Use智能体:Operator是什么

OpenAI推出的Computer Use智能体:Operator是什么 是一款能像人一样与图形用户界面交互来操作计算机的AI智能体。以下是其核心原理及举例说明: 核心原理 感知: 屏幕截图获取:利用高性能屏幕捕获模块,如基于WebRTC的截图技术,以极低延迟获取高清晰度页面图像,为后续分析…...

[FastAdmin] 上传图片并加水印,压缩图片

1.app\common\library\Upload.php 文件 upload方法 /*** 普通上传* return \app\common\model\attachment|\think\Model* throws UploadException*/public function upload($savekey null){if (empty($this->file)) {throw new UploadException(__(No file upload or serv…...

二、k8s项目的生命周期

项目的生命周期 创建-----------》发布-----------》更新--------》回滚----------》删除 kubectl create deployment nginx1 --imagenginx:1.22 --replicas3 基于deployment控制器创建pod 控制器的名称是nginx1 pod使用的镜像:nginx:1.22 --replicas3 pod的数量有多少 3个…...

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 10

第10章_创建和管理表 DDL&#xff1a;数据定义语言。CREATE \ALTER\ DROP \RENAME TRUNCATE DML&#xff1a;数据操作语言。INSERT \DELETE \UPDATE \SELECT&#xff08;重中之重&#xff09; DCL&#xff1a;数据控制语言。COMMIT \…...

python自动化测试之Pytest框架之YAML详解以及Parametrize数据驱动!

一、YAML详解 YAML是一种数据类型&#xff0c;它能够和JSON数据相互转化&#xff0c;它本身也是有很多数据类型可以满足我们接口 的参数类型&#xff0c;扩展名可以是.yml或.yaml 作用&#xff1a; 1.全局配置文件 基础路径&#xff0c;数据库信息&#xff0c;账号信息&…...

deepseek的CoT优势、两阶段训练的有效性学习笔记

文章目录 1 DeepSeek的CoT思维链的优势1.2 open-r1的CoT训练数据1.3 ReAct任务与CoT任务适用场景 2 AI推理方向&#xff1a;deepseek与deepmind的两条路线的差异2.1 PRM与ORM的两大学派分支的差异2.2 DeepSeek-R1的两阶段训练概述 1 DeepSeek的CoT思维链的优势 DeepSeek跟之前…...

计算机网络-MPLS转发原理

在上一篇关于 MPLS 基础的文章中&#xff0c;我们了解了 MPLS 的基本概念、术语以及它在网络中的重要性。今天&#xff0c;我们将深入探讨 MPLS 转发的原理与流程&#xff0c;帮助大家更好地理解 MPLS 是如何在实际网络中工作的。 一、MPLS 转发概述 MPLS 转发的本质是将数据…...

本地部署DeepSeek R1并搭建Web UI实现可视化交互的笔记

经过多天的挣扎和卸载了一些软件&#xff0c;终于下定决心在本地部署DeepSeek R1模型。部署和搭建过程非常简单和方便。 一、下载Ollama 进入Ollama官方网站(https://ollama.com),进入下载下载Ollama页面&#xff08;https://ollama.com/download&#xff09; 根据电脑的操作…...