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

从编程助手到AI工程师:Trae插件Builder模式实战Excel合并工具开发

Trae插件下载链接:https://www.trae.com.cn/plugin

引言:AI编程工具的新纪元

在软件开发领域,AI辅助编程正在经历一场革命性的变革。Trae插件(原MarsCode编程助手)最新推出的Builder模式,标志着AI编程工具从简单的"代码补全"进化到了真正的"AI工程师"阶段。本文将带领读者通过一个完整的实战项目——Excel多文件多表合并工具的开发,深度体验Trae插件的Builder模式如何实现全自然语言从0到1开发完整项目。

项目背景与需求分析

在日常办公和数据处理中,Excel文件的合并是一个常见但繁琐的任务。许多用户经常需要:

  • 合并多个部门提交的报表

  • 汇总分散在不同文件中的数据

  • 将多个工作表整合到一个文件中

传统的手动操作不仅效率低下,而且容易出错。因此,我们决定开发一个"Excel多文件多表合并工具",它应该具备以下功能:

  1. 支持批量选择Excel文件

  2. 允许选择需要合并的特定工作表

  3. 提供合并后的文件保存功能

  4. 具有友好的图形界面

  5. 无需安装,开箱即用

Trae Builder模式初体验

环境准备

首先确保已在VS Code或JetBrains IDE中安装Trae插件。Builder模式的最大优势在于它能够理解自然语言描述的项目需求,并自动生成可运行的代码框架。

如下所示点击install进行按照:

在弹出的对话框中选择Trust Publisher&install

然后,我们只需在Trae的聊天框中输入:
"请帮我在当前工程下完成一个Excel多文件多表合并工具。该工具支持Windows系统,无需安装,打开即可使用。"

Trae立即响应,建议使用Python的pandas库来处理Excel文件,并自动创建了一个新的Python脚本excel_merger.py

核心功能实现

Trae生成的初始代码已经包含了基本的文件合并逻辑:

import pandas as pd
import osdef merge_excel_files(file_paths, sheet_names=None, output_file='merged.xlsx'):"""合并多个Excel文件中的指定工作表:param file_paths: Excel文件路径列表:param sheet_names: 需要合并的工作表名称列表,None表示合并所有工作表:param output_file: 合并后的输出文件路径:return: 合并是否成功"""merged_data = {}for file_path in file_paths:try:xls = pd.ExcelFile(file_path)sheets_to_process = sheet_names if sheet_names else xls.sheet_namesfor sheet in sheets_to_process:if sheet in xls.sheet_names:df = pd.read_excel(file_path, sheet_name=sheet)if sheet in merged_data:merged_data[sheet] = pd.concat([merged_data[sheet], df])else:merged_data[sheet] = dfexcept Exception as e:print(f"处理文件 {file_path} 时出错: {e}")return Falsetry:with pd.ExcelWriter(output_file) as writer:for sheet_name, data in merged_data.items():data.to_excel(writer, sheet_name=sheet_name, index=False)return Trueexcept Exception as e:print(f"保存合并文件时出错: {e}")return False

这段代码已经实现了核心的合并功能,但还缺乏用户界面和更友好的交互体验。

图形界面开发与功能增强

使用Tkinter构建GUI

我们继续向Trae发出指令:"请继续优化完善,提供图形化操作界面,确保程序可以运行。"

Trae响应建议使用Tkinter库创建用户界面,并自动对代码进行了扩展:

