【武大遥感空信】信息系统集成与管理课程实习(任务二)

目录

1. 实验概述

1.1. 实验代号

1.2. 实验目的

2. 实验准备

2.1. 实验要求

2.2. 环境搭建

2.2.1. 系统环境

2.2.2. Edge 浏览器

2.2.3. Nodejs

2.2.4. MySQL

2.2.5. Curl

2.2.6. Python

2.3. 数据准备

3. 实验内容

3.1. 后端服务器设计

3.1.1. 项目总体框架

3.1.2. Nodemon 自启动工具

3.1.3. Express 框架

3.1.4. 连接数据库

3.1.5. API 设计

① POST /items

② GET /items

③ GET /item/:studentId

④ PUT /item/:studentId

⑤ DELETE /item/:studentId

3.1.6. API测试

① 添加记录

② 查询所有记录

③ 查询单条记录

④ 修改记录

⑤ 删除记录

3.2. 前端网页设计

3.2.1. 页面模板引擎 EJS 和 CORS 中间件

3.2.2. 公共资源模块 public

3.2.3. Home 页面

3.2.4. About 页面

3.2.5. Form 页面

3.2.6. List 页面

3.2.7. Detail 页面

3.3. App客户端设计

3.3.1. Python 读取命令行参数

3.3.2. Python 程序打包

3.3.3. 查看帮助 App -h

3.3.4. 查看记录列表 App -l

3.3.5. 添加记录 App -a

3.3.6. 修改记录 App -u

3.3.7. 删除记录 App -d

4. 实验分析

5. 实验心得


1. 实验概述

本实验相关代码已上传至 GitHub 仓库:AaronChou313/dace_ISIMP: Task 2 for Infomation System Integration and Management Practice of School of Remote Sensing, Wuhan University.

1.1. 实验代号

本次实验代号为dace。

1.2. 实验目的

本实验考察本实验考察我们对Web Service理论掌握的情况,通过⼀个具体的Web应⽤的前后端编写,实现相应的REST⻛格Web API,服务于前端网页、以及各种API调⽤。通过该实验过程,我们可以了解REST架构⻛格的特点、集合类资源的Web API设计⽅式、以JSON为格式的表述⽅法,从⽽加深对Web Service理论的理解。

2. 实验准备

2.1. 实验要求

  1. 编写网页前端,实现对人员信息的基本采集,包括姓名、学号、邮箱、手机号码、个人兴趣,共5项内容。其中,对学号、邮箱、手机号码应采取正则匹配验证,对姓名、个人兴趣采取字符长度限制,姓名不超过8个中文字符,个人兴趣不超过32个中文字符。
  2. 网页端页面流转逻辑参照课堂上所讲的YOUTYPEITWEPOSTIT网站逻辑,即基本设计为home、about、form、list、detail五个页面。
  3. 编写客户端App代码,以独立应用程序的方式完成相应功能。

2.2. 环境搭建

2.2.1. 系统环境

本次实验所使用的操作系统为windows 11家庭版。

2.2.2. Edge 浏览器

本次实验前端测试部分使用的浏览器为微软Edge浏览器。

2.2.3. Nodejs

服务端开发工具:Node.js+Express框架

Node版本:v22.11.0

Npm版本:10.9.0

Node.js下载及安装配置很简单,下载安装包、选择目标安装目录,点击安装即可。

访问nodejs官网,下载安装包(LTS意为long time support,即长期支持版)。

下载好后,双击启动安装包进行安装即可。

安装完成后,需要设置相应的环境变量。一般node安装过程会自动设置,如未自动设置,可手动在系统搜索栏搜索“环境变量”,选择“编辑系统环境变量”,在系统变量中添加“NODE_HOME”,值为nodejs安装目录路径,然后在系统变量的Path变量中添加

%NODE_HOME%

%NODE_HOME%\node_global

%NODE_HOME%\node_cache

三行路径值,最后点击确定,即设置成功。

启动cmd,输入node -v和npm -v,出现相关版本信息,即为安装成功。

2.2.4. MySQL

数据库:MySQL

版本:8.0.27

安装包为课程FTP服务器中提供的msi文件,具体安装流程参考经验帖:https://blog.youkuaiyun.com/m0_71422677/article/details/136007088。

安装完成后启动MySQL提供的Command Line Client,输入root账号的密码后可进入服务器控制台,可以看见相关版本信息,即为安装成功。

2.2.5. Curl

接口测试工具:curl

版本:8.9.1

由于curl是在理论课的一次课堂实践上安装的,故安装过程此处不过多赘述,详细过程可以参考经验帖:https://blog.youkuaiyun.com/hadues/article/details/101788327

2.2.6. Python

App编写语言:Python

版本:3.12.7

环境框架:miniConda

Conda是一款十分成熟且便捷的python环境管理工具,相较于其完整版本AnaConda,我们可以选择体量较小更为轻量化的MiniConda进行环境配置。

访问anaconda下载页,往下滑找到miniConda下载选项,下载对应安装包。

下载好安装包后,跟随安装向导完成安装即可。

安装好miniConda,进入其提供的Anaconda Prompt控制台,输入conda create -n dace python=3.12新建一个虚拟环境dace,指定python版本为3.12。

新建环境完成后,输入 conda activate dace 进入对应环境,然后输入 python --version 检查 python 版本,显示 3.12.7,至此 python 环境设置完成。

2.3. 数据准备

本次实验不提供基本数据,需要我们自行编写服务端的数据采集api接口后,在前端和App客户端进行测试。

3. 实验内容

3.1. 后端服务器设计

本实验后端服务器基于 node.js + express 框架搭建,并严格按照 RESTful 的原则设计 api 接口。

3.1.1. 项目总体框架

内容概要:本文详细介绍了“秒杀商城”微服务架构的设计实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aaron_Chou313

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值