关系模型

角色权限设计的100种解法

落花浮王杯 提交于 2019-11-28 04:49:20
角色权限设计的100种解法 From: 蒋蕊遥 网易UEDC 2018-08-06 ✨ 一、令人头疼的权限设计 设计师在进行设计时,常常会抽象出对产品有诉求的多个角色,再依据角色的特性去梳理使用场景并设计。 当角色之间的使用场景不冲突,不需要隔离时,我们会综合考虑这些角色的使用场景来设计解决方案:比如网易云音乐同时为需要听歌和听电台的用户提供所有的功能; 当这些角色的使用场景完全不重叠、流程对立时,我们会设计完全独立的两套系统,如滴滴的司机端和乘客端; 但除了以上两种情况,在大多数B端产品中,基于流程公正性、信息安全性等因素考虑,各个角色的使用场景是部分通用,部分隔离的,这时候就需要引入“权限系统”了。 设计师有时会对角色权限系统有一丝畏难情绪。一方面因为角色权限系统的配置作为一个非常后台的管理功能,在竞品调研过程中很难通过上帝视角去解剖其中逻辑,自己琢磨又较难透彻;另一方面对于角色权限系统,做好了并不能代表设计能力有多优秀,但一旦没做好就会导致整个流程不通、产品崩溃。所以设计师常对权限系统望而却步。 以下就笔者的几次权限设计经历,提供一些所谓的经验套路,希望各位设计师从此微笑迎接权限需求。 ✨ 二、基于技术模型进行设计-RBAC模型 进行设计前,最好能够理解技术模型。在业界接受度较高的功能权限模型是RBAC(Role-Based Access Control)模型,其基本理念是将

并发编程与高并发解决方案(一):并发编程相关基础知识

人走茶凉 提交于 2019-11-28 01:49:53
并发编程与高并发解决方案(一):并发编程相关基础知识 【原文链接】 www.ronglexie.top 目录 基本概念 CPU多级缓存 CPU多级缓存-缓存一致性协议(MESI) MESI协议中的状态 MESI状态转换图 CPU多级缓存-乱序执行优化 Java内存模型(JMM) JVM对Java内存模型的实现 硬件内存架构 Java内存模型和硬件架构之间的桥接 共享对象的可见性 竞争现象 支撑Java内存模型的基础原理 指令重排序 数据依赖性 as-if-serial语义 内存屏障(Memory Barrier) happens-before原则 Java内存模型中线程和主内存的抽象关系 Java内存模型中同步的操作与规则 同步操作 同步规则 并发的优势与风险 基本概念 并发(Concurrency):并发是指同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时”存在“的,每个线程都处理执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器上,因此可以同时运行。 高并发(High Concurrency):高并发是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 CPU多级缓存 CPU多级缓存配置(演变): 数据的读取和存储都经过高速缓存

【Django】ORM操作#1

江枫思渺然 提交于 2019-11-27 20:49:35
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的基石

【Django】ORM操作#1 -- 2019-08-17 06:19:12

别说谁变了你拦得住时间么 提交于 2019-11-27 14:38:36
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

【Django】ORM操作#1 -- 2019-08-17 06:11:59

时光毁灭记忆、已成空白 提交于 2019-11-27 14:37:59
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://blog.gqylpy.com/gqy/260 "@ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping

如何用Python做自动化特征工程!

℡╲_俬逩灬. 提交于 2019-11-27 12:59:15
机器学习的模型训练越来越自动化,但特征工程还是一个漫长的手动过程,依赖于专业的领域知识,直觉和数据处理。而特征选取恰恰是机器学习重要的先期步骤,虽然不如模型训练那样能产生直接可用的结果。本文作者将使用Python的featuretools库进行自动化特征工程的示例。 机器学习越来越多地从手动设计模型转变为使用H20,TPOT和auto-sklearn等工具来自动优化的渠道。这些库以及随机搜索等方法旨在通过查找数据集的最优模型来简化模型选择和转变机器学习的部分,几乎不需要人工干预。然而,特征工程几乎完全是人工,这无疑是机器学习管道中更有价值的方面。 特征工程也称为特征创建,是从现有数据构建新特征以训练机器学习模型的过程。这个步骤可能比实际应用的模型更重要,因为机器学习算法只从我们提供的数据中学习,然而创建与任务相关的特征绝对是至关重要的。 通常,特征工程是一个漫长的手动过程,依赖于专业的领域知识,直觉和数据处理。这个过程可能非常繁琐,而且最终的特征将受到人类主观性和时间的限制。自动化特征工程旨在通过从数据集中自动创建许多候选特征来帮助数据科学家,并从中可以选择最佳特征用于训练。 在本文中,我们将使用Python 的featuretools库进行自动化特征工程的示例。我们将使用示例数据集来演示基础知识。 Python资源共享群:484031800 _Engineering.ipynb

