day01——项目导入+环境搭建

news2024/11/25 12:37:36

目录

软件开发整体介绍

软件开发流程

需求分析

 设计阶段

编码阶段

测试阶段

上线运维

角色分工

软件环境 

苍穹外卖项目介绍

项目介绍

功能架构

产品原型 

​编辑

技术选型

 开发环境搭建——前端环境搭建

 开发环境搭建——后端环境搭建

熟悉项目结构

​编辑

 使用Git进行版本控制

流程:

​编辑

 数据库环境搭建

 前后端联调

nginx反向代理和负债均衡

完善登陆功能——密码加密

导入接口文档

前后端分离开发流程

 Swagger

介绍

使用方式

Swagger常用注解 

使用git bash推送项目代码(也可以idea推送)


软件开发整体介绍

软件开发流程

需求分析

这个过程主要产生两个文档,需求规格说明书,产品原型。

 设计阶段

 包括UI设计,数据库设计,接口设计

UI设计小到一个按钮,大到整个布局都要完成。

数据库设计要将整个项目的数据库结构和字段设计完全。

接口设计要设计请求路径,请求参数,请求方法会返回数据等信息

编码阶段

编写项目代码,还要进行单元测试

测试阶段

编写测试用例生成测试报告

上线运维

软件环境安装,配置

角色分工

软件环境 

苍穹外卖项目介绍

项目介绍

功能架构

产品原型 

有管理端和用户端的页面原型,具体原型看的资料里面都有

技术选型

 开发环境搭建——前端环境搭建

将提供的nginx文件放到没有中文的目录下运行即可

 然后在浏览器中输入http://localhost即可,如果出现的一下页面,则说明被IIS服务占用了这个端口 

在任务管理器中找到80端口对应的进程ID直接杀掉这个system进程......系统进程好像杀不掉,只能去卸载IIS服务了。 

 又或者还有另一个解决方案,改项目端口

在提供的nginx项目文件中修改nginx.conf配置文件的80为90即可 

输入http://localhost:90/ 访问成功显示

 开发环境搭建——后端环境搭建

熟悉项目结构

在提供的资料里面已经有一个初始工程,这里有三个子模块,父工程则聚合了三个子模块。

 

contant: 常量类              context: 上下文        enumeration:枚举类

exception: 自定义的异常类   json: 处理json转换的类    properties: 配置文件属性类 

 result: 后端返回结果,result风格       utils:工具类

 

 

 使用Git进行版本控制

流程:

 将提供的项目导入IDEA中之后看到.gitignore文件可以看见一些不需要交给git管理的文件

 点击VCS创建git仓库

选择当前项目根目录作为仓库创建,创建完成之后就可以看见出现了一些图标。

 点击里面的提交并选择所有的文件并备注。

 点击提交到本地仓库

在gitee上点击创建一个仓库 

然后复制仓库地址后在idea中点击推送,先进行仓库关联

然后直接推送即可 

 数据库环境搭建

用准备好的sql语句直接创建即可,一共有11个表。 

 前后端联调

在提供好的代码里面已经实现了登录功能????可以直接改改数据库密码然后进行前后端联调测试

nginx反向代理和负债均衡

 前端发出的请求并不是后端接口的地址,而是被nginx服务器转发到了后端接口上。

多次请求同一个服务时可以不用多次去请求后端服务,而是在nginx中直接到缓存数据响应给前端,以此提高访问速度。

 nginx反向代理和负债均衡_配置方式

在nginx.conf中进行配置,也可以单独写一份导入nginx.conf中 

在下面这个里面就是监听的80端口,和localhost这个ip,只要地址中含有/api/就会自动转发到设定好的路径下

负载均衡和请求转发大同小异,只是多了些后端服务器,

下面就是设置有两个后端,需要按照算法转发到不同的后端,webservers只要和下面的保持一致即可,webservers代指设定的多条后端url.

 不指定算法的话就是轮询。

 Nginx简介和快速入门_北岭山脚鼠鼠的博客-CSDN博客

完善登陆功能——密码加密

在已经提供的代码里面,密码用的明文存储,安全性低,工作中这么做可以会被打。

这个加密也是一个单向过程,无法通过密文算出明文。

MD5加密使用spring框架提供的工具类)——DigestUtils

 在服务层的密码比对那里加上一条如下语句即可,md5转换

        password=DigestUtils.md5DigestAsHex(password.getBytes());

导入接口文档

接口设计需要多次讨论才能确定,确定好后就可以前后端并行开发了。

前后端分离开发流程

将准备好的接口文件导入YApi平台。 