import tkinter as tk
from tkinter import filedialog, messagebox, ttk
import pandas as pd
import osclass ExcelMergerApp:def __init__(self, master):self.master = mastermaster.title("Excel多文件多表合并工具")master.geometry("600x400")# 文件选择部分self.file_frame = tk.LabelFrame(master, text="选择Excel文件", padx=5, pady=5)self.file_frame.pack(fill="x", padx=10, pady=5)self.file_listbox = tk.Listbox(self.file_frame, height=6)self.file_listbox.pack(side="left", fill="both", expand=True)scrollbar = tk.Scrollbar(self.file_frame, orient="vertical")scrollbar.config(command=self.file_listbox.yview)scrollbar.pack(side="right", fill="y")self.file_listbox.config(yscrollcommand=scrollbar.set)self.add_file_button = tk.Button(self.file_frame, text="添加文件", command=self.add_files)self.add_file_button.pack(side="left", padx=5)self.remove_file_button = tk.Button(self.file_frame, text="移除选中", command=self.remove_selected)self.remove_file_button.pack(side="left", padx=5)# 工作表选择部分self.sheet_frame = tk.LabelFrame(master, text="选择工作表", padx=5, pady=5)self.sheet_frame.pack(fill="x", padx=10, pady=5)self.sheet_tree = ttk.Treeview(self.sheet_frame, columns=('Select'), show='headings', height=6)self.sheet_tree.heading('#0', text='工作表')self.sheet_tree.heading('Select', text='选择')self.sheet_tree.pack(side="left", fill="both", expand=True)# 输出设置部分self.output_frame = tk.LabelFrame(master, text="输出设置", padx=5, pady=5)self.output_frame.pack(fill="x", padx=10, pady=5)self.output_label = tk.Label(self.output_frame, text="输出文件:")self.output_label.pack(side="left")self.output_entry = tk.Entry(self.output_frame, width=40)self.output_entry.pack(side="left", padx=5)self.output_entry.insert(0, "merged.xlsx")self.browse_button = tk.Button(self.output_frame, text="浏览...", command=self.browse_output)self.browse_button.pack(side="left")# 操作按钮self.button_frame = tk.Frame(master)self.button_frame.pack(fill="x", padx=10, pady=10)self.merge_button = tk.Button(self.button_frame, text="开始合并", command=self.merge_files)self.merge_button.pack(side="right", padx=5)self.status_label = tk.Label(master, text="准备就绪", bd=1, relief=tk.SUNKEN, anchor=tk.W)self.status_label.pack(fill="x", padx=10, pady=5)# 初始化工作表选择状态self.sheet_selection = {}def add_files(self):file_paths = filedialog.askopenfilenames(title="选择Excel文件",filetypes=[("Excel文件", "*.xlsx *.xls"), ("所有文件", "*.*")])if file_paths:for file_path in file_paths:if file_path not in self.file_listbox.get(0, tk.END):self.file_listbox.insert(tk.END, file_path)self.update_sheet_list()def remove_selected(self):selected_indices = self.file_listbox.curselection()for i in selected_indices[::-1]:self.file_listbox.delete(i)self.update_sheet_list()def update_sheet_list(self):# 清空当前工作表列表for item in self.sheet_tree.get_children():self.sheet_tree.delete(item)# 收集所有文件的所有工作表all_sheets = set()for file_path in self.file_listbox.get(0, tk.END):try:xls = pd.ExcelFile(file_path)all_sheets.update(xls.sheet_names)except Exception as e:self.status_label.config(text=f"读取文件 {os.path.basename(file_path)} 出错: {str(e)}")# 添加工作表到Treeviewfor sheet in sorted(all_sheets):item = self.sheet_tree.insert('', 'end', text=sheet, values=('否'))self.sheet_tree.item(item, tags=(sheet,))# 恢复之前的选择状态for item in self.sheet_tree.get_children():sheet_name = self.sheet_tree.item(item, 'text')if sheet_name in self.sheet_selection and self.sheet_selection[sheet_name]:self.sheet_tree.item(item, values=('是'))def browse_output(self):output_file = filedialog.asksaveasfilename(title="保存合并文件",defaultextension=".xlsx",filetypes=[("Excel文件", "*.xlsx"), ("所有文件", "*.*")])if output_file:self.output_entry.delete(0, tk.END)self.output_entry.insert(0, output_file)def merge_files(self):file_paths = list(self.file_listbox.get(0, tk.END))if not file_paths:messagebox.showerror("错误", "请至少选择一个Excel文件!")return# 获取选中的工作表selected_sheets = []for item in self.sheet_tree.get_children():values = self.sheet_tree.item(item, 'values')if values and values[0] == '是':selected_sheets.append(self.sheet_tree.item(item, 'text'))if not selected_sheets:if messagebox.askyesno("确认", "没有选择特定工作表,将合并所有工作表。是否继续?"):selected_sheets = Noneelse:returnoutput_file = self.output_entry.get()if not output_file:messagebox.showerror("错误", "请指定输出文件路径!")returntry:self.status_label.config(text="正在合并文件,请稍候...")self.master.update()merged_data = {}total_files = len(file_paths)for i, file_path in enumerate(file_paths):try:xls = pd.ExcelFile(file_path)sheets_to_process = selected_sheets if selected_sheets else xls.sheet_namesfor sheet in sheets_to_process:if sheet in xls.sheet_names:df = pd.read_excel(file_path, sheet_name=sheet)if sheet in merged_data:merged_data[sheet] = pd.concat([merged_data[sheet], df])else:merged_data[sheet] = dfself.status_label.config(text=f"正在处理文件 {i+1}/{total_files}: {os.path.basename(file_path)}")self.master.update()except Exception as e:messagebox.showwarning("警告", f"处理文件 {os.path.basename(file_path)} 时出错: {str(e)}")with pd.ExcelWriter(output_file) as writer:for sheet_name, data in merged_data.items():data.to_excel(writer, sheet_name=sheet_name, index=False)messagebox.showinfo("成功", f"文件合并完成,已保存到: {output_file}")self.status_label.config(text="合并完成")except Exception as e:messagebox.showerror("错误", f"合并过程中出错: {str(e)}")self.status_label.config(text="合并失败")def main():root = tk.Tk()app = ExcelMergerApp(root)root.mainloop()if __name__ == "__main__":main()

