
软件工程
文章平均质量分 70
PXM的算法星球
前acmer 软工学生 java后端 算法爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot异常处理翻车?3步搞定全局异常捕获,让你的API稳如老狗!
为了统一接口返回格式,并方便携带错误码和错误信息,这里定义一个泛型响应类@Data// 成功响应// 错误响应Controller 层直接返回统一了接口格式,方便前后端对接明确了错误码避免返回异常信息时出现类型转换错误统一返回格式,便于前端处理减少重复的 try-catch 代码方便日志记录与问题排查相比使用,AOP 的方式更灵活,可以结合切点选择性地对某些包或类生效,适合需要细粒度控制的场景。原创 2025-08-08 15:01:27 · 63 阅读 · 0 评论 -
【java】一篇文章带你读懂线程池
是Java并发编程API中提供的高级接口,用于管理线程的执行过程。它扩展了Executor接口,增加了更多实用功能,如关闭线程池、获取任务结果等。// 创建线程池实例5, // 核心线程数10, // 最大线程数60L, // 空闲线程存活时间(秒)new ArrayBlockingQueue<>(100), // 任务队列容量new ThreadPoolExecutor.CallerRunsPolicy() // 拒绝策略// 提交任务i < 10;原创 2025-07-26 12:02:23 · 908 阅读 · 0 评论 -
AI辅助编写前端VUE应用流程
首先页面的设计是关键,进行合理的页面拆分是进行ai任务分解的关键,比如一个题目后台管理功能,它可以分为一个主要的展示页面和几个对话框,子页面包括了题目编辑,添加等。首先把系统拆分成一个个页面,让AI先把每个页面都建立一个view,如果每个页面的代码量过大,再把view进行组件拆分。如果写的页面有问题,则指出并让ai修改,需要注意是如果有的问题AI始终无法解决,如CSS排版等问题,这些可能就需要手动f12解决了。在AI的上下文中添加具体要完善的页面,以及这个页面要用的API,组件等信息,并提出功能要求。原创 2025-06-27 10:28:45 · 402 阅读 · 2 评论 -
【设计模式】餐厅点餐系统重构 - 单一职责原则(SRP)实践
/ 用于策略选择// 用于策略选择。原创 2025-06-12 16:24:26 · 483 阅读 · 0 评论 -
【设计模式】在线购物系统后台设计实战(期末考题)
摘要:电商支付系统重构采用了工厂方法模式,实现支付功能的开闭原则。通过定义Payment接口和不同支付实现类(现金、信用卡等),利用PayFactory自动注册所有支付方式。新增支付方式只需添加实现类,无需修改核心代码,支持动态切换支付方式。该设计降低了耦合度,提高了扩展性,支付处理只需传入typeId即可调用对应支付逻辑,便于后续接入支付宝、微信等更多支付渠道。原创 2025-06-12 15:32:02 · 267 阅读 · 0 评论 -
【软件工程】可行性研究
定义:描绘物理系统的传统工具,用图形符号以黑盒子形式表示系统部件(程序、文件、数据库、人工过程等)。作用在可行性研究中描述现有系统或建议系统的物理模型。表达部件的信息流程(非控制过程)。定义:从信息传递和加工角度,图形化描述数据流的移动变换过程。特征抽象性:去除物理细节,仅保留数据流动和加工。概括性:整合多业务处理过程形成总体视图。定义:对DFD中元素的详细说明,补充DFD的语义描述。内容数据流数据元素(分量)数据存储处理逻辑外部实体。原创 2025-06-03 19:07:53 · 653 阅读 · 3 评论 -
【软件工程】软件工程学概述复习资料
在计算机软件开发和维护过程中遇到的一系列严重问题。原创 2025-06-03 14:38:24 · 414 阅读 · 0 评论 -
【软件工程】面向对象编程(OOP)概念详解
抽象类:包含抽象方法(没有实现的方法)的类,不能被实例化,子类必须实现其抽象方法。接口:纯抽象的“契约”,Java8+ 支持默认方法(default)和静态方法。// 抽象类示例// 抽象方法System.out.println("我是一个图形");// 子类实现@Override// 接口示例// 抽象方法// 实现接口@OverrideSystem.out.println("绘制矩形");Single Responsibility(单一职责)O。原创 2025-04-28 17:13:35 · 625 阅读 · 0 评论 -
【软件工程】需求分析详解
需求分析(Requirements Analysis)是软件生命周期中的第二阶段,其目标是明确和细化用户需求,为后续设计与开发提供依据。在此阶段,团队需要识别和了解所有利益相关者的需求,包括功能性需求和非功能性需求,以保证系统满足用户期望 ([软件工程第三章——需求分析。完善的需求分析能够显著降低后期返工和系统缺陷率,提高项目成功率。原创 2025-04-28 16:43:45 · 1628 阅读 · 0 评论 -
【软件工程】 白盒测试简介
在软件测试过程中,白盒测试(White-box Testing)是一种重要方法,它通过检查程序内部结构来验证软件功能。本文以一道典型的伪代码程序为例,结合白盒测试的基本操作,设计语句覆盖测试用例,并总结白盒测试的基本流程。逻辑路径分析:了解程序流程,找出所有可能路径。覆盖标准选择:根据测试需求选择覆盖标准,如语句覆盖、判定覆盖、条件覆盖等。测试用例设计:根据覆盖要求设计输入数据。测试执行与验证:运行程序,验证实际输出是否符合预期。其中,语句覆盖(Statement Coverage)原创 2025-04-27 16:43:55 · 587 阅读 · 2 评论 -
【软件工程】TCP三次握手中的SYN与ACK:核心机制详解
位置:TCP报文头的Flags字段取值:二进制值(0或1)功能标识连接初始化请求(第一次握手)表示序列号同步(第二次握手)TCP三次握手中的SYN和seq各司其职,共同确保连接的可靠性:• SYN是控制标志位,仅标识连接初始化请求(SYN=1)或确认(ACK=1),不携带具体数值。• seq是32位序列号字段,明确数据字节的起始位置,贯穿整个TCP连接生命周期。初始序列号(ISN)随机生成,防止预测攻击。确认号ack始终为对端seq+1,指向期望接收的下一个字节。第三次握手后,原创 2025-04-25 15:51:53 · 914 阅读 · 0 评论 -
【Java后端】MyBatis 与 MyBatis-Plus 如何防止 SQL 注入?从原理到实战
SQL 注入(SQL Injection)是指攻击者通过输入恶意 SQL 语句,干扰原本正常的数据库查询,从而达到绕过登录、获取数据、甚至删除数据库的目的。如果我们将用户输入直接拼接到 SQL 中,攻击者就可能利用OR '1'='1'这样的语句,绕过身份验证。原创 2025-04-23 22:47:51 · 1130 阅读 · 0 评论 -
【软件工程】软件测试基础知识
• 等价类划分:将输入数据分为有效和无效类别(如测试年龄输入框,有效类:18-60岁,无效类:负数或100岁以上)。• 路径覆盖:测试代码中所有可能的执行路径(例如:一个函数有3条分支,需测试全部3种情况)。• 边界值分析:测试输入范围的边界(如允许输入1-100,则测试0、1、100、101)。• 集成测试:验证多个模块组合后的协作是否正常(如测试登录模块与数据库的交互)。• 单元测试:针对单个函数或模块的测试(如测试一个计算加法的函数)。• 系统测试:对整个系统进行全面测试,包括功能、性能、安全性等。原创 2025-04-21 16:26:21 · 412 阅读 · 0 评论 -
【软件工程】 适配器模式
适配器模式(Adapter Pattern)应运而生,它如同一个“接口转换器”,让原本无法协同工作的类能够一起合作,比如我们系统原来的日志功能需要改善,但是我们又不可能改变以前的一些代码,此时有效使用适配器模式就是一个好选择。适配器模式是一种结构型设计模式,其核心目的是将一个类的接口转换成客户端期望的另一种接口。它通过包装(Wrap)现有类的接口,解决因接口不兼容而无法复用代码的问题。• 类适配器:通过多重继承(或实现接口+继承)实现(需编程语言支持,如C++)。• 复杂度:过多适配器会增加代码维护难度。原创 2025-04-21 12:55:54 · 368 阅读 · 0 评论 -
【软件工程】用飞书画各种图(流程图,架构图···)
笔者在做服务外包大赛的时候被文档内容的编写反复折磨,网上的工程图绘画工具要么是展示效果不佳,要么要收大几百的VIP费,最后发现飞书竟然可以直接绘画并插入示意图。原创 2025-04-18 17:38:47 · 2746 阅读 · 1 评论