自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 【Unity2022.3.62f3环境安装整理文档记录】

3.在弹出界面,点击存档,点击下载存档,注意开启代理所有流量,(我使用的Proxifer)如果使用国内网络,访问的将会是团结网站(未使用代理时,部分地区网络可能自动跳转到国内“团结引擎”相关站点,导致无法找到国际版 Unity Editor),如果仅开启系统代理,unityhub可能会重定向到国内的服务器。8.点击“修改”,找到游戏,如图所示,仅勾选“使用Unity的游戏开发”,然后点击“修改”等待完成。4.在如下所显示Unity官方页面,点击2022,找到2022.3.62f3。

2026-08-31 11:20:08 388

原创 【游戏音效配置需求实战:从单一参数到双维度「最低触发」】

在游戏开发中,音效的精准触发是提升玩家沉浸感的关键环节如何根据「赢取倍数」和「赢取积分」两个维度,从配置文件中智能匹配到最合适的音效配置?两个参数可能落在不同的配置挡位,如何取舍?浮点数精度问题可能导致边界值匹配错误需要支持多种游戏模式(BaseGame、FreeGame、Bonus)配置化设计要求不修改代码即可调整挡位标准算法升级:从单一参数匹配升级为「精确匹配 + 最低挡位触发」的双维度智能匹配规则明确:确立了「仅当两参数同时匹配时才进行最低挡位比较」的核心原则可观测性增强。

2026-06-01 15:48:25 613

原创 【我用 Trae 半年,总结出 6 条让 AI 稳定输出的协作经验,附codex&trae的agents.md】

这篇文章分享了作者使用 Trae AI 编程助手半年总结的 6 条关键协作经验: 要求 AI 输出完整修改总结(修改文件、原因、验证情况等) 复杂任务前先让 AI 阅读项目结构而非直接写代码 为 AI 设置长期行为规则而非临时指令 复杂任务必须先拆解计划再实施 研究任务要让 AI 先查证而非凭印象回答 每完成一个任务就开启新会话避免污染 作者还提供了可直接使用的两份规则模板(Trae/Codex版),强调让 AI 稳定的核心在于提供清晰上下文、行为规范和验收标准,而非依赖单一提示词。这些经验帮助作者从"被A

2026-06-01 11:07:06 634

原创 USB按钮系统深度解析(一):系统概览与架构设计

USB按钮系统采用四层架构,职责清晰,便于维护和扩展核心组件:UsbButtonComponent(入口)、UsbButtonSpin(硬件抽象)、AnimationStrategy(策略接口)、AnimationStrategyManager(策略管理)策略模式实现动画逻辑的灵活扩展,运行时动态切换独立线程保证系统响应性,避免阻塞主线程完善的线程安全机制:volatile、synchronized、双重检查锁异常处理与容错设计:策略异常回退、USB操作异常处理。

2026-05-29 14:27:17 383

原创 【JD-GUI:Java开发者必备的反编译利器,使用教程】

JD-GUI是一款轻量级Java反编译工具,能够将.class文件还原为可读性高的Java源代码。它具有开箱即用、运行速度快、界面直观等特点,支持语法高亮、代码导航和搜索功能。使用时可直接拖拽JAR包或class文件查看源码,还能导出完整项目结构。需要注意的是,反编译结果可能不完全准确,且应遵守相关法律法规。该工具适合用于学习第三方库实现、调试和排查问题等场景。

2026-05-19 16:33:03 476

原创 【记一次诡异的USB设备开发,动画卡死问题排查:元凶竟是JPG文件】

本文记录了一个USB设备动画卡死问题的排查过程。问题表现为动画在30分钟内极高概率卡死,但其他USB功能正常。通过多组对照实验,排除了构建方式、代码逻辑和系统环境的影响,最终锁定问题根源为JPG资源文件本身。实验发现,用Windows画图重新保存图片后问题消失,而原始新制作的JPG文件会导致动画卡顿。这表明某些JPG文件的元数据或编码参数可能影响了USB数据传输的稳定性。该案例展示了硬件开发中资源文件格式对系统稳定性的潜在影响。

