当前位置:网站首页>Project development specification
Project development specification
2022-08-02 07:17:00 【chenlu4ever】
Table of Contents
I. Recommendations for creating table statements
There are always many processes in large companies, record the various specifications (pits) encountered~
Processes in the project
- Requirement review - user story, need to hold requirement review meeting
- Use case review meeting is required after writing test cases
- Submit code needs to bring user story or defect ID to achieve traceability of submitted code
- Code submission requires review
- Write unit tests and pay attention to code coverage
- The release needs to be signed,
SQL Script Specification
I. Recommendations for building a table statement
- The primary key is an auto-incrementing bigint type, preferably the table name _ID or ID
- Keywords are not allowed for attributes
- It must be created by (meaningful user name), created time, modified by, modified time
- crated_time detetime not null default current_timestamp comment 'creation time';
- crated_by varchar(100) not null default comment 'Created by';
Security Issue
One, race condition concurrency
Description: However, high concurrent threads are used to bypass registration restrictions and register a large number of users with the same name.
Solution:
(1) Controlled by the use of locks in the program;
(2) Cooperative control with transactions and locks in the database
(3) Set a higher isolation level for transactions in the database
The above three have pros and cons
Second, file upload verification
Description: The following checks must be added
1. FileUploaded directory permissions are set to non-executable
2. file file extension is judged using a whitelist mechanism
3. Maximum file limit
4. The file name cannot contain / and spaces
6. Userewrite the file name and file path with random numbers
Uuid + timestamp is usually used to rename, the relationship between file location and uploader, just write it into the database
边栏推荐
- [Cartoon] 2021 full score programmer behavior comparison table (latest version)
- 蚂蚁三面:MQ 消息丢失、重复、积压问题,有哪些解决方案?
- 能与观众实时互动的Claper
- MySQL高级-MVCC(超详细整理)
- Nacos注册中心的部署与用法详细介绍
- 一文搞懂C操作符
- Analysis of port 9848 error at startup of Nacos client (non-version upgrade problem)
- The nacos source code can not find the istio package
- APP专项测试:流量测试
- Go inside the basic knowledge
猜你喜欢
MySQL driver jar package download -- nanny tutorial
Go inside the basic knowledge
MySQL classic 50 practice questions and the most detailed analysis of the whole network
The nacos source code can not find the istio package
Node installation and configuration (node-v12.20.2-x64 ) and introduction to node version switching
ASP.NET Core Web API 幂等性
zabbix auto-discovery and auto-registration
chrome plugin development guide
Practice on optimizing startup performance of VS Code
Nacos installation configuration and single-machine deployment tutorial
随机推荐
MarkDown公式指导手册
npm、cnpm的安装
有点奇怪!访问目的网址,主机能容器却不行
宝塔+FastAdmin 404 Not Found
Technology empowers Lhasa's "lungs", Huawei helps Lalu Wetland Smart Management to protect lucid waters and lush mountains
Ant three sides: MQ message loss, duplication, backlog problem, what are the solutions?
chrome plugin development guide
NPM ---- 安装yarn
.NET静态代码织入——肉夹馍(Rougamo) 发布1.1.0
odoo field 设置匿名函数domain
MySQL 5.7 installation tutorial (full-step, nanny-level tutorial)
APT + Transform 实现多模块应用Application生命周期分发
node安装和配置(node-v12.20.2-x64 ) 以及node版本切换介绍
HCIP BGP Comprehensive Experiment Establishing peers, route reflectors, federation, route announcement and aggregation
Leetcode周赛304
Detailed explanation of 9 common reasons for MySQL index failure
APT + Transform to realize multi module Application distributed Application life cycle
蚂蚁三面:MQ 消息丢失、重复、积压问题,有哪些解决方案?
BGP+MPLS Comprehensive Experiment
Dataset:机器学习中常用数据集下载链接集合之详细攻略