20180420小笔记

一 如何从需求到编码 :1 数据流 2 业务逻辑 3 前端显示

1 数据流:数据流就是整个需求中的数据收集、处理、保存,一般这个需要设计好的数据库表的结构(例如:attribute表)

2 业务逻辑就是实际的代码的逻辑,如何处理数据了。

3 显示:只关心后台传过来了什么数据,怎么显示就不关系到逻辑了。

4 如果在需求到编码实现中的逻辑特别复杂,先尝试简化数据库表,然后简化后端逻辑,最后简化前端逻辑,前端和后端最好不要有任何的业务关联,之间的唯一关联就是数据。


二 rdbc结构的权限设计

1 用户---岗位---角色---权限

    |           |         |

部门     部门     部门

用户分配岗位,岗位分配角色,角色分配权限。

2 表结构  user---role---permission

其中的岗位和角色都是role,role可以包含role。只不过岗位对应的部门是实体部门,角色对应的是虚拟部门(仅仅用来给角色分类)。

3 在选择岗位的时候:一般情况下是

(1)departId 找到所有部门下的岗位

(2)根据optionalRole(默认岗位)+perms(业务规则)过滤

4 pageoffice审阅者姓名的问题:

(1)pageOffice打开正文,有修订痕迹,鼠标移上去没有审阅者
(2)百度得知word的选项中的悬浮的设置
(3)审阅者的姓名:word中有设置登录名的地方

5 IE模态框口F12调试,只能是把url拷出来然后打开新的窗口。

6  在select列表项中出现的列必须全部出现在group by后面(聚合函数除外),聚合函数并不会对结果有所筛选,只是起到了计算的作用。

row_number() over()去重,over()里头的分组以及排序的执行晚于 where group by  order by 的执行。

partition by 用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,它和聚合函数不同的地方在于它能够返回一个分组中的多条记录,而聚合函数一般只有一个反映统计值的记录。

8 chrome中,在关闭窗口前弹出一个窗口。怎么都弹不出窗口,后来去掉关闭窗口直接打开窗口,然后发现是chrome阻止了窗口弹出。


N 其他

1 在使用window对象的时候,如果是在iframe、frame中使用,注意window对象表示的是哪一个框架。

2 safari打开pdf只能看到一页,原因是ios8以后就只能这样,用pdf.js打开

猜你喜欢

转载自blog.csdn.net/wx19950101/article/details/80018219