2026-05-15 10:42:57 374

原创 【 libusb4java实战:跨平台USB设备通信完全指南】

本文介绍了使用libusb4java实现跨平台USB设备通信的完整指南。主要内容包括: USB通信基础概念:设备与端点、VID/PID标识、接口与端点地址等核心知识 libusb4java特点:跨平台支持、完整功能覆盖、与JNA无缝集成 环境配置:Maven依赖管理,包括usb4java核心库和平台原生库 核心实现: 常量定义(端点地址、超时设置等) 设备初始化流程(libusb初始化、设备枚举、打开设备和声明接口) 数据传输实现 文章通过一个USB游戏按钮控制器项目,详细讲解了从环境搭建到实际开发的完整过

2026-05-14 17:29:14 495

原创 【JNA实战:Java无缝调用Windows API模拟键盘输入】

摘要: 本文介绍了使用JNA(Java Native Access)技术实现Java调用Windows API模拟键盘输入的方法。通过对比JNI与JNA的优缺点,展示了JNA在开发效率、部署简便性和维护便利性上的优势。文章详细讲解了环境准备步骤,包括Maven依赖配置和Windows API基础知识。核心实现部分提供了一个完整的Java代码示例,演示了如何通过JNA接口映射调用user32.dll中的keybd_event函数来模拟空格键操作。最后深入解析了JNA接口定义、类型映射规则和常量定义等关键技术细

2026-05-09 17:41:29 584

原创 【MCP (Model Context Protocol) 服务技术详解】

MCP(Model Context Protocol)是Anthropic推出的标准化协议,用于大语言模型与外部工具间的通信。它采用客户端-服务器架构,支持本地stdio和远程SSE两种传输方式。服务器端通过FastMCP框架快速构建工具服务,客户端则管理会话并实现工具发现、调用和结果整合。MCP的核心优势包括标准化接口、双向通信和灵活的部署方式,使开发者能专注于业务逻辑,无需考虑底层模型差异。协议设计遵循职责分离、异步优先等原则,适用于从本地工具集成到远程服务部署等多种场景。

2026-05-09 13:13:32 553

原创 【系统架构设计师学习笔记】第一章 计算机硬件 1.1 计算机硬件组成

本文介绍了计算机硬件的基本组成结构。根据冯·诺依曼体系,计算机由五大部件构成:运算器、控制器、存储器、输入设备和输出设备。其中运算器和控制器被集成成为中央处理单元(CPU)。存储器分为速度快、容量小的内部存储器(如RAM、ROM)和速度慢但容量大的外部存储器(如硬盘)。输入设备(如键盘、鼠标)用于数据输入,输出设备则用于显示处理结果。这些组件共同构成了完整的计算机硬件系统。

2026-03-15 13:05:15 106

原创 一个简单的Python自动化脚本:批量重命名图片文件(00-09 → 0-9)

