- 博客(68)
- 收藏
- 关注
原创 软件架构设计 | 第4讲:静态建模(类关系、上下文类图、对象组织)
静态模型描述系统的静态结构,不随时间变化。关注点说明类系统中有哪些类属性每个类有什么属性关系类和类之间怎么关联约束属性和关系有什么限制关系UML符号强度核心含义例子关联实线 + 箭头弱A和B有关系学生-课程聚合空心菱形 ◇中A包含B(弱)球队-球员组合实心菱形 ◆强A由B组成(强)房子-房间泛化空心三角箭头B是一种A汽车-交通工具上下文类图是在系统边界级别对系统进行建模,展示系统与外部世界的交互关系。类型职责类比例子实体类。
2026-06-20 15:05:11
383
原创 软件架构设计 | 第3讲:用例建模
本文系统介绍了需求建模和用例分析的核心知识,重点包含以下内容:1. 需求建模基础:定义功能与非功能需求,分析需求规约的质量属性;2. 用例与参与者:阐述用例的黑盒特性、主备序列,以及参与者的四种类型识别方法;3. 用例关系:详解包含关系(必做公共功能)与扩展关系(条件触发的可选功能)的区别;4. 活动图应用:说明如何用活动图描述用例交互流程。文章通过ATM取款等生活实例,辅以对比表格和图示,清晰解析了高频考点内容。
2026-06-19 16:42:49
337
原创 软件架构设计 | 第2讲:软件架构设计方法
【摘要】本文系统讲解了面向对象编程的核心概念和技术要点:1. 信息隐藏原则强调先设计接口后实现,通过封装变化降低耦合(如栈的不同实现案例);2. 并发处理重点区分主动/被动对象,分析互斥、同步、生产者/消费者三类协作问题及三种消息通信方式(同步/异步差异);3. 设计模式作为可复用的微架构方案(如观察者、工厂模式);4. 软件架构以构件和连接器为核心;5. 明确需求建模(做什么)、分析建模(有哪些)、设计建模(怎么做)三个阶段的不同关注点。这些内容构成面向对象系统设计的关键知识体系,其中信息隐藏、并发协作和
2026-06-19 15:30:05
415
原创 软件架构设计 | 第1讲:软件建模与软件架构
本文摘要: 本文系统介绍了软件模型与架构设计的核心概念。主要内容包括:1)软件建模基础,阐述模型定义、面向对象三大特性(封装、继承、多态)及UML建模语言;2)软件架构概念,强调其关注构件、连接关系及质量属性的高层设计特性;3)模型驱动架构(MDA)的三层模型(CIM、PIM、PSM)及其转换关系;4)软件架构的七个视图(用例、静态、动态交互等)及其关注维度;5)发展历程与重要人物贡献。最后通过思考题巩固关键知识点,如MDA模型转换、架构多视图分析和面向对象特性实例。全文以建筑类比帮助理解抽象概念,突出架构
2026-06-19 13:52:17
372
原创 [特殊字符] .NET Framework 科普:SDK、Targeting Pack 与 Runtime 到底有什么区别?
摘要:本文深入解析.NET Framework中SDK、TargetingPack和Runtime三者的区别与联系。SDK(现称DeveloperPack)是包含完整开发工具链的"全能工厂";TargetingPack作为编译期的"API标尺",提供版本契约检查;Runtime则是程序运行的实际执行环境。文章从架构设计、编译原理到实战场景,详细阐述了三者的职责分工,并针对常见的MSB3644报错等问题提供解决方案。
2026-05-10 13:46:36
497
原创 软件工程课上的震撼:一个需求错误,居然要花200倍代价去填坑?
软件工程课上老师讲解的需求错误修正代价模型令人警醒:需求阶段修正成本为1倍,但到维护阶段将暴涨至200倍。这包括人力、返工、沟通、沉没和隐性五大成本,老师用盖房子的比喻生动说明了后期修改的高昂代价。作者反思自身课设经历,意识到前期充分规划的重要性,建议使用原型工具、撰写清晰文档、定期同步进度。文章核心观点是:软件项目成败往往在需求阶段就已决定,前期多投入能避免后期巨大损失。
2026-03-04 15:28:20
533
原创 桌面壁纸闪烁?别急,一文教你彻底解决!
Windows桌面壁纸频繁闪烁问题排查指南 摘要:本文针对Windows用户遇到的桌面壁纸闪烁问题,提供系统化解决方案。首先分析三大根本原因:软件冲突(60%)、驱动问题(30%)和硬件故障(10%)。提供四级排查方案:1)快速重启资源管理器(5分钟解决60%问题);2)深度软件修复包括清理壁纸缓存、干净启动排查;3)关键驱动更新与显示设置调整;4)硬件检测流程。特别强调使用DDU工具彻底重装显卡驱动可解决40%案例,配合清理缓存和关闭透明效果能解决85%常见问题。文末附诊断流程图和预防措施,建议按&quo
2026-02-11 15:53:10
2081
原创 侦探破案:用「回溯与学习」解开逻辑谜团——CDCL算法通俗图解
《逻辑侦探CDCL:从算法到哲学启示》摘要 本文通过侦探破案的比喻,生动解析了CDCL(冲突驱动子句学习)算法的工作原理。文章首先对比了基础DPLL算法与CDCL的核心差异,重点阐述了CDCL的四大破案步骤:决策假设、逻辑推导、冲突分析和学习回溯。随后深入探讨了冲突分析机制、子句学习策略和智能重启等关键技术。在应用层面,揭示了CDCL在软件验证、芯片设计、AI规划等领域的核心作用。最后升华出三重哲学启示:失败是学习机会、智慧在于选择性关注、适时重启的价值。全文将复杂算法转化为引人入胜的侦探故事,展现了逻辑推
2026-02-07 08:00:00
915
原创 蓝牙技术深度解析:从通信协议到工程实践
本文深入解析蓝牙技术架构与应用开发,从协议栈分层设计到实战开发要点。主要内容包括:1)蓝牙分层架构与BLE核心技术GATT/ATT模型;2)Android平台BLE开发全流程与嵌入式端实现;3)高级主题如Mesh网络和安全设计;4)工程实践中的调试技巧、工具使用和性能优化建议。文章强调开发者需深入理解协议设计原理,掌握跨层调试能力,并关注蓝牙技术最新发展,而非仅停留在API调用层面。为软件工程学生和开发者提供了从理论到实践的完整蓝牙技术学习路径。
2026-02-06 20:41:53
833
原创 [特殊字符] 给新手(我)的Markdown超有趣指南:从“小白”到“排版小能手”!
本文介绍了Markdown这一轻量级标记语言的入门使用指南。通过"番茄炒蛋食谱"的生活化案例,直观对比普通文本与Markdown排版效果。详细解析了Markdown的五大核心语法:标题系统、文本强调、列表结构、引用代码和链接图片。最后以撰写优快云博客为例,提供完整的实战模板,包括标题、摘要、正文结构等要素,并附有学习技巧和练习建议。文章强调Markdown能提升写作效率,建议新手从基础语法开始实践,逐步掌握这一解放排版负担的实用工具。
2026-02-06 09:30:00
647
原创 SAT求解:APT包管理器背后的“逻辑魔法”
本文探讨了APT软件包管理器如何将复杂的软件依赖关系转化为SAT(布尔可满足性)问题,并采用先进的算法进行求解。文章首先介绍了SAT问题的基本概念及其在包管理中的应用,详细阐述了APT求解器从朴素回溯到DPLL算法,再到现代CDCL算法的三个演进阶段。通过Apache安装案例展示了SAT求解的具体过程,并分析了高级优化技术如VSIDS启发式、冲突分析和两字面监视等。文章还从学术角度形式化定义了包依赖问题,证明其NP完全性,并讨论了CDCL算法的理论保证。最后展望了机器学习在分支启发式和并行SAT求解中的前沿
2026-02-05 14:21:51
636
原创 包管理器:从“依赖地狱”到“软件宇宙”的演化史
本文系统梳理了软件包管理器的发展历程与技术架构。从早期手动编译(1990-1994)到现代跨平台沙盒化(2006至今),包管理器经历了四次重大演进。核心分析了包管理器的技术架构,包括依赖解析算法、仓库系统设计等,并以APT为例深入解析其工作原理。通过对比主流包管理器的设计哲学与实现差异,展现了不同技术路线的发展特点。文章还探讨了包管理器的学术形式化定义、安全模型以及未来智能化、声明式的发展趋势。最后指出包管理器体现了软件工程的核心思想:抽象封装、组合复用、不变性保障和社区协作,是软件分发自动化与可靠性的重要
2026-02-05 14:21:10
839
原创 SQLiteStudio 下载安装指南
摘要:本文介绍了SQLiteStudio数据库管理工具的下载安装指南。该软件免费开源、跨平台支持,适合文明六mod开发等小型项目使用。详细说明了Windows/macOS/Linux各系统的安装方法,推荐Windows用户下载便携版解压即用。文章还包含首次使用配置建议和常见问题解决方案,作者体验后认为其启动快速、操作简便,特别适合SQL学习、数据管理和迁移需求。
2026-02-05 13:39:50
2176
原创 Linux下的.run文件
Linux系统中的.run文件是一种自解压安装格式,采用"脚本头+数据段"的三明治结构,将Shell脚本与压缩的二进制数据合并为单一可执行文件。它兴起于商业软件分发需求,解决了早期源码编译的复杂性,同时规避了包管理器的发行版限制。技术上通过文件偏移计算实现自解压,典型应用如NVIDIA驱动安装。尽管具备跨平台、简化部署等优势,但存在安全风险、依赖管理缺失等问题。随着AppImage、Flatpak等现代方案的出现,.run文件正逐渐被取代,但其"一体化安装"理念仍影响
2026-02-05 13:13:22
1469
原创 Wallpaper Engine 全屏切换后壁纸卡顿?一秒延迟的解决方案
《WallpaperEngine全屏卡顿解决方案》 针对动态壁纸在全屏应用切换时出现的卡顿问题,本文提供系统化修复指南。核心解决方案包括:调整WallpaperEngine性能设置为"继续运行",禁用Windows专注助手,切换电源计划至"高性能",以及显卡驱动优化(NVIDIA/AMD需单独配置高性能模式)。多显示器用户需注意刷新率同步,高级用户可排查软件冲突或重置配置文件。根据硬件配置差异,文章提供了高/中/低端设备的优化组合建议,并解答了常见问题。通过逐步调整关
2026-02-04 19:31:57
3483
原创 软件工程新生必懂!12个专业“黑话”轻松入门
本文为编程新手提供入门指南,系统梳理了12个核心概念:1)编程基础(变量、函数、类);2)开发流程(前后端、数据库、API);3)版本控制(Git、PR);4)设计模式(MVC、调试);5)部署运维(服务器、敏捷开发)。文章采用生活化比喻解释专业术语,如将变量比作"储物盒"、API比作"翻译官",并给出实践建议:从小项目入手,善用技术社区资源。最后强调编程学习是渐进过程,鼓励新手保持好奇、勇于尝试。
2026-02-04 18:41:28
613
原创 编程修仙之C++——第十难:vector灵脉扩张与迭代器因果律崩坏
本文以修仙为喻,系统讲解了C++中vector容器的核心特性与使用要点。文章首先对比定长数组与vector的区别,将vector比作"可变灵脉";然后分章节详细解析vector的基础用法、容量管理、迭代器失效机制及增删查改操作,并穿插学术定义与形象比喻。重点强调了reserve()预分配的重要性、扩容导致的迭代器失效问题,以及不同编译器的扩容策略差异。最后通过手写简化版vector加深理解,并总结"能用vector莫用裸数组"等实用箴言。全文融合技术讲解与趣味比喻,帮
2026-02-04 16:34:04
839
原创 游戏图片融合大揭秘:告别人物“白色方块”,让你的角色真正融入世界!
《游戏开发中的透明图像处理全指南》摘要:本文系统性地讲解了游戏开发中透明图像处理的常见问题和解决方案。文章分为三大部分:第一部分用厨房烹饪的比喻形象解释透明原理,分析白边产生原因并提供三步解决法;第二部分深入技术细节,涵盖Alpha通道数学原理、混合算法及专业工具链使用;第三部分通过实战案例演示完整工作流程,并介绍性能优化策略。文中强调透明处理既是技术也是艺术,指出正确选择PNG格式、合理使用工具和多环境测试是确保透明效果的关键。附有快速排错清单,帮助开发者高效解决问题。
2026-02-04 15:06:38
1409
原创 .env 文件是干啥的?为什么不能提交到 Git?
本文介绍了.env文件的作用及安全使用规范。.env作为环境配置文件,存储数据库密码、API密钥等敏感信息,必须避免提交到Git。正确做法是提供.env.example模板、完善.gitignore配置,并通过README说明要求。生产环境应使用平台的环境变量功能。文章强调安全开发意识,建议开发者将敏感配置统一管理,定期轮换密钥,遵循"示例模板+忽略配置+自动加载"的安全规范,避免信息泄露风险。
2026-02-03 23:49:03
1536
1
原创 为什么我的程序在 IDE 能跑,打包后就报错?—— classpath 初探
摘要: Java开发中常见的“IDE能运行但打包后报错”问题,通常源于对classpath的理解不足。classpath是JVM查找.class文件和资源的路径,IDE自动配置正确,但打包后路径可能变化。例如,src/main/resources中的配置文件在打包后需通过/从jar根目录访问。解决方案包括: 正确配置资源路径:确保文件在src/main/resources中,使用/前缀加载(如getResourceAsStream("/config.properties"))。 打包依赖
2026-02-03 23:47:16
661
原创 localhost、127.0.0.1 和 0.0.0.0 有啥区别?别再混用了!
localhost 和 127.0.0.1 是“自己跟自己玩”0.0.0.0 是“欢迎大家来玩”
2026-02-03 23:44:54
1730
原创 别再只会 System.out.println()!软件工程专业必学的5种调试与日志技巧
本文介绍了5个提升Java开发调试效率的工程化技巧:1)使用SLF4J+Logback日志框架替代System.out.println;2)善用IDE断点调试功能;3)编写JUnit单元测试验证逻辑;4)记录完整异常堆栈而非仅错误信息;5)利用grep/ELK等工具分析日志。这些方法能帮助开发者从学生思维转向工程思维,使代码更易维护和调试。建议读者在项目中实践这些技巧,特别是日志框架和单元测试的应用,这对提升开发质量和面试竞争力都大有裨益。
2026-02-03 23:39:51
577
原创 .log 文件是什么?为什么程序一运行就生成它?
本文介绍了.log文件的作用和使用方法。.log文件是程序运行时自动生成的日志记录,相当于程序的"日记本",用于调试问题、监控运行状态、审计追踪等。现代软件开发普遍使用日志框架来输出信息,默认会同时输出到控制台和.log文件。文章解答了能否删除.log文件的问题,并给出查看日志的方法建议。最后强调学生开发者应学会使用日志框架替代简单的print调试,注意日志级别设置和安全问题。.log文件是软件开发中不可或缺的调试工具和运行记录。
2026-02-03 23:36:50
1697
原创 文明6 Mod入门:三分钟学会用SQL制作第一个修改器
这篇教程介绍了如何为《文明6》制作简单Mod,让纪念碑也能像金字塔一样增加建造者使用次数。主要内容包括: 使用SQL语句进行游戏数据修改,只需掌握INSERT INTO基本语法 Mod制作的"三要素"模型:确定修改对象、修改类型和具体参数值 详细步骤:先在BuildingModifiers表关联建筑与修改器,再在Modifiers表定义修改类型,最后通过ModifierArguments表设置参数值 提供了完整的SQL代码示例和Mod安装方法 推荐使用DB Browser工具查看游戏数据
2026-02-02 18:34:30
1940
原创 SQL语法大冒险:从“青铜”到“王者”的数据库通关秘籍
这篇SQL学习指南用生动幽默的方式讲解了数据库查询语言的核心知识点。文章将SQL比作"数据超能力",通过12个章节系统介绍了SELECT查询、条件筛选、排序分组、聚合函数、表连接等关键操作,并配以大量实例代码和趣味解说。特别强调了WHERE条件的重要性、语法执行顺序和常见错误,最后还提供了SQL语法速查表和"做菜"记忆法。全文采用轻松活泼的语言风格,将复杂的技术概念转化为日常生活中的比喻,既专业又易懂,适合SQL初学者快速掌握核心技能。
2026-02-02 14:54:49
1132
原创 SRT文件全解析:从“视频对话本”到时间轴字幕格式
SRT文件是一种纯文本字幕格式,采用时间码精确控制字幕显示时间。每个字幕单元包含序号、时间轴、文本内容和空行四部分,支持多语言和简单格式标签。SRT文件兼容性强、易于编辑,广泛应用于影视字幕、教育视频和商业演示。相比其他字幕格式,SRT更简单通用,既可通过文本编辑器手动创建,也能利用AI工具自动生成。随着技术发展,SRT正与语音识别、实时翻译等智能功能深度结合,成为视频内容制作的重要工具。
2026-02-02 14:39:26
2170
原创 《编程修仙之C++——第八难:STL心法,从“手搓链表”到“御剑乘风”》
一位刚用 template<typename T> 成功交换了三枚灵石、又在 Bag<int> 里藏满丹药的筑基中期菜鸟,捧着《STL源码剖析》边啃边冒仙气的学习手札
2026-02-02 11:34:00
1021
原创 《编程修仙之C++——第七难:模板元编程,从“炼丹“到“炼器“》
《C++内存管理修仙指南:从指针迷宫到智能御剑术》 本文以修仙比喻生动解析C++内存管理核心概念: 内存四象: 代码段(藏经阁):只读秘籍与永恒经文 数据段(灵药库):全局/静态变量如百年灵芝 堆(灵脉矿洞):需手动开采填埋(malloc/free) 栈(临时洞府):自动清理的局部变量 新旧门派对比: C派挖矿术(malloc/free):原始但易泄漏 C++御剑术(new/delete):自动构造/析构 关键差异:new/delete会调用构造/析构函数 核心心法: 严格配对:new/delete,new
2026-02-02 11:08:04
1004
原创 编程修仙之C++——第六难:内存管理
《C++内存管理修仙指南:从指针迷宫到智能御剑术》 本文以修仙比喻生动解析C++内存管理核心概念: 内存四象: 代码段(藏经阁):只读秘籍与永恒经文 数据段(灵药库):全局/静态变量如百年灵芝 堆(灵脉矿洞):需手动开采填埋(malloc/free) 栈(临时洞府):自动清理的局部变量 新旧门派对比: C派挖矿术(malloc/free):原始但易泄漏 C++御剑术(new/delete):自动构造/析构 关键差异:new/delete会调用构造/析构函数 核心心法: 严格配对:new/delete,new
2026-02-01 18:27:38
1042
原创 零预算高效学习:手把手教你用BiliTools下载B站视频并实现AI内容总结
摘要:本文介绍了一套零成本的B站视频下载与AI总结方案,适合学生党高效学习。核心工具BiliTools支持免费下载视频、字幕等资源,解决了安装过程中的WebView2依赖和aria2c连接问题。通过获取精准字幕文本并输入AI大模型,可生成结构化学习笔记。该方案具有完全免费、质量高、效率提升等优势,建议优先选择带字幕的视频并优化AI提示词,实现低成本高质量的知识转化。
2026-02-01 12:17:45
1534
原创 文明6mod制作(3)---bug修复
本文总结了《文明6》"野史中国"Mod开发中的关键问题与调试经验。主要发现5个核心错误:本地化键值不匹配、城市名称混乱、玩家颜色配置错误、XML标签大小写错误(如<ROW>应为<Row>)及IconSize字段为空。这些问题导致Mod无法正常加载,特别是XML大小写敏感性和必填字段约束被忽视。通过系统化调试,作者获得了三大技术收获:游戏日志分析能力、XML开发严谨性和结构化调试方法。最大的教训是认识到编程中"差不多"思维的危害性,必须严格遵循技
2026-02-01 09:28:26
901
原创 《文明6》Mod开发实战:从游戏日志定位和解决Mod加载问题
《文明6》Mod开发日志分析与问题解决指南 本文以“野史中国”Mod为例,讲解如何通过分析游戏日志解决选人界面不显示角色的问题。关键步骤包括:定位日志文件(Database.log和Modding.log),识别致命错误(如XML大小写错误、图标尺寸缺失),并系统化分析日志(按时间顺序、关注加载流程、追踪错误链)。提供常见错误类型及解决方法,如XML语法、字段约束等,并推荐增量测试、对比法等调试技巧。修复后需验证日志无报错,确保Mod正常加载。经验强调日志细节的重要性,附录列出关键日志关键词(ERROR、W
2026-02-01 09:22:36
1139
原创 文明6mod制作(3)
本文记录了第三次学习《文明6》MOD制作的过程。主要内容包括:1)新建以"李华"为领袖的中国文明,设置特色建筑"中式学院"和特色单位"约翰";2)图标素材准备与DDS文件处理;3)使用SDK工具创建项目时的注意事项;4)XML文件编辑规范,包含单位、建筑、领袖等定义;5)模型文件命名规则与艺术资源导入;6)背景音乐设置和配置文件生成。作者特别感谢B站UP主Hemmelfort的教程分享,并详细记录了操作过程中的报错解决方案和技术要点。全文以实践笔记
2026-02-01 09:11:37
1343
原创 文明6 MOD制作入门:解密官方阿兹特克配置文件
本文解析了《文明6》阿兹特克文明的官方配置文件(Aztec_Montezuma_ConfigData.xml),为MOD新手提供制作指南。文件包含四个核心部分:1)基础信息定义文明领袖身份;2)关联特色单位建筑;3)设置地图兼容性;4)指定真实出生地坐标。文章详细解释了LOC_文本本地化、ICON_图标系统和资料片兼容性等关键概念,并提供了创建自定义Config文件的步骤指南和常见错误提醒。通过模仿官方结构替换自定义内容,新手可以快速入门MOD制作。
2026-01-31 16:02:38
1176
原创 文明六MOD入门:从零开始制作一个巫师文明
《文明6》MOD制作入门教程:手把手教你创建自定义文明 本教程为零基础玩家介绍《文明6》MOD制作基础,以巫师文明为例讲解XML文件结构。主要内容包括:1) 7个关键XML模块解析(文明类型声明、基本信息、领袖关联、特色内容等);2) 制作流程四步骤(文件准备、模板修改、文本添加、MOD配置);3) 常见问题解答和资源推荐。教程强调ID一致性的重要性,建议从基础文明开始,逐步添加功能。通过本教程,玩家可学会创建能在游戏中正常显示的自定义文明,为后续进阶MOD开发打下基础。
2026-01-31 15:04:06
1352
原创 《文明6》Leaders.xml 文件标签解析指南
本文系统解析《文明6》Leaders.xml文件结构,为Mod开发者提供全面指南。基础部分涵盖领袖身份标识、性别、继承机制等核心标签;进阶部分详解特性系统、AI行为、议程外交等复杂配置;最后提供全标签速查手册,包括游戏机制、外交系统、行为逻辑等关键标签解释。文章采用形象比喻与严谨术语相结合的表述方式,从初学者到高级开发者都能获得实用参考,完整呈现了从创建基础领袖到定制复杂AI行为的完整开发流程。
2026-01-31 14:02:04
978
原创 《文明6》XML建筑文件全标签解析:从代码到游戏的完整指南
本文详细解析了《文明6》Buildings.xml文件的结构与功能,为Mod开发者提供全面指导。该文件采用模块化设计,通过层级标签定义建筑属性、产出、条件和效果系统。核心内容包括:建筑基础属性定义(Buildings标签)、前置与互斥关系(BuildingPrereqs/MutuallyExclusiveBuildings)、产出系统(YieldChanges/GreatPersonPoints)以及条件驱动的效果系统(Modifiers/Requirements)。文章还提供了实用开发指南,包括添加新建筑
2026-01-31 13:44:25
1144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