当前位置:网站首页>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
边栏推荐
- Nacos installation detailed process
- chrome plugin development guide
- 有人开源全凭“为爱发电”,有人却用开源“搞到了钱”
- Py's mlxtend: a detailed guide to the introduction, installation, and usage of the mlxtend library
- Nacos客户端启动出现9848端口错误分析(非版本升级问题)
- Kingdee International: Lost in half a year and last year, how does the business model of frantically burning money continue
- typescript ‘props‘ is declared but its value is never read 解决办法
- MySQL Advanced SQL Statements (2)
- request.getSession(), the story
- Xgboost报错 ValueError: Invalid shape: (1650, 2) for label
猜你喜欢
[Cartoon] 2021 full score programmer behavior comparison table (latest version)
MySql 5.7.38 download and installation tutorial, and realize the operation of MySql in Navicat
Xgboost报错ValueError:无效的形状:标签(1650 2)
node安装和配置(node-v12.20.2-x64 ) 以及node版本切换介绍
MySQL高级SQL语句
MySQL高阶---存储引擎、索引、锁
Not annotated parameter overrides @NonNullApi parameter
SphereEx苗立尧:云原生架构下的Database Mesh研发实践
MySQL高级SQL语句(二)
DNS resolution process
随机推荐
Reverse resolve dns server
Nacos installation detailed process
Toolbox App 1.25 New Features at a Glance | Version Update
MySQL Advanced Study Notes
Vscode连接远程服务器出现‘Acquiring lock on/home/~’问题
mysql索引失效的常见9种原因详解
At age 94, pioneer Turing award winner, computational complexity theory, Juris Hartmanis, died
HCIP 第四天
项目开发规范
Ue after video tutorial first
DNS resolution process
How to install the specified version package with NPM and view the version number
两篇不错的php debug教程
2022年8月计划,着重ue4视频教程
pointer arithmetic in c language
love
HCIP 第三天实验
[Cartoon] 2021 full score programmer behavior comparison table (latest version)
punch day05
npm 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。