添加前缀或后缀 new_name = f"image_ {# 添加前缀或后缀 new_name = f"image_ {# 添加前缀或后缀 new_name = f"image_ {通过这个简单的脚本,我们不仅解决了眼前的文件重命名需求,还建立了一个可复用的批量文件处理模板。自动化:用代码代替重复的手工操作安全性:备份和冲突处理机制用户体验:操作确认和详细日志希望这个脚本对你有帮助!如果你有类似的批量处理需求,欢迎在评论区讨论交流。完整代码已上传,可以直接复制使用。🚀。

2026-03-02 10:44:29 574

原创 Libgdx游戏开发笔记:序列帧动画与Spine骨骼动画

序列帧动画:用空间换效果,适合追求极致画质和特殊效果Spine骨骼动画:用计算换资源,适合现代2D游戏的高效开发需求核心取舍:在"表现力"和"效率"之间找到平衡点,根据项目具体需求做出选择。

2026-02-25 09:34:37 456

原创 SVN工作副本锁定问题解决:Clean up failed ,Working copy is already locked.Try enabling the “Break write locks“

摘要: SVN工作副本锁定问题常由异常中断操作引起,表现为无法执行cleanup或更新。本文详细分析了锁机制原理,并提供了三种解决方案:(1)推荐使用TortoiseSVN GUI启用"Break write locks"选项安全清理;(2)命令行清理方法;(3)终极重检出方案。重点强调了GUI方案的安全性(不影响服务器/本地修改),并给出预防建议和故障排查流程图。通过理解SVN锁机制,可快速解决此类问题,避免不必要的重新检出操作,提高版本控制效率。

2026-02-11 14:34:13 1031

原创 Python开发:深入理解 Python 字节码缓存文件

阶段一:编译阶段Python 源代码(.py文件)被编译成字节码字节码是一种介于源代码和机器码之间的中间语言这种编译是自动完成的,对开发者透明阶段二:执行阶段Python 虚拟机(PVM)解释执行字节码逐行读取并运行程序逻辑源代码 (.py) → 编译 → 字节码 (.pyc) → 解释执行 → 程序输出本质.pyc文件是 Python 源代码编译后的字节码缓存作用:加速模块导入和程序启动验证:Python 自动通过时间戳验证缓存有效性更新:修改源代码后,Python 会自动重新编译。

2026-02-08 11:51:17 637

原创 【Agent学习笔记3:使用Python开发简单MCP服务】

本文介绍了如何使用Python开发MCP(Model Context Protocol)服务,实现大语言模型与外部工具的交互。主要内容包括:MCP协议概述及其标准化、安全性优势;环境准备与FastMCP框架安装;通过装饰器定义MCP工具(文件写入和天气查询示例);服务启动配置(支持SSE和STDIO两种传输方式);环境变量安全管理;以及扩展建议(添加新工具和参数验证)。文章提供了完整代码示例,帮助开发者快速构建安全的MCP服务。

2026-02-01 17:37:03 867

原创 【Agent学习笔记2:深入理解Function Calling技术:从原理到实践】

Function Calling技术扩展了AI模型的能力边界,使其能够调用外部函数、访问实时数据并执行特定任务。本文以阿里云DashScope API为例,详细讲解了该技术的原理、实现和应用。核心内容包括:1)系统提示词设计引导AI行为;2)JSON格式函数定义声明可用函数;3)实际函数实现执行具体操作;4)API请求构建与结果处理流程。通过天气查询和文件写入两个实例,展示了如何让AI模型具备实时信息获取和操作执行能力,使其从"知识库"转变为真正的"智能助手"。

2026-02-01 11:45:03 958

原创 【Agent学习笔记1:Python调用Function Calling,阿里云API函数调用与DeepSeek API对比分析】

本文对比分析了阿里云API和DeepSeek API的函数调用功能。两者在函数定义格式上完全一致,均采用OpenAI标准结构,包含函数名称、描述和参数定义。阿里云API通过tools参数传递函数定义,响应中包含tool_calls字段指示函数调用。实际使用时需手动执行函数并返回结果给模型。主要差异在于API端点地址不同:阿里云使用DashScope服务端点,而DeepSeek有其专用地址。整体实现逻辑相似,开发者可根据服务偏好选择。

2026-02-01 11:22:18 743 1

原创 【Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题】

处理 “A later version of Node.js is already installed” 错误的关键在于彻底清理现有安装,然后重新安装所需版本。对于长期开发工作,推荐使用版本管理工具如 nvm 或 nvm-windows,这样可以避免版本冲突,轻松切换不同项目所需的环境。

2026-01-30 00:26:40 1233

原创 【LibGDX中的setAutoScale方法】

类相关,用于控制字体在缩放时是否自动调整其像素大小以保持清晰度。缩放控制:除了自动缩放,还可以使用。方法调整,而多行文本的绘制则使用。方法启用或禁用自动缩放功能。方法手动设置字体的缩放比例。颜色与绘制:字体颜色可通过。

2026-01-19 16:17:30 250

原创 解决PyCharm配置Conda虚拟环境报错lateinit property envs has not been initialized的问题