功能亮点解析

  1. 直观的文件管理

    • 支持多文件选择与列表展示

    • 可随时添加或移除文件

    • 实时显示处理状态

  2. 灵活的工作表选择

    • 自动扫描所有文件中的工作表

    • 支持选择特定工作表合并

    • 保留用户选择状态记忆

  3. 健壮的错误处理

    • 文件读取错误捕获与提示

    • 合并过程状态实时反馈

    • 最终结果明确提示

  4. 用户体验优化

    • 进度反馈

    • 确认对话框

    • 状态栏信息

项目打包与分发

为了让工具真正做到"无需安装,打开即可使用",我们需要将其打包为可执行文件。Trae Builder模式同样可以指导我们完成这一过程。

我们询问Trae:"如何将此Python脚本打包为Windows可执行文件?"

Trae建议使用PyInstaller,并提供了详细的打包命令:

pip install pyinstaller
pyinstaller --onefile --windowed excel_merger.py

同时,Trae还提醒我们需要注意的几点:

  1. 确保所有依赖库(pandas, openpyxl等)已安装

  2. 可以添加图标资源使程序更专业

  3. 考虑添加版本信息

最终生成的exe文件可以在任何Windows电脑上运行,无需安装Python环境。

Trae Builder模式的核心优势

通过这个完整项目的开发过程,我们可以总结出Trae Builder模式的几大优势:

  1. 自然语言理解能力:能够准确理解开发者的意图,将需求转化为实际代码

  2. 全流程支持:从项目创建、功能实现、界面设计到最终打包,提供完整支持

  3. 上下文感知:能够基于已有代码进行迭代优化,而非每次从头开始

  4. 最佳实践指导:在代码中融入错误处理、用户体验等专业考虑

  5. 多语言支持:不仅限于Python,对多种编程语言和框架都有良好支持

与竞品的对比分析

相比其他AI编程助手,Trae Builder模式展现出独特优势:

特性Trae BuilderGitHub CopilotAmazon CodeWhisperer传统IDE
自然语言项目创建
全流程支持
图形界面生成
代码优化迭代
错误处理建议
打包部署指导

Trae Builder模式的独特之处在于它不仅仅是一个代码补全工具,而是一个真正的AI工程师伙伴,能够参与从设计到实现的完整开发流程。

使用技巧与最佳实践

基于本次项目经验,总结出以下Trae Builder模式的使用技巧:

  1. 需求描述要具体:越详细的需求描述能得到越精准的代码实现

  2. 分阶段迭代:先实现核心功能,再逐步添加界面、错误处理等

  3. 善用反馈机制:对生成的代码提出修改意见,Trae能够理解并调整

  4. 结合专业知识:AI生成的代码需要开发者进行专业审核和测试

  5. 保持学习心态:通过Trae的代码可以学习新的编程技巧和最佳实践

总结与展望

通过开发Excel多文件多表合并工具的全过程,我们亲身体验了Trae插件Builder模式如何将一个自然语言描述的需求转化为完整可用的软件工具。这一过程展示了AI编程助手的巨大潜力:

  1. 提升开发效率:将传统需要数小时的工作缩短到几分钟

  2. 降低技术门槛:使非专业开发者也能创建实用工具

  3. 促进知识传播:通过代码生成传播编程最佳实践

  4. 激发创造力:让开发者更专注于创意而非实现细节

随着AI技术的不断发展,Trae这类工具将继续进化,最终可能改变软件开发的本质。但无论如何进化,开发者的人类智慧、业务理解和创造力仍然是不可替代的核心价值。AI不是取代开发者,而是成为开发者更强大的助手和伙伴。

通过这个实战项目,我们不仅获得了一个实用的Excel处理工具,更深入理解了Trae Builder模式的工作方式和强大能力。无论是专业开发者还是办公自动化需求者,都能从中受益,体验到AI辅助编程带来的效率革命。

@Trae 官方账号

相关文章:

从编程助手到AI工程师:Trae插件Builder模式实战Excel合并工具开发

Trae插件下载链接:https://www.trae.com.cn/plugin 引言:AI编程工具的新纪元 在软件开发领域,AI辅助编程正在经历一场革命性的变革。Trae插件(原MarsCode编程助手)最新推出的Builder模式,标志着AI编程工具…...

AI大模型从0到1记录学习numpy pandas day25

第 3 章 Pandas 3.1 什么是Pandas Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)…...

【云实验】Excel文件转存到RDS数据库

实验名称:Excel文件转存到RDS数据库 说明:把Excel的数据通过数据管理服务DMS(Data Management Service)导入到RDS MySQL数据库中。 流程:创建一个RDS for MySQL的实例,再创建数据库和账号,通过D…...

用Python实现数据库数据自动化导出PDF报告:从MySQL到个性化文档的全流程实践

本文将介绍如何使用Python构建一个自动化工具,实现从MySQL数据库提取员工数据,并为每位员工生成包含定制化表格的PDF报告。通过该方案,可显著提升数据导出效率,避免手动操作误差,同时支持灵活的格式定制。 需求&#…...

深入理解 ZAB:ZooKeeper 原子广播协议的工作原理

目录 ZAB 协议:ZooKeeper 如何做到高可用和强一致?🔒ZAB 协议的核心目标 🎯ZAB 协议的关键概念 💡ZAB 协议的运行阶段 🎬阶段一:Leader 选举 (Leader Election) 🗳️阶段二&#xff…...

Javascript本地存储的方式有哪些?区别及应用场景?(含Deep Seek讲解)

