Java短视频小程序开发全栈式实战项目
---------------------
下栽地止:https://www.itwangzi.cn/2537.html
---------------------
1.从编写 README 开始
一个好的README给出了项目的概况,可以让新人快速上手项目,减少沟通成本。建议包括:
项目介绍
一两句话描述项目实现的业务功能
技术选型
项目的技术栈,包括语言、框架、中间件等。
本地构建
列出本地开发过程中使用的工具命令
领域模型
核心领域概念,特定于当前系统所在的领域
测试策略
自动化测试如何分类
技术架构
技术架构图
部署架构
部署架构图
外部依赖
来自项目运行时的外部集成方法
环境信息
各环境访问方式、数据库连接
编码练习
统一编码规范,如异常处理原则、分页封装等。
常问问题
开发过程中常见问题解答
注意保持README不断更新。一些重要的架构决策可以以示例代码的形式记录在代码块中。新开发者可以通过直接阅读这些示例代码,快速了解项目的一般做法和架构选择。
2.一键本地构建
编写所需的脚本来自动完成本地构建的过程
run.sh 用于本地调试或必要的手动测试
local-build.sh,完成本地构建
3、日志处理
将请求标识符添加到日志中,以方便链接跟踪。在处理一个请求的过程中,有时会输出多条日志。如果每条日志共享一个统一的request ID,那么日志跟踪会更方便。此时可以使用Logback原生提供的MDC(Mapped Diagnostic Context)功能创建一个RequestIdMdcFilter
关于注销
用户携带token请求注销接口,注销接口删除token对应的缓存,返回401,客户端获取到401后跳转到登录页面。
关于匿名请求(免登录)
通常,匿名请求发布有两种选择:
授权token,设置token在单位时间内的请求次数
配置路径释放规则,对请求接口路径进行正则匹配,满足正则规则的释放
方案一:授权token,限制单位时间内的请求次数
优点是虽然是免登录界面,但界面操作对象可追溯,请求次数可控,避免非法使用;缺点是需要更多的编码和配置工作。
技术实现:
提供授权token管理页面,主要管理token用户、token值、单位时间内访问次数(比如每分钟60次)
增删改查,将授权token存放在缓存中,使用map进行存储,key为token,value为每分钟访问次数
单位时间计数缓存,过期时间为1分钟