摘要:本文详细解决PyCharm2025配置Conda环境时出现的lateinit property envs has not been initialized错误。通过验证Conda安装状态、检查版本兼容性、正确配置PyCharm中的Conda环境路径(推荐使用_conda.exe而非conda.bat)以及检查系统环境变量,逐步排查问题根源。特别提示从命令行验证开始排查,并提供Windows环境变量配置建议。若问题持续,建议参考JetBrains官方文档或社区论坛获取进一步帮助。(149字)

2026-01-16 00:11:07 14753 13

原创 踩坑记录:重新安装Anaconda失败,进度条一半显示:Failed to link extracted packages to D:\Anaconda\anaconda3

摘要 本文记录了Windows系统重装Anaconda时遇到"Failed to link extracted packages"错误的解决方法。主要问题源于权限不足、残留文件或防病毒软件干扰。解决方案包括彻底删除旧安装目录和C:\Users\用户名.condarc配置文件。关键经验是重装前必须完全清理旧文件,特别注意隐藏的.condarc配置文件。文中还提供了Anaconda官方文档和镜像源等参考资源。该问题常见于Anaconda重装场景,通过完整清理可有效避免安装失败。

2026-01-15 23:35:51 1009 1

原创 【安装与配置Anaconda步骤,包含卸载重装】

Anaconda卸载与安装指南 卸载步骤: 使用官方卸载工具并重启电脑 手动删除残留文件夹(如ProgramData\Anaconda3等) 清除环境变量中的Anaconda相关路径 安装步骤: 从官网或清华镜像下载安装包 安装时勾选"添加到PATH"选项 验证安装后建议配置国内镜像源 推荐为每个项目创建独立虚拟环境 核心要点:彻底清理残留文件、正确配置环境变量、使用镜像加速下载。

2026-01-15 23:09:03 876

原创 高效并行测试:在IDEA中同时运行多个参数化测试配置(idea2019如何在同一个项目运行多次)

本文介绍了在IntelliJ IDEA中实现多参数并行测试的高效方法。通过改造测试类使其支持从系统属性读取参数,创建多个JUnit运行配置并设置不同的VM选项参数,最后使用IDEA的复合配置功能实现并行执行。这种方法特别适用于需要测试多种参数组合的场景,如游戏数学模型验证,相比传统手动修改测试的方式,能显著提升测试效率。文章还提供了完整代码示例和配置步骤,并建议对于复杂参数可以使用JSON格式的环境变量传递。

2026-01-12 14:09:20 788

原创 Bus Hound——强大的总线分析工具,抓USB转串口数据包如何使用

它能够捕获和显示USB总线上的数据传输细节,帮助开发者调试USB设备、分析通信问题。在嵌入式系统和USB设备开发过程中,数据通信的准确分析是至关重要的。Bus Hound 的核心界面通常包含几个关键按钮,例如。为了数据清晰,建议取消勾选其他不相关的设备选项。正是一款在Windows环境下广受欢迎的。按钮,会弹出设备选择界面。

2025-11-03 17:29:11 654

原创 bit、byte、位、字节、汉字的关系

文章摘要:本文系统讲解了计算机数据存储的基本单位bit和byte,以及字符编码的发展与应用。1bit是最小二进制单位,8bit组成1byte作为计算机最小寻址单元。ASCII用1字节表示英文字符,而汉字因数量庞大需要多字节编码:GBK用2字节,UTF-8采用变长编码(汉字通常3字节)。文章对比了不同编码方案,强调UTF-8作为现代跨平台标准的优势,并给出开发实践建议:需明确指定编码、区分字符长度与存储大小、合理设置数据库字段。理解这些概念对处理字符编码问题至关重要。

2025-11-03 10:18:14 1431

原创 JDK 完全卸载与安装配置指南:从清理到环境搭建

本文提供了完整的JDK卸载与安装配置指南,重点介绍了彻底卸载旧版本JDK的必要性和方法。内容包括:通过控制面板卸载、手动清理残留文件和注册表、环境变量清理;JDK版本选择建议、详细安装步骤和环境变量配置;以及多版本管理方案和常见问题解决方法。通过遵循本文流程,开发者可以确保Java开发环境的纯净和稳定,避免版本冲突等问题,为开发工作打好基础。

2025-10-22 21:42:19 1279