JavaScript本地存储方式的区别与适用场景 1. Cookie 特点: Cookie是一种较早的本地存储技术,主要通过HTTP协议在客户端和服务器之间传递数据。它的大小通常被限制为4KB以内,并且每次HTTP请求都会携带Cookie信息。缺点: 数据量有限制(最多4K…...

二元Logistic回归

二元Logistic回归 在机器学习领域,二元Logistic回归是一种非常经典的分类模型,广泛用于解决具有两类标签的分类问题。Logistic回归通过逻辑函数(Sigmoid函数)将预测结果映射到概率值,并进行分类。 一、Logistic回归 …...

Android framework 问题记录

一、休眠唤醒,很快熄屏 1.1 问题描述 机器休眠唤醒后,没有按照约定的熄屏timeout 进行熄屏,很快就熄屏(约2s~3s左右) 1.2 原因分析: 抓取相关log,打印休眠背光 相关调用栈 //具体打印调用栈…...

企业网站架构部署与优化 --web技术与nginx网站环境部署

一、Web 基础 本节将介绍Web 基础知识,包括域名的概念、DNS 原理、静态网页和动态网页的 相关知识。 1、域名和DNS 1.1、域名的概念 网络是基于TCP/IP 协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP 地址),用以区别在网络上成千上万个用户和计算机。…...

Scala与Spark:原理、实践与技术全景详解

Scala与Spark:原理、实践与技术全景详解 一、引言 在大数据与分布式计算领域,Apache Spark 已成为事实标准的计算引擎,而 Scala 作为其主要开发语言,也逐渐成为数据工程师和后端开发者的必备技能。本文将系统梳理 Scala 语言基础…...

【聚类】层次聚类

层次聚类 文章目录 层次聚类1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 层次聚类(Hierarchical Clustering)是一类无需事先指定簇数的聚类方法,通过构造一棵“树状图”(dendrogram)来呈现数据的多层次…...

Windows环境安装LibreOffice实现word转pdf

前言:最近在工作中遇到了一个需求要实现word转pdf,本来我在上一个公司使用aspose.words工具使用的得心应手,都已经把功能点实现了,两句代码轻轻松松,但是被告知不能用商业版的东西,公司要求只能用开源的&am…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit (3)

1.问题描述: 通过CardRecognition识别身份证拍照拿到的照片地址,使用该方法获取不到图片文件,请问如何解决? 解决方案: //卡证识别实现页,文件名为CardDemoPage,需被引入至入口页 import { …...

【聚类】K-means++

K-means 文章目录 K-means1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 k-means 是 David Arthur 和 Sergei Vassilvitskii 于2007年提出的改进 k-means 初始化方法,其核心目标是: 在保证聚类质量的前提下,通过更合理地选择初始…...

Java实现PDF加水印功能:技术解析与实践指南

Java实现PDF加水印功能:技术解析与实践指南 在当今数字化办公环境中,PDF文件因其跨平台兼容性和格式稳定性而被广泛应用。然而,为了保护文档的版权、标记文档状态(如“草稿”“机密”等)或增加文档的可追溯性&#xf…...

【C#】用 DevExpress 创建带“下拉子表”的参数表格视图