在yapi里面创建两个项目后点数据管理将json文件导入项目。

 Swagger

介绍

使用方式

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>3.0.2</version>
            </dependency>

加入IOC容器后会在项目运行时创建Bean对象,会执行一遍,扫描controller时会通过反射的生成对应的接口文档。 

 静态资源映射这里会根据设置的信息动态生成一个页面。

页面上的信息可以看见都是代码里面手动设置的信息,以及根据controller中的借口生成的接口文档

 在调试里面可以像postman一样发送请求到后端进行测试了,太强了!

 

Swagger常用注解 

在Controller类和里面的两个方法上加入一些注解  

重新启动项目可以看见有如下变化

使用git bash推送项目代码(也可以idea推送)

最后要记得更新git仓库。

使用下面命令看见已修改未提交的文件

git status

使用下面命令将其加入暂存区

git add .

 再次查看就都绿了

 使用下面命令提交到本地仓库

git commit -m "day01"

 使用下面命令提交到远程仓库

git push

 

然后在云端可以看见项目代码更新了

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/753999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

入门开发教程之网站品质教程

目录 网站品质 教程 网站品质教程 背景 要素 可访问性 可用性 可靠性 可维护性 提升网站品质 针对性调整 优化网页速度 提供多种访问方法 结论 网站品质教程 背景 在今天这个数字化时代&#xff0c;网站已经成为了各个行业展示产品和服务的重要媒介。而网站品质是…

百分点科技苏萌受邀出席首届全国统计与数据科学联合会议

7月11-13日&#xff0c;首届全国统计与数据科学联合会议在北京举行&#xff0c;会议由中国现场统计研究会、中国数学会概率统计分 会、全国工业统计学教学研究会和中国商业统计学会联合主办&#xff0c;北京大学统计科学中心承办&#xff0c;旨在促进统计与数据科学领域发展&a…

H3C-Cloud Lab实验-IPv6实验

实验拓扑图&#xff1a; 实验需求&#xff1a; 1、在R1和PC3上开启IPv6链路本地地址自动生成&#xff0c;测试是否能够使用链路本地地址互通 2、为R1配置全球单播地址2001::1/64&#xff0c;使PC3能够自动生成与R1同一网段的IPv6地址3、测试R1和PC3是否能够使用全球单播地址互…

【UE4 塔防游戏系列】05-制作可跟踪旋转的炮塔

目录 效果 步骤 一、设置游戏观察视角 二、设置PlayerController 三、制作可跟踪旋转的炮塔 效果 步骤 一、设置游戏观察视角 在视口中调整好位置&#xff0c;能够看到敌人行走的全部路线即可。然后在此处创建CameraActor 打开关卡蓝图&#xff0c;设置使用这个相机的…

【Kaggle】初学者几个冷门的操作总结

文章目录 一、如何看当前的目录&#xff1f;二、Kaggle如何切换路径&#xff1f;三、与包安装或设置有关的错误四、如何把 Kaggle 上的 input 数据转到 output 中&#xff1f; 一、如何看当前的目录&#xff1f; 在 Linux 中&#xff0c;你可以使用 pwd 命令来查看当前所在的目…

UML与SYSML的关系

UML与SysML的联系 UML&#xff08;统一建模语言&#xff09;和SysML&#xff08;系统建模语言&#xff09;是两种与建模相关的语言&#xff0c;它们之间存在联系和区别。 SysML的图分类如下图所示。 联系 SysML是基于UML的&#xff0c;它重用了UML 2的子集&#xff0c;并提…

MySQL持久化数据——主从分离 Linux下创建2个MySQL的Docker容器 挂载方式启动 配置主从

目录 引出数据库的事务1.原子性2.一致性3.隔离性4.持久性 MySQL持久化数据0.在宿主机centos创建主的文件夹1.拷贝my.cnf配置文件2.挂载方式启动主mysql3.修改my.cnf文件的权限【bug】mysql: [ERROR] unknown variable server-id200. 3.修改主的my.cof文件4.创建主从账号slave5.…

Mysql索引实战

Mysql索引实战 一&#xff1a;概述1.1 索引如何提高查询效率&#xff1a; 二&#xff1a;结构2.1 主要索引结构2.2 详解BTree2.2.1 二叉树2.2.2 红黑树2.2.3 B-Tree2.2.4 BTree2.2.5 为什么InnoDB存储引擎选择使用Btree索引结构&#xff1f; 三&#xff1a;索引分类3.1 按照作用…

使用fast测试的错误