原创 Windows文件搜索神器:Everything

Windows文件搜索神器Everything是一款颠覆性工具,能在秒级内完成全盘搜索。它直接读取NTFS系统的USN日志实现实时索引,120,000个文件仅需1秒完成索引。核心优势包括:闪电搜索速度、极低资源占用(14MB内存)、实时文件系统监控和完全免费无广告。支持高级搜索语法如通配符、路径限定、大小/日期过滤和中文拼音搜索,还提供HTTP服务器和批量重命名功能。虽然主要支持NTFS格式,但这款轻量级工具(安装包不到2MB)能显著提升文件管理效率,是Windows用户必备的生产力利器。

2025-10-22 14:32:31 1292

原创 【LibGDX】Spine动画中文路径异常java.lang.RuntimeException: Region not found in atlas 深度解析

Spine动画中文路径异常解析:当使用含中文路径的Spine动画时,会出现"Region not found in atlas"错误。根本原因是字符编码不一致、路径解析差异和系统兼容性问题。推荐解决方案是统一使用英文命名规范,避免特殊字符。同时建议建立资源命名规范(如全小写、下划线分隔),并提供了完整的故障排查流程图表。预防胜于治疗,良好的资源管理规范能显著提升项目稳定性和可维护性。

2025-10-14 10:04:45 917

原创 游戏开发中的资源加载策略:懒加载 vs 预加载深度解析

游戏资源加载策略对比分析 本文深入探讨了游戏开发中的两种核心资源加载策略: 懒加载采用按需加载方式,特别适合资源使用频率不确定、内存敏感的应用场景,能有效减少初始内存占用,但可能导致运行时性能波动。典型实现包括使用缓存机制和延迟初始化技术。 预加载策略在启动阶段完成资源加载,用较长的初始化时间换取运行时流畅体验,适合性能要求高且资源使用可预测的游戏场景。实现时通常建立资源池并提前加载所有可能需要的资源。 混合策略结合两者优势,根据使用频率智能决定加载时机,既保证高频资源的即时可用,又避免低频资源占用过多内存

2025-10-13 17:52:31 1082

原创 LibGDX游戏开发性能优化实战:对象池模式在LibGDX中的应用

摘要:本文介绍了在LibGDX游戏开发中使用对象池模式优化支付线动画性能的实践。针对频繁创建Spine动画实例导致的卡顿问题,提出了预加载和懒加载两种对象池实现方案。预加载方案启动慢但运行时性能最优,懒加载方案启动快但首次播放可能有卡顿。文章提供了完整实现代码,对比了不同方案的性能差异,并给出实践建议:根据使用频率选择方案、合理管理对象状态、监控内存使用和适时清理资源。对象池模式能有效减少GC压力,提升游戏流畅度。

2025-10-13 17:45:31 421

原创 解决PowerShell脚本无法加载问题:无法加载文件 E:...\Check-DuplicateFiles.ps1,深入理解执行策略

摘要:本文详细解析PowerShell脚本无法运行的常见错误,深入讲解执行策略机制及其安全设计理念。提供四种解决方案:临时绕过策略(推荐)、修改当前用户策略、命令行直接运行及查看/恢复策略。针对不同开发环境(个人/企业/生产/CI)给出最佳实践建议,并介绍企业级脚本签名方案。强调在开发便利性与系统安全性间取得平衡的重要性,帮助开发者既解决问题又理解底层安全机制。

2025-10-11 19:41:49 980

原创 PowerShell 递归目录文件名冲突检查脚本(不区分大小写)

PowerShell递归检查文件名与目录名冲突 摘要:该PowerShell脚本用于检测文件系统中同一目录下文件名与目录名冲突的问题。脚本通过递归遍历指定路径,检查是否存在文件名(不含扩展名)与同级目录名相同的冲突情况,支持控制台输出详细冲突信息和CSV导出功能。主要特点包括: 递归检查所有子目录 区分"同级目录"和"跨子目录"两种冲突类型 提供冲突文件的详细信息(路径、大小、修改时间) 支持分组显示冲突结果 可选生成CSV报告 该脚本特别适合资源管理系统、游戏开发等

