项目管理工具-禅道
什么是项目管理项目管理是一个复杂而细致的过程,它涉及对软件项目进行全面规划、执行、监控和控制,以确保项目能够按照预定的时间、成本和质量标准顺利完成。这个过程涵盖了多个关键方面:
项目规划:
确定项目的目标、范围、时间和预算
制定详细的项目计划,包括工作分解结构(WBS)、资源分配、里程碑和关键路径
识别潜在的风险,并制定相应的风险应对策略
团队组建与管理:
组建一个跨职能的团队,包括开发人员、测试人员、设计师等
明确每个团队成员的角色和责任
促进团队沟通,确保信息在团队内部流通无阻
需求管理:
与客户或利益相关者合作,明确并记录软件需求
对需求进行优先级排序,并制定需求变更管理流程
进度与质量管理:
使用敏捷开发方法(如Scrum)或传统项目管理方法(如瀑布模型)来管理项目进度
实施质量控制措施,如代码审查、单元测试和集成测试
风险与变更管理:
定期评估项目风险,并更新风险应对策略
管理项目变更,确保变更得到妥善处理并记录
沟通与报告:
定期向项目团队、客户和其他利益相关者报告项目进展
确保所有相关方都了解项目的当前状态、已完成的工作以及接下来的计划
项目收尾 ...
若依框架
什么使用若依框架
快速开发:若依框架提供了许多现成的模块和工具,能够快速搭建起一个基本的应用框架,从而减少了开发的时间和工作量
高度可定制性:若依框架提供了丰富的插件和扩展点,可以根据项目的需求进行定制和扩展,满足不同项目的特定需求
简化开发流程:若依框架提供了许多常用的功能模块,如权限管理、数据字典、定时任务等,能够简化开发流程,提高开发效率
易于维护和管理:若依框架采用了模块化的设计,代码结构清晰,易于维护和管理,有助于降低项目的维护成本
社区支持和更新迭代:若依框架有一个活跃的开发社区,能够及时提供技术支持和更新迭代,保证项目的稳定性和安全性
若依框架基本介绍若依(RuoYi)框架是一款基于SpringBoot、SpringCloud等开源框架搭建的企业级开发平台。它的主要目标是提供全面的解决方案,以简化企业级应用开发,提高开发效率。以下是对若依框架的详细介绍:
模块化设计:若依框架采用模块化的设计,使得应用可以根据需求进行灵活的扩展和定制。每个模块都可以独立部署和升级,这大大提高了系统的可维护性和可扩展性
前后端分离:框架采用前后端分离的开发模式,后端专注于数据处理和API ...
微信登录接口对接
三方接口接口文档在项目中对接任何三方接口,最重要的参考永远都是官方给提供的接口文档
微信官方提供的微信登录接口:小程序登录 / 小程序登录
这个文档中比较关键的部分就是:
功能描述,查阅是否符合咱们业务对接的需求
调用方式,三方接口一般都是https居多,更加安全,包含了请求方式和请求地址
请求参数,接口的入参,重点关注必须要传的参数
返回参数,查看返回的数据结构和内容,是否符合自己的返回预期
错误码,当接口调用失败的时候,可以根据错误码对应的描述修正代码解决问题
API客户端如果从后端调用三方接口,一样也是用的http请求,只是这次请求是**从后端到另外一个后端服务**,所以需要借助工具才能发起请求
HTTP客户端工具有很多
HttpClient 体量庞大,jdk11以上支持不好
OkHttp 学习成本较高
Spring提供的 RestTemplate 后期课程feign会重点讲解
糊涂工具包,使用说明地址:概述 | Hutool
糊涂工具常见方法
准备:在zzyl-common模块中添加单元测试依赖
12345<depend ...
后端鉴权(认证授权)
RBAC权限模型概述在企业系统中,通过配置用户的功能权限可以实现让不同的人分管不同业务的需求。RBAC(Role Based Access Control)模型,中文是基于角色的访问控制,主要是将一组功能组合成一个角色,再将角色分配给用户,也就是说角色是功能的合集
比如:
企业A总共有12个功能,包括财务管理、人事管理、销售管理等等,如果不引入 RBAC 模型,咱们就需要每创建一个用户就要分配一次功能,假设企业A有100个用户,这将至少需要进行100次操作。如果用户数量增加到1000甚至10000,并且一个用户可能会拥有多个功能,操作将会变得非常繁琐。如图:
经过多次操作后发现,有些人被分配了相同的功能。例如,A、B等10个用户都被分配了客户管理、订单管理和供应商管理这几个模块。**将这几个功能模块组合成一个包,然后将整个包分配给需要的用户,这个包被称为角色**。由于角色和功能之间的对应关系相对稳定,在给用户分配权限时只需分配角色即可,如下图所示:
基于RBAC授权后,咱们可以达成以下2个目标:
解耦用户和功能,降低操作错误率
降低功能权限分配的繁琐程度
ER图与关系梳理在一 ...
代码版本控制-Git
Git概述Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java文件、yml文件、xml文件等),在软件开发过程中被广泛使用
核心作用如下:
远程备份: Git允许你将代码库备份到远程服务器,以防止数据丢失。常见的远程备份方式包括使用GitHub、GitLab、Gitee等代码托管服务
多人协作: Git允许多个开发者在同一个代码库上协同工作。开发者可以共享代码、合并变更、解决冲突等
代码回溯: 代码回溯是指在Git中返回到先前的代码状态或版本。对于修复错误或者恢复不小心删除的代码非常有用
版本切换: 在Git中,你可以通过切换分支或检出不同的提交来切换代码的版本。
Git安装官网下载地址:Git - Downloading Package
Windows系统中使用Git-版本号-64-bit.exe这个应用程序用于安装Git,并且安装中不建议切换默认的安装路径(Git本体很小,且便于IDEA扫描Git所在位置)
安装完成后在任意目录点击鼠标右键,点击Open Git Bash here即可通过命令行打开Git
Git工作流程
本地仓库:开发人员自己电脑上的 ...
WebSocket
概述WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器的全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输
HTTP协议和WebSocket协议对比:
HTTP和WebSocket底层都是TCP连接
HTTP是短连接;WebSocket是长连接
HTTP通信是单向的,基于请求响应模式;WebSocket支持双向通信
思考:既然WebSocket支持双向通信,功能看似比HTTP强大,那么是不是可以基于WebSocket开发所有的业务功能?
WebSocket的缺点:
服务器长期维护长连接需要一定的成本
各个浏览器支持程度不一
WebSocket 是长连接,受网络限制比较大,需要处理好重连
结论:WebSocket并不能完全取代HTTP,它只适合在特定的场景下使用
使用场景
视频弹幕
网页聊天
体育实况更新
入门案例需求说明:实现浏览器与服务器全双工通信。浏览器既可以向服务器发送消息,服务器也可主动向浏览器推送消息
流程如下:
需要准备客户端,可以在浏览器上编写客户端
服务端,使用ja ...
Spring入门项目 - Tlias系统
准备工作接口文档:接口文档 - 飞书云文档
开发模式:前后端分离开发(前端项目、后端项目 开发和部署都是分开的)
开发流程:需求分析 ➡ 接口设计 ➡ 前后端并行开发 ➡ 测试 ➡ 测试 ➡ 联调
接口测试工具:Apifox(浏览器发起的请求默认都是GET请求,如果需要测试POST、PUT、DELETE请求,需要用到专门的测试工具)
开发风格:Restful架构风格
REST风格URL
请求方式
含义
备注
http://localhost:8080/users/1
GET
查询id为1的用户
URL定位资源 HTTP动词描述操作 简洁、规范、优雅
http://localhost:8080/users/1
DELETE
删除id为1的用户
http://localhost:8080/users
POST
新增用户
http://localhost:8080/users
PUT
修改用户
REST是风格,是约定方式,约定不是规定,可以打破
描述功能模块通常使用复数形式(加s),表示此类资源,而非单个资源。如:users、books ...
Spring PageHelper
PageHelper详细的案例可以在Java Tlias项目中的员工分页查询下查看
PageHelper是第三方提供的在MyBatis框架中用来实现分页的插件,用来简化分页操作,提高开发效率
使用步骤:
引入PageHelper的依赖
定义Mapper接口的查询方法(无需考虑分页)
在Service方法中实现分页查询
12345<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.7</version></dependency>
123// 查询员工数据@Select("SELECT e.* FROM emp e ...")public List<Emp> list();
1234567891011public PageResult<Emp> pa ...
Spring 事务管理
事务管理概念:**事务是一组操作的集合,它是一个不可分割**的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败
注意:默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务
操作:事务控制主要三步操作:开启事务、提交事务/回滚事务(同时成功/一个失败)
在MySQL中手动开启事务:
1234567891011-- 开启事务start transaction; / begin;-- 1. 第一条SQL语句INSERT INTO ...;-- 2. 第二条SQL语句INSERT INTO ...;-- ... 第n条 ...-- 提交事务(全部成功) / 回滚事务(一个失败)commit; / rollback;
事务控制由于事务管理在项目开发中使用的频率很高,所以Spring对其进行了封装:
注解:@Transactional
作用:将当前方法交给Spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚事务
位置:业务(Servic ...
Spring MyBatis Plus
概述MyBatis-Plus(简称MP)是一个基于MyBatis框架的增强工具,它在MyBatis的基础上只做增强而不做改变,旨在简化开发、提高效率。MP提供了一系列的功能和特性,使得开发人员能够更加高效地使用MyBatis进行数据库操作
官网:MyBatis-Plus
快速入门环境搭建:先利用Tlias系统进行测试,可以从中州养老项目中给出的资料获取项目代码
导入依赖导入MyBatis-Plus的起步依赖,替换掉MyBatis的起步依赖
12345<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.11</version></dependency>
接着,在引导类上添加注解,配置自动扫描Mapper
12345678@MapperScan("com.itheima.mapper&q ...
