广州天河建网站的公司,it运维是什么工作,优化一个网站多少钱,玉田住房与城乡建设局网站文章目录 软件开发整体介绍软件开发流程角色分工软件环境 外卖平台项目介绍项目介绍定位功能架构 产品原型技术选型 开发环境搭建整体结构#xff1a;前后端分离开发前后端混合开发缺点前后端分离开发 前端环境搭建Nginx 后端环境搭建熟悉项目结构使用Git进行版本控制数据库环… 文章目录 软件开发整体介绍软件开发流程角色分工软件环境 外卖平台项目介绍项目介绍定位功能架构 产品原型技术选型 开发环境搭建整体结构前后端分离开发前后端混合开发缺点前后端分离开发 前端环境搭建Nginx 后端环境搭建熟悉项目结构使用Git进行版本控制数据库环境搭建 登录功能分析代码特点Nginx反向代理和负载均衡会话跟踪技术方案JWT介绍JWT生成测试JWT校验测试应用jwt令牌登录和校验密码加密 导入接口文档前后端开发流程操作步骤 Swagger介绍使用方式常用注解 软件开发整体介绍 软件开发流程
需求分析需求规格说明书、产品原型设计UI设计、数据库设计、接口设计编码项目代码、单元测试测试测试用例、测试报告上线运维软件环境安装、配置
角色分工
项目经理对整个项目负责任务分配把控进度产品经理进行需求调研输出需求调研文档、产品原型等UI设计师根据产品原型输出界面效果图架构师项目整体架构设计、技术选型等开发工程师代码实现测试工程师编写测试用例输出测试报告运维工程师软件环境搭建、项目上线
软件环境
开发环境(development)开发人员在开发阶段使用的环境一般外部用户无法访问测试环境(testing)专门给测试人员使用的环境用于测试项目一般外部用户无法访问生成环境(production)即线上环境正式提供对外服务的环境
外卖平台项目介绍 项目介绍 定位
专门为餐饮企业餐厅、饭店定制的一款软件产品管理端–外卖商家使用用户端–点餐用户使用
功能架构
体现项目中的业务功能模块
产品原型
用于展示项目的业务功能一般由产品经理进行设计管理端用户端
技术选型
展示项目中使用到的技术框架和中间件等
开发环境搭建 整体结构前后端分离开发 前后端混合开发缺点
沟通成本高分工不明确不便管理不便维护扩展
前后端分离开发
当前最为主流的开发模式前后端开发 分开部署运行特点解耦便于管理、维护和扩展
前端环境搭建
前端工程基于Nginx运行
Nginx
介绍Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。特点占有内存少并发能力强在各大型互联网公司都有非常广泛的使用官网https://nginx.org/启动Nginx双击nginx.exe即可启动nginx服务访问端口号为80注意事项
Nginx默认占用80端口号如果80端口号被占用可以在nginx.conf中修改默认端口号(netstat -ano | findStr 80)修改了nginx.conf配置文件需要重启nginx服务器(关闭然后再开可以通过kill nginx.bat结束nginx然后再次双击nginx.exe) 后端环境搭建
后端工程基于maven进行项目构建并且进行分模块开发
熟悉项目结构 sky-common子模块存放的是一些公共类可以供其他模块使用 sky-pojo子模块中存放的是一些entity、dto、vo
pojoplain old java object
sky-server子模块中存放的是 配置文件、配置类、拦截器、controller、service、mapper、启动类等 使用Git进行版本控制
创建Git本地仓库创建Git远程仓库将本地文件推送到Git远程仓库
数据库环境搭建
通过数据库建表语句创建数据库表结构
登录功能 分析代码特点
后端的初始工程中已经实现了登录功能直接进行前后端联调测试即可
Builder注解的作用
lombok提供的注解给类提供了builder()链式构建对象方式EmployeeVO.builder().id(employee.getId()).build();
Slf4j注解的作用
lombok提供的注解用于输出日志打印信息完整包含时间、所在类完整名等log.info(“输出info日志”);log.error(“输出error错误日志”);
使用的是什么会话技术
session
Nginx反向代理和负载均衡
Nginx反向代理就是将前端发送的动态请求由nginx转发到后端服务器反向代理的好处
提高访问速度进行负载均衡保证后端服务安全
所谓负载均衡就是把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器nginx反向代理的配置方式nginx负载均衡的配置方式nginx负载均衡策略默认是轮询方式使用weight方式需要在每个server 192.168.100.***:8080 加上weight 数字使用剩下4个策略需要在server上面加载ip_hash;即可
会话跟踪技术方案
跨域跨域区分三个维度协议、IP/域名、端口
JWT介绍
全称JSON Web Token官网https://jwt.io/介绍定义了一种简洁的、自包含的格式用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在这些信息是可靠的组成
第一部分Header(头)记录令牌类型、签名算法等第二部分Payload(有效载荷)携带一些自定义信息、默认信息等第三部分Signature(签名)放置Token被篡改确保安全性。将header、payload并加入指定密钥通过指定签名算法计算而来
场景登录验证
登录成功后生成令牌并返回给前端后续每个请求都要携带JWT令牌系统在每次请求处理之前先校验令牌通过后再处理 JWT生成测试 JWT校验测试
注意事项
jwt校验时使用的签名密钥必须和生成jwt令牌时使用的密钥是配套的如果jwt令牌解析校验时报错则说明jwt令牌被篡改或失效了令牌非法
应用jwt令牌登录和校验
生成jwt校验jwt
密码加密
问题员工表中的密码是明文存储安全性太低方法使用MD5加密方式对明文密码加密
导入接口文档 前后端开发流程 操作步骤
使用YApi
Swagger 介绍
使用Swagger你只需要按照它的规范去定义接口及接口相关信息就可以做到生成接口文档以及在线接口调试页面官网https://swagger.io/Knife4是为Java MVC框架集成Swagger生成Api文档的增强解决方案
使用方式
导入knife4的maven坐标在配置类中加入knife4相关配置设置静态资源映射否则接口文档页面无法访问
接口文档访问路径为localhost:8080/doc.html问题通过Swagger就可以生成接口文档那么就不需要YApi了
YApi是设计阶段使用的工具管理和维护接口Swagger是在开发阶段使用的框架帮助后端开发人员做后端的接口测试
常用注解
通过注解可以控制生成的接口文档使接口文档拥有更好的可读性常见注解如下