展示如何用 DevExpress 创建带“下拉子表”的参数表格视图。主表为 参数行 ParamRow,子表为 子项 ChildParam。 一、创建模型类 public class ParamRow {public string Pn { get; set; }public string DisplayName { get; set; }public string Value { get; set; }…...

Go语言八股文之Mysql优化

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

学习记录:DAY29

项目开发日志:技术实践与成长之路 前言 回顾这几天的状态,热情总是比我想象中更快被消耗完。比起茫然徘徊的小丑,我更希望自己是对着风车冲锋的疯子。 今天继续深入项目的实际业务。 状态好点的时候,再看自己EMO时写的东西&…...

LLaMA-Factory:了解webUI参数

Finetuning method参数 full(全量微调) 更新模型全部参数,完全适配新任务 效果最好,但资源消耗最大适用于计算资源充足的场景存在过拟合的风险,需要大量数据支持 freeze(冻结微调) 固定底层参…...

【实战】GPT-SoVITS+内网穿透:3分钟搭建可公网访问的语音克隆系统

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

HTML向四周扩散背景

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>扩散背景效果</title><style>body {…...

React 个人笔记 Hooks编程

作用 配合函数式编程&#xff0c;保证在不产生类的时候完成一个整体的组件 常用组件 useStateuseContextuseReduceruseEffectuseMemouseCallback 前三个值为自变量 后三者为因变量 前三者相当于其他编程函数的变量声明&#xff0c;而后三者相当于对变量进行了(if now ! pr…...

CSS- 4.6 radiu、shadow、animation动画

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 HTML系列文章 已经收录在前端专栏&#xff0c;有需要的宝宝们可以点击前端专栏查看&#xff01; 点…...

ngx_http_scgi_module 技术指南

一、快速上手示例 http {# 定义 SCGI 参数&#xff08;标准 CGI 环境变量&#xff09;include /etc/nginx/scgi_params;server {listen 80;location /app/ {# 将请求转发到本地 9000 端口的 SCGI 服务器scgi_pass localhost:9000;# 只转发非空的 HTTPS 参数scgi…...

NFT市场开发技术全解析:从架构设计到实现

NFT&#xff08;非同质化代币&#xff09;市场已成为区块链领域的热门应用场景&#xff0c;涵盖艺术品、游戏资产、虚拟地产等多个领域。本文将从技术栈选择、核心功能实现、开发流程、挑战与优化等方面&#xff0c;系统梳理NFT市场的开发要点&#xff0c;并结合实际案例与代码…...

第六十一篇 Java反射解析:用咖啡调配理解动态编程的艺术

引言&#xff1a;一杯咖啡引发的技术思考 在星巴克的收银台前&#xff0c;我们总能看到店员熟练地根据顾客需求调配不同口味的咖啡&#xff1a;美式、拿铁、卡布奇诺… 这让我联想到编程世界中的对象创建。如果每新增一种咖啡就要修改收银系统&#xff0c;这样的设计显然不够优…...

【android bluetooth 协议分析 01】【HCI 层介绍 7】【ReadLocalName命令介绍】

1. HCI_Read_Local_Name Read Local Name 是 HCI&#xff08;Host Controller Interface&#xff09;命令之一&#xff0c;属于 BR/EDR 控制器的 HCI Command 类别&#xff0c;其主要功能是 读取本地设备&#xff08;Controller&#xff09;的人类可读名称&#xff08;Local N…...

window xampp apache使用腾讯云ssl证书配置https

下载腾讯云ssl证书&#xff1a; 编辑Apache根目录下 conf/httpd.conf 文件&#xff1a; #LoadModule ssl_module modules/mod_ssl.so和#Include conf/extra/httpd-ssl.conf&#xff0c;去掉前面的#号注释。 编辑Apache根目录下 conf/httpd-ssl.conf 文件&#xff1a; <Vi…...

企业开发工具git的使用:从入门到高效团队协作

前言&#xff1a;本文介绍了Git的安装、本地仓库的创建与配置&#xff0c;以及工作区、暂存区和版本库的区分。详细讲解了版本回退、撤销修改等操作&#xff0c;并深入探讨了分支管理&#xff0c;包括分支的创建、切换、合并、删除及冲突解决。此外&#xff0c;还介绍了远程操作…...

【git config --global alias | Git分支操作效率提升实践指南】

git config --global alias | Git分支操作效率提升实践指南 背景与痛点分析 在现代软件开发团队中&#xff0c;Git分支管理是日常工作的重要组成部分。特别是在规范的开发流程中&#xff0c;我们经常会遇到类似 feature/user-management、bugfix/login-issue 或 per/cny/dev …...

VR 互动实训与展示,借科技开启沉浸式体验新篇​

对于企业而言&#xff0c;产品设计与展示是极为关键的环节&#xff0c;这直接关系到能否成功吸引客户&#xff0c;以及精准获取市场反馈。在当下科技飞速发展的时代&#xff0c;VR 互动实训为这一至关重要的环节注入了全新活力&#xff0c;带来了前所未有的体验。以某智能家居企…...

一文了解VR拍摄制作

虚拟现实&#xff08;VR&#xff09;技术通过计算机技术模拟环境&#xff0c;使用户能够身临其境地沉浸在虚拟世界中进行交互体验。 在VR拍摄中&#xff0c;主要利用这一技术来创建360度全景视频或图片&#xff0c;让观众能够全方位地感受拍摄场景。这种拍摄方式不仅改变了我们…...

【内测征集】LarkVR 播控系统上新:VR 应用一站式专业播控与管理工具

Paraverse平行云自主研发的LarkXR实时云渲染平台&#xff0c;作为行业领先的企业级云渲染解决方案&#xff0c;在国际市场占据重要地位。公司自2016年创立以来&#xff0c;始终引领3D/XR云化技术的创新发展&#xff0c;目前已在全球范围内为超过10,000名开发者和1,000家企业客户…...

Windows逆向工程提升之二进制分析工具:HEX查看与对比技术

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 十六进制查看工具 应用于逆向工程的知识点 ​编辑 二进制对比工具 应用于逆向工程的知识点 十六进制查看工具 十六进制查看器是逆向工程的基础工具&#xff0c;它可以以十六进制格式…...

电脑A和电脑B都无法ping通电脑C网络,电脑C可以ping通电脑A和B,使用新系统测试正常,排除硬件问题。

主要硬件&#xff1a;研华AIMB-705主板、i5-6500 C机在防火墙高级设置里启用以下两项规则后&#xff0c;A/B机可正常访问C机网络。&#xff08;直接关闭防火墙也可解决此问题&#xff09; 文件和打印机共享 (回显请求 - ICMPv4-In) 核心网络诊断 - ICMP 回显请求 (ICMPv4-In)…...

【VMware】虚拟机运行 Linux Ubuntu、MAC 安装和配置

文章目录 一、VMware Workstation Pro 下载二、VMware Workstation Pro 安装三、Ubuntu Linux虚拟机镜像下载安装与配置 1、Ubuntu系统镜像下载 2、创建虚拟机&#xff08;VMware&#xff09;及硬件配置 3、编辑虚拟机设置 4、安装Ubuntu系统及系统…...

遨游科普:三防平板是什么?有什么作用?

在数字化与智能化浪潮席卷全球的今天&#xff0c;电子设备的可靠性已成为衡量其价值的核心标准之一。三防平板&#xff0c;这一“硬核”的工业设备&#xff0c;正凭借其卓越的环境适应能力&#xff0c;从专业领域走向大众视野&#xff0c;成为极端场景下不可或缺的数字化工具。…...

电脑闪屏可能的原因

1. 显示器 / 屏幕故障 屏幕排线接触不良&#xff1a;笔记本电脑屏幕排线&#xff08;屏线&#xff09;松动或磨损&#xff0c;导致信号传输不稳定&#xff0c;常见于频繁开合屏幕的设备。屏幕面板损坏&#xff1a;液晶屏内部灯管老化、背光模块故障或面板本身损坏&#xff0c;…...

VR 互动实训的显著优势​

&#xff08;一&#xff09;沉浸式学习&#xff0c;提升培训效果​ 在 VR 互动实训中&#xff0c;员工不再是被动的知识接受者&#xff0c;而是主动的参与者。以销售培训为例&#xff0c;员工戴上 VR 设备&#xff0c;就能置身于逼真的销售场景中&#xff0c;与虚拟客户进行面对…...

2025.05.19【Connectedscatter】连接散点图详解

How to add a legend to base R plot The legend() function allows to add a legend. See how to use it with a list of available customization. Image on the chart background The rasterImage function allows to add an image on the background of the chart. 文章目…...

C++之函数模板类模板

模板 1.泛型编程2. 函数模板函数模板概念函数模板的实例化模板参数的匹配原则 3.类模板类模板的定义格式类模板的实例化 4.模板的优缺点 C 模板是一种强大的泛型编程工具&#xff0c;它允许你编写与类型无关的代码&#xff0c;提高代码复用性。 1.泛型编程 先看一个我们之前经…...

《告别低效签约!智合同如何用AI重构商业“契约时代”》​​——解析智能合约技术的爆发与行业变革

在数字化浪潮奔涌的当下&#xff0c;合同作为商业活动的核心枢纽&#xff0c;正经历着智能化的深度变革。智合同-合同智能应用这一创新模式&#xff0c;犹如一颗璀璨的新星&#xff0c;在商业领域的天空中绽放出独特光芒&#xff0c;深刻改变着人们对合同管理与应用的认知和实践…...

Axure难点解决分享:垂直菜单展开与收回(4大核心问题与专家级解决方案)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:垂直菜单展开与收回 主要内容:超长菜单实现、展开与收回bug解释、Axure9版本限制等问题解…...

PCB设计教程【入门篇】——电路分析基础-基本元件(电阻电容电感)

前言 本教程基于B站Expert电子实验室的PCB设计教学的整理&#xff0c;为个人学习记录&#xff0c;旨在帮助PCB设计新手入门。所有内容仅作学习交流使用&#xff0c;无任何商业目的。若涉及侵权&#xff0c;请随时联系&#xff0c;将会立即处理 目录 前言 1.PCB原理图的作用…...

909. 蛇梯棋

https://leetcode.cn/problems/snakes-and-ladders/description/?envTypestudy-plan-v2&envIdtop-interview-150思路&#xff1a;题目要求我们使用最小的步数走到终点&#xff08;注意不能走回头路&#xff0c;传送不算&#xff09;&#xff0c;那我们的想法就很明确了&am…...

Redis学习打卡-Day4-Redis实现消息队列

Redis 基于阻塞队列实现秒杀的优化 新增秒杀优惠券的同时&#xff0c;将优惠券信息保存到 Redis 中。基于 Lua 脚本&#xff0c;判断秒杀库存、一人一单&#xff0c;决定用户是否抢购成功。如果抢购成功&#xff0c;将优惠券id和用户id封装后存入阻塞队列。开启独立线程任务&a…...

探索C++面向对象:从抽象到实体的元规则(上篇)

前引&#xff1a;在计算机科学的浩瀚星空中&#xff0c;面向对象编程&#xff08;OOP&#xff09; 无疑是照亮现代软件开发的核心范式。而 C 作为一门兼具高性能与抽象能力的系统级语言&#xff0c;其类与对象的语法设计更是开发者构建复杂系统的“元规则”。你是否曾困惑于 封…...

华为鸿蒙电脑发布,企业运营效率可以提高吗?

今日&#xff0c;科技圈迎来重磅消息&#xff0c;华为于19日在成都正式发布两款鸿蒙电脑&#xff0c;标志着鸿蒙操作系统首次登陆电脑端&#xff0c;这是中国国产操作系统的重大里程碑&#xff0c;更是中国电子信息产业自主可控进程中的关键一步。 鸿蒙操作系统作为首个统一移动…...

遨游科普:三防平板是什么?应用在什么场景?

在数字化转型的浪潮中&#xff0c;智能终端设备正从消费级市场向工业级场景深度渗透。传统平板电脑虽能满足日常需求&#xff0c;却难以应对极端环境下的挑战——暴雨、沙尘、震动、高温或低温等恶劣条件&#xff0c;往往成为数据采集、实时通讯和作业效率的“绊脚石”。在此背…...

图像中紫边出现原因

一、紫边 在实景调试中&#xff0c;我们经常会遇到高亮场景下的物体边缘分布有明显的紫边&#xff08;purple fringe&#xff09;现象, 就如下图所示&#xff1a; 对于紫边的成因&#xff0c;通常认为是镜头色差&#xff08;镜头对不同光谱光线的折射程度不同&#xff0c;导致不…...