美文网首页
学习笔记171010

学习笔记171010

作者: 一路逆风i | 来源:发表于2017-10-10 10:59 被阅读0次

MySQL规约

建表

表名使用“[project或功能模块] 下划线 [实体类] 下划线 [从属信息等]”的形式进行命名,每个单词间都需要用下划线进行分割

所有字段必须有注释,枚举值类型更要说明每个数值代表的具体含义

自增主键的设置

1.无特殊需求时,主键名使用id

2.不允许为空并设为主键

3.设置自增

SQL

count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行

不得使用外键与级联,一切外键概念必须在应用层解决

性能

sql执行大于300ms的需要进行优化

ORM

数据更新时,不要更新无改动的字段,一是易出错;二是效率低;三是增加 binlog 存储

敏感信息展示

后端返回18766289569前端处理后显示187****9569

参数有效性验证

用户请求传入的任何参数必须做有效性验证  忽略参数校验可能导致:

例如:page size 过大导致内存溢出

SQL 注入


防XSS安全开发规范

所有暴露给前台的接口,都需要对参数进行校验:

对非字符串参数必须有数据类型校验。

字符串参数必须有长度校验,同时使用框架提供的工具进行XSS过滤和html转义

用户身份校验相关的cookie,必须设置成httpOnly,从而禁止通过js代码操作cookie

防CSRF安全开发规范

后端filter中统一校验前端请求的Referer值,来自非本网站域名的请求禁止访问(暴露给第三方的接口除外)

系统关键服务(涉及金钱操作或授权操作)需要进行token校验

防文件上传攻击安全开发规范:

必须有文件类型白名单校验(黑名单校验是不够的)

必须有文件大小的校验

必须有对文件名%00截断符的校验

上传文件在服务器端必须重命名后保存

文件保存路径不允许通过传入参数指定,必须保存在以下两个目录之一:

/data/TRS/nas/files/protect (保存敏感文件,nginx不可达)

/data/TRS/nas/files/public(保存公共文件,nginx可访问)

分层规约

controller职责描述

搜集参数

简单的参数验证

处理服务级别业务并调用service层

转发或重定向结果集

service职责描述

业务逻辑的实现

dao层的调用

处理事务

dao职责描述

数据库操作的实现

service/dao 层方法命名规约

获取单个对象的方法用 get 做前缀。

获取多个对象的方法用 list 做前缀。

获取统计值的方法用 count 做前缀。

插入的方法用save做前缀。

删除的方法用remove做前缀。

修改的方法用update做前缀。

OOP

在spring的环境中,bean中不要声明类属性,单例模式下会产生数据污染。

字符串处理、长度校验、时间处理等方法都有工具类,时刻想到先查找相关技能章节或询问开发导师是否有工具类后,再去自己造轮子。

避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可

所有的覆写方法,必须加@Override 注解。

反例:getObject()与 get0bject()的问题。

一个是字母的 O,一个是数字的 0,

加@Override 可以准确判断是否覆盖成功。

另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。

不能使用过时的类或方法。

说明:例如java.net.URLDecoder 中的方法 decode(String encodeStr) 这个方法已经过时,应 该使用双参数 decode(String source, String encode)。接口提供方既然明确是过时接口, 那么有义务同时提供新的接口;作为调用方来说,有义务去考证过时方法的新实现是什么。

所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。

相关文章

  • 学习笔记171010

    MySQL规约 建表 表名使用“[project或功能模块] 下划线 [实体类] 下划线 [从属信息等]”的形式进...

  • 记录成长09

    171010 金宝贝环球课堂之俄罗斯

  • 171010

    许久未画了……

  • 171010

    今天的天气差极了,都受不了。太冷了!大学生活已经过了好长时间了,与同学们相处的还不错⊙⊙!每天的课上的也很有意思,...

  • 171010

    昨天漏了,今天我补上 上午把外卖模板的一些代码重新优化,对于代码,一定要有追求。 改bug 的时候,想想这么多if...

  • 矛盾(171010)

    十一国庆对离家在外工作的人来说是一个宝贵的节日,一年之中也仅有春节能与之相比了。 一部分人对于十一假期的计划是出去...

  • 自我觉察日记171010

    每天的教练约谈中听到最多的一个词就是快乐:做教练让自己和他人快乐,希望自己每天都带着快乐的心态面对生活和工作。还有...

  • 171010~经济法笔记1~民事行为

    收获及感悟 1.法律渊源 只需理解 地方性法规 应为地方性法律 ;权利机关高于行政机关 即可。 2.民事法律行为 ...

  • MARKDOWN学习笔记

    标题 # MARKDOWN学习笔记 MARKDOWN学习笔记 MARKDOWN学习笔记- MARKDOWN学习笔记...

  • 171010《何为智能语音技术》

网友评论

      本文标题:学习笔记171010

      本文链接:https://www.haomeiwen.com/subject/tromyxtx.html