当前位置:网站首页>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
边栏推荐
- aTrust项目的相关操作与分享
- typescript ‘props‘ is declared but its value is never read 解决办法
- Dataset: A detailed guide to the download link collection of commonly used datasets in machine learning
- npm does not recognize the "npm" item as the name of a cmdlet, function, script file, or runnable program.Please check the spelling of the name, and if the path is included, make sure the path is corr
- 推出 Space On-Premises (本地部署版) Beta 版!
- MySql COUNT statistics function explanation
- MySQL高级SQL语句
- request.getSession(),的故事
- MySQL Advanced Statements (1)
- Understand C operators in one article
猜你喜欢

Leetcode周赛304

zabbix auto-discovery and auto-registration

MarkDown Formula Instruction Manual

Ant three sides: MQ message loss, duplication, backlog problem, what are the solutions?

MySQL索引常见面试题(2022版)

SphereEx苗立尧:云原生架构下的Database Mesh研发实践

npm 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

Technology empowers Lhasa's "lungs", Huawei helps Lalu Wetland Smart Management to protect lucid waters and lush mountains

专家见解|经济低迷期把握创新机会的 3 大方法

mysql高阶语句(一)
随机推荐
有人开源全凭“为爱发电”,有人却用开源“搞到了钱”
typescript 'props' is declared but its value is never read solution
The stock price has repeatedly hit new lows, and the real estate SaaS giant is in trouble. How should Mingyuan Cloud transform and save itself?
npm does not recognize the "npm" item as the name of a cmdlet, function, script file, or runnable program.Please check the spelling of the name, and if the path is included, make sure the path is corr
.NET Static Code Weaving - Rougamo Release 1.1.0
Vscode连接远程服务器出现‘Acquiring lock on/home/~’问题
MySQL(3)
MySQL high-level --- storage engine, index, lock
MySQL联合查询(多表查询)
Dataset: A detailed guide to the download link collection of commonly used datasets in machine learning
Node installation and configuration of environment variables
项目开发规范
At age 94, pioneer Turing award winner, computational complexity theory, Juris Hartmanis, died
HCIP 第四天
zabbix email alarm and WeChat alarm
Understand C operators in one article
振兴农村循环经济 和数链串起农业“生态链”
享年94岁,图灵奖得主、计算复杂性理论先驱Juris Hartmanis逝世
MySQL database video tutorial from beginner to proficient
MySQL高阶---存储引擎、索引、锁