软件工程作业

烂漫一生 提交于 2019-11-27 09:15:26
软件工程作业1 (第1 ~4 章) 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。 A. 软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种( A )模型。 A. 线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是( B )。 A .用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求 4. 螺旋模型是一种将瀑布模型和( A )结合起来的软件开发模型。 A .增量模型 B.专家系统 C.喷泉模型 D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。 A .需求不确定性高的 B.需求确定的 C.管理信息 D.实时 6. 下列有关软件工程的标准,属于国际标准的是( D ) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于( D )的方法。 A. 数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次( A) 需求分析、设计过程。 A 、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是( D ) A 、分析开发系统的必要性 B、确定系统建设的方案 C 、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利

业务领域建模Domain Modeling

两盒软妹~` 提交于 2019-11-27 03:48:00
一、什么是业务领域建模 领域建模: 从领域模型开始,我们就开始了面向对象的分析和设计过程,可以说,领域模型是完成从需求分析到面向对象设计的一座桥梁。 顾名思义,就是显示最重要的业务概念和它们之间关系,是真实世界各个事物的表示(现实世界的可视化抽象字典)而不是软件中各构件的表示。领域模型是描述业务领域(业务实体)的静态结构。 理论派观点: Domain Model是一个商业建模范畴概念,即使一个企业不开发软件,也具备其业务模型; 所有同行企业,其业务模型必定有非常大的共性和内在的规律性。 由行业内的各个企业的业务模型再向上抽象出整个行业的业务模型,这个模型称之为“领域模型”。 领域模型是一种特殊的业务模型,它分析范围是整个行业,抽象出行业里共性和内在规律性的业务,比业务模型更加抽象,它不属于软件开发范畴的概念,与软件开发无关。 实战派观点: 领域模型是一个分析模型,帮助系统分析人员、用户认识现实业务的工具,描述的是业务中涉及到的实体及其相互之间的关系,它是需求分析的产物,与问题域相关。 是需求分析人员与用户交流的有力工具,是彼此交流的语言。 领域模型是一种分析模型,在软件开发过程分析阶段用于分析如何满足系统功能性需求,属于软件开发范畴,在UML中主要使用类图来描述领域模型。 业务模型是业务建模的输出物,业务建模研究的对象是公司或者组织,业务建模属于软件开发过程中的初始阶段。

关于数据仓库的自问

て烟熏妆下的殇ゞ 提交于 2019-11-27 02:58:59
1、为什么要建设数据仓库? 为了更快更好的响应业务上的分析需求。 1.1、数据仓库建设方法? 建设流程:梳理业务主题--》ER图(ER模型)--》逻辑建模(关系模型)。其中,数据仓库建设过程即ER图到关系模型的实现过程,数仓模型也属于关系模型中的一种,只是在此基础上需要考虑几个问题: 1)哪些维度对分析主题有用? 2)如何使用当前数据建设维表? 3)用什么指标度量主题? 4)如何使用当前数据建设事实表? 2、为什么要做元数据管理? 为了更好的管理不同层级数据表的属性,以及其间的关联关系、父子关系,以实现快速追溯、核查。 3、为什么要做数据质量管理? 为了保证数据的完整性、准确性、一致性、及时性。一旦数据质量出现问题,任何用数据作支撑的业务分析都是无效的。 3.1、数据质量管理办法? 1)完整性 2)准确性 3)一致性 4)及时性 来源: https://www.cnblogs.com/sherial/p/11340159.html

【Django】ORM操作#1

有些话、适合烂在心里 提交于 2019-11-27 02:53:53
目录 一、介绍 概念 由来 优势 劣势 总结 二、Django中的ORM Django项目使用MySQL Model 快速入门 1. AutoField 2. IntegerField 3. CharField 4. ForeignKey 5. DateField 6. DateTimeField 7. dalate() 字段合集 ORM字段与数据库字段对应关系 自定义字段 字段参数 1. null 2. unique 3. db_index 4. default 5. DateField 与 DateTimefield 四、关系字段 一对多 ForeignKey 字段参数 一对一 OneToOneField 字段参数 多对多 ManyToManyField 字段参数 多对多关系的三种方式 元消息 原文: http://106.13.73.98/__/34/ @ 补充:数据迁移与反迁移 # 迁移: python manage.py makemigrations # 纪录变成 python manage.py migrate # 迁移到数据库 # 反迁移: python manage.py inspectdb > models.py 执行后,会在执行的文件内写入模型类(文件可随意指定) 一、介绍 概念 对象关系映射(Object Relational Mapping,简称ORM