错误&#xff1a;Connection refused: connect 分析&解决 检查服务的端口号和fast生成请求时的端口号是否一致&#xff0c;不一致会报上面的错误 分析&#xff1a;设置服务配置的方法很多&#xff0c;可以写在配置文件里&#xff0c;也可以写在命令行里&#xff0c;当有多…

windows nodejs 版本切换

一、按健winR弹出窗口&#xff0c;键盘输入cmd,然后敲回车。然后进入命令控制行窗口&#xff0c;并输入where node查看之前本地安装的node的路径。 二、找到上面找到的路径&#xff0c;将node.exe所在的父目录里面的所有东西都删除。 三、从官网下载安装包 https://github.com/…

轻量级性能测试工具 wrk 应该如何使用?

项目设计之初或者是项目快要结束的时候&#xff0c;大佬就会问我们&#xff0c;这个服务性能测试的结果是什么&#xff0c;QPS 可以达到多少&#xff0c;RPS 又能达到多少&#xff1f;接口性能可以满足未来生产环境的实际情况吗&#xff1f;有没有自己测试过自己接口的吞吐量&a…

MongoDB安装配置教程(详细版)

前言&#xff1a;MongoDB是前端开发人员普遍使用的数据库&#xff0c;因为MongoDB不需要图形界面&#xff0c;是一个基于分布式文件存储的开源数据库系统。MongoDB 将数据存储为一个文档&#xff0c;数据结构由键值对(key>value)组成&#xff1b;MongoDB 文档类似于 JSON 对…

Flutter:自定义错误显示

为什么要自定义错误处理 以下面数组越界的错误为例&#xff1a; class _YcHomeBodyState extends State<YcHomeBody> {List<String> list [苹果, 香蕉];overrideWidget build(BuildContext context) {return Center(child: Column(children: [Text(list[0]),Tex…

小区物业管理信息系统设计与实现(论文+源码)

小区物业管理信息系统设计与实现(论文源码) 本篇 论文源码私我 以上内容只是精简版 还有很多原创类型论文 摘 要 随着互联网的发展&#xff0c;网络技术的发展变得极其重要&#xff0c;所以依靠计算机处理业务成为了一种社会普遍的现状。管理方式也自然而然的向着现代化技术方…

python_day8_timeline

带时间线的柱状图 导包 from pyecharts.charts import Bar, Timeline from pyecharts.options import * from pyecharts.globals import *创建柱状图1 bar1 Bar() bar1.add_xaxis([中国, USA, 不列颠]) bar1.add_yaxis(GDP, [30, 20, 10],label_optsLabelOpts(position&quo…

【Linux详解】——文件系统(磁盘结构、软硬链接、动静态库)

&#x1f4d6; 前言&#xff1a;本期介绍文件系统。 目录 &#x1f552; 1. 磁盘结构&#x1f558; 1.1 物理结构&#x1f558; 1.2 存储结构&#x1f558; 1.3 逻辑结构 &#x1f552; 2. 文件系统&#x1f558; 2.1 对 IO 单位的优化&#x1f558; 2.2 磁盘分区与分组&#x…

一套电子病历系统源码(EMR)

EMR电子病历系统源码 电子病历系统面向门诊医生和病房临床医生&#xff0c;实现了医生日常阅读、书写病历和医院管理病历的需求&#xff0c;它包括知识库管理、病历模版制作、医生书写病历、开各种检查检验申请单、查询各种报告单、电子病历浏览、病历质量控制等功能。 它将病…

JMeter基础 — JMeter聚合报告详解

提示&#xff1a;聚合报告组件的使用和察看结果树组件的使用方式相同。本篇文章主要是详细的介绍一下聚合报告组件内容&#xff0c;不做示例演示。 1、聚合报告介绍 在使用JMeter进行性能测试时&#xff0c;聚合报告(Aggregate Report)可以说是必用的监听器。 &#xff08;1&…

【微信小程序创作之路】- 小程序窗口整体配置(导航栏、标题)

【微信小程序创作之路】- 小程序窗口导航栏配置 第五章 微信小程序窗口导航栏配置 文章目录 【微信小程序创作之路】- 小程序窗口导航栏配置前言一、入口文件的配置二、页面配置三、全局默认窗口配置1.navigationBarTitleText&#xff1a;导航栏标题文字2.navigationBarBackgr…

基于ChatGPT上线《你说我猜》小游戏

摘要 AIGC、GPT、休闲小游戏三者可以怎么结合&#xff1f; AIGC、GPT与小游戏的结合为游戏体验带来了新的可能性。AIGC&#xff08;Artificial Intelligence Game Content&#xff09;作为一种人工智能技术&#xff0c;可以自动生成任务、剧情和角色对话等游戏元素&#xff0c…