2025-10-11 16:41:33 553

原创 《LangChain入门指南》学习笔记2:第2章 LangChain入门指南

降低门槛:几行代码即可运行LLM程序内置组件:提供摘要链、问答链等,避免重复编码提示词工程:提供大量经过验证的提示词模板(如SQL查询模板)灵活部署:支持RAG、私有化部署、模型切换。

2025-10-06 12:23:05 662

原创 LangChain入门实践4:LLMChain创建第一个链快速入门

测试输出解析器继承基类创建自定义解析器实现parse方法处理LLM的原始输出使用字符串的split方法按逗号分隔转换为列表这是一个简单的解析器示例,实际应用中可能需要更复杂的逻辑通过本文的学习,我们成功创建了第一个完整的LangChain链,这是一个重要的里程碑。

2025-10-06 12:07:39 1241

原创 LangChain入门实践3:PromptTemplate提示词模板详解

通过本文的学习,我们对LangChain框架中的PromptTemplate提示词模板有了全面的理解。核心价值PromptTemplate是LangChain中构建高质量提示词的核心工具,能够将用户输入转化为结构化的提示文本通过模板化处理,提高了代码的可维护性和复用性主要模板类型基础PromptTemplate:适用于文本生成模型,支持简单的变量替换:专为聊天模型设计,支持多角色消息结构消息组件:SystemMessage、HumanMessage、AIMessage等用于构建复杂的对话场景。

2025-10-05 11:52:46 1007

原创 LangChain实践2:编写取名程序,predict的小坑问题记录

经过环境配置,我们跑通了和LLM的链接,有了这些基础的设置,我们可以尝试使用LLM进行一次编程操作。由于predict在新版langchain里不支持,所以将predict替换为invoke()即可。

2025-09-30 11:22:41 228

原创 LangChain实践1:Python调用阿里百炼大模型,免费API

用您的百炼API Key代替YOUR_DASHSCOPE_API_KEY。注册认证大模型平台即可获得免费的API使用,详情如下链接。推荐使用CMD添加永久环境变量。通过下面代码调用模型。

2025-09-29 11:04:30 1015

原创 《LangChain入门指南》学习笔记1:第1章 LangChain:开启大语言模型时代的钥匙

2025-09-28 13:50:46 233

原创 【Java开发:Lambda表达式】

Lambda 表达式可以被认为是匿名函数(没有名称的函数)。它是一种可以传递的代码块,可以将行为作为参数传递给方法,使代码更简洁。Lambda 表达式让 Java 具备了函数式编程的能力,同时保持了面向对象编程的特性。Lambda 表达式是 Java 8 引入的一个重要特性,它极大地简化了代码编写,特别是在处理集合和实现函数式接口时。通过 Lambda 表达式和方法引用,Java 代码变得更加简洁、易读和易维护。

2025-09-23 11:24:39 1046

原创 【Java开发:Variable used in lambda expression should be final or effectively final】

优先使用effectively final变量:让代码更简洁,避免不必要的final关键字需要修改值时使用原子类等提供线程安全的操作复杂场景使用同步机制:当需要复杂操作时,使用或Lock考虑使用不可变对象:设计不可变对象可以避免许多并发问题使用函数式编程风格:利用map、reduce、filter等操作,避免修改外部状态。

2025-09-19 16:06:20 870

【jd-gui-windoes-1.6.6】

jdgui反编译java工具

2026-05-15

PowerShell 递归目录文件名冲突检查脚本(不区分大小写)执行脚本

PowerShell 递归目录文件名冲突检查脚本(不区分大小写)执行脚本

2025-10-11

《LangChain入门指南》学习笔记2:第2章 LangChain入门指南 思维导图

《LangChain入门指南》学习笔记2:第2章 LangChain入门指南 思维导图

2025-10-06

《LangChain入门指南》学习笔记1:第1章 LangChain:开启大语言模型时代的钥匙 思维导图

《LangChain入门指南》学习笔记1:第1章 LangChain:开启大语言模型时代的钥匙 思维导图

2025-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除