首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序猿的大杂烩

    表格设计2

    使用自表一对多设计这个表格,因为如果使用多个表格的话,需要增删的情况下就需要改动表格的结构了。所以使用自表一对多的方式,自己这张表的主键对应着自己这张表的外建。 代码示例: ? 例题2: ? 表格设计: 在sqlyog里我们可以通过此工具设计表格时建立表格之间的映射关系: ? 点击进入此界面后右键选择Add Tables...或者Create Table可以添加表格和创建表格: ? 一对一: 表格一对一设计方式有两种,一种是主键对应着关系表的主键,另一种方式是主键对应着关系表设置了唯一索引的外建。 一对多: 一对多关系的表格设计也有两种方式,一种是自表的一对多,第二种是主键对应关系表的外键。 自表一对多: ? 主键对应关系表的外键一对多: ? 多对多: 多对多的表格设计方式是使用一张关系维护表来维护其他表之间的映射关系。 ?

    80620发布于 2020-09-23
  • 来自专栏huofo's blog

    设计模式(07)——设计原则(2

    该原则是作为一个指导思想来做的,其作用就是防止过度设计,但需要注意的是其是让你不做,但需要有可能要做的意识,提前留好拓展点,这样如果要做的时候,也可以快速跟上。 ** 后续会有一篇文章,来专门讲解如何在软件设计中,防止过度设计,但对对应该优化,该留好优化点如何实现。 这样的设计可能会导致以下问题, 当一个不知情的人看到这两段代码完成的任务是一样的,但采用的解决方式却是不一样的,则会想其的设计深意,以及不知道该用哪一个? true; } return validContainsA(temp); } 上述代码因为举的例子比较简单,应该能很简单的看出有一段代码被执行了两次,那么这样的设计违反了 迪米特原则 定义 迪米特原则是用来指导设计高内聚、低耦合代码的原则,因此我们先看一下什么是高内聚、低耦合。

    49820编辑于 2022-03-17
  • 来自专栏雪胖纸的玩蛇日常

    2.Model设计

    Model设计 1.在settings.py中配置: AUTH_USER_MODEL='users.UserProfile' 2.在apps/users/models.py中: from django.db '女'), (3, '不详')), default=3, verbose_name='性别', help_text='1:男,2:女,3:不详 '非农业户口')), verbose_name='户籍性质', default=2, help_text='1:农业户口,2:非农业户口 初中,3:高中,4:中专,5:大专,6:本科,7:硕士,8:博士') hunyin=models.IntegerField(choices=((1, '未婚'), (2, '已婚'), (3, '离异'),(4,'丧偶')), default=2, verbose_name='婚姻状况', help_text='1:未婚,2:已婚,3

    60020发布于 2020-06-10
  • 来自专栏∑小熊猫的博客

    JAVA 设计模式系列(2) —— 设计原则

    Java 设计模式的相关原则 一、单一职责原则 单一职责原则: 应该有且仅有一个原则引起类的变更 单一职责可以简答的理解为,一个类或者对象,承担的只能应该尽可能单一。 单一职责用“职责”和“变化原因”来衡量接口或类设计得是否优良。但是“职责”的确定往往是无法度量的。 PS: 子类出现的地方,父类未必可以出现 在类中调用其他类时,务必使用父类或接口,如果不能使用,则说明类的设计已经违背了里氏替换原则(Liskov Substitution Principle,LSP 接口隔离原则需要保证的几个特性: 接口尽量要小: (在保证单一职责的情况小,尽量保证接口不过于臃肿) 接口要高内聚:(尽量减少与外界的交互,少公有,多私有) 定制服务: (为特定的服务对象提供其所需的方法) 接口设计是有限度的

    51610发布于 2020-12-31
  • 来自专栏一Li小麦

    组件设计基础(2

    组件生命周期 早期的react设计了许多的生命周期钩子。 shouldComponentUpdate(根据true or false决定是否更新)->componentWillUpdate(即将feiqis)->render->componentDidUpdate 2. 中间那一层父组件根本用不上这个prop,但是依然需要支持这个prop,扮演好搬运工的角色,只因为子组件用得上,这明显违反了低耦合的设计要求。在flux和redux中我们会探讨如何解决这样的困局。 组件设计方法论 一些指导性原则: •组件尽可能通过props通信。不用context •组件属性需要有默认值,做好类型检查 •组件属性尽可能使用简单值。避免使用对象。

    94350发布于 2019-12-04
  • 来自专栏雪胖纸的玩蛇日常

    2.Models设计

    1.Models设计: 1.重构用户表: 1.在users/models.py中: from django.db import models from django.contrib.auth.models 用户' verbose_name_plural = verbose_name def __str__(self): return self.username 2. django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applie  2. 1.将DjangoUeditor包放到extra_apps目录下 2.在settings.py中注册DjangoUeditor ?    /', include('good.urls',namespace='goods')), path('ueditor/',include('DjangoUeditor.urls' )) ] 2.

    70320发布于 2020-05-18
  • 来自专栏硬件大熊

    单火线设计系列文章8:单火开关兼容性与取电能力测试

    本篇阐述单火智能开关的技术难点及壁垒,在进入文章之前,推荐阅读—— 《单火线设计系列文章1:场景由来、技术问题》 《单火线设计系列文章2:闭态取电电路》 《单火线设计系列文章3:开态取电电路》 《单火线设计系列文章 4:电源转换电路和无线通信SOC电路》 《单火线设计系列文章5:单火线智能开关的技术难点 - 闭态”鬼火”问题》 《单火线设计系列文章6:技术难点 - 开态”宕机”问题》 《单火线设计系列文章7:软硬件联调典型问题 其中,灯具兼容性测试反应单火开关闭态(灯具负载OFF)时对灯具的兼容效果,而取电能力测试则反应开关对各种大电流操作的稳定性能(如模块联网、继电器操作时的电能供给能力)。 灯具兼容性测试 灯具品牌 有些公司可能是地产开发商所一手投资扶持,其产品的目标客户端所使用的灯具在前装阶段时,灯具的品牌、功率范围则比较明确,故在测试阶段应着重考虑。 灯具瓦数 由于低功率的灯具兼容性可能出现更多不良,因此,结合普通家庭通常所使用的灯具功率,所测试的灯具功率建议在3W-15W之间,且低瓦数的灯具尽可能占更多比例。

    96610编辑于 2022-06-23
  • 来自专栏王清培的专栏

    .NET简谈设计模式之(装饰者模式)

    我们所看的设计模式书籍是一系列问题的集合,也是设计模式的集合。在我们还没有能力将他们融会贯通之前,先单独理解这些思想。当我们能驾驭这些设计模式之后,我们就能够设计出不错的系统架构。 模式之间是相通的,“设计原则”是引导模式创新的根本。书上的模式多数都是用来考虑一些小例子而已,如果用在真正的项目中,就需要结合整个设计模式的运用了。 所以当我们学习一些小的设计模式时,我们不牵扯到其他的多余东西,先理解我们当前模式的真正的思想是什么。 Console.ReadLine(); } } } 2: 从上面的灯具例子来看,我们基本上完成了装饰者模式的模拟。 总觉得例子的代码太简单了,哪像是设计模式啊。别急我们继续讨论,设计模式本来就是思想性的理论,需要耐心的研究。

    41220编辑于 2022-03-14
  • 来自专栏硬件大熊

    单火线设计系列文章5:技术难点 - 闭态”鬼火”问题

    本篇阐述单火智能开关的技术难点及壁垒,在进入文章之前,推荐阅读—— 《单火线设计系列文章1:场景由来、技术问题》 《单火线设计系列文章2:闭态取电电路》 《单火线设计系列文章3:开态取电电路》 《单火线设计系列文章 针对闭态取电电路,硬件设计及选型可参考如下建议: 1.1 电源方案选型:选取超低功耗电源IC。 的低电流Iz的稳压二极管;例如:江苏长电/长晶的稳压二极管 MMSZ系列(Iz=50uA); 1.5 输出电容选取:建议选取普通电解电容,减少使用固态电容;同等体积下,固态电容的容量大,但漏电流也大; (2) (二).给灯具提供分流的支路,降低流入灯具的电流 分流支路的示意框图如下图所示,工程应用中常用如下几种方式给灯具提供分流支路: 1).将同一个场景下的多个灯具并联到单火智能开关的一路输出端共同控制使用 ,即多个并联灯具分流; 2).更换灯具型号、功率去匹配单火智能开关; 3).在灯具两端并联分流器件或者产品,例如X电容、分流器产品等。

    1.3K31编辑于 2022-06-23
  • 来自专栏科控自动化

    某公园照明系统

    二、设计依据 (1)《低压配电设计规范》 GB50054-2011(2)《供配电系统设计规范》(GB50052-2009(3)《电力工程电缆设计规范》(GB50217-2007)(4)《建筑电气工程施工质量验收规范 2设计方案 园区主要游步道贯穿整个景观带,道路宽4米,既是防洪专用通道, 也是一条重要的景观通道,照明需满足夜间行车行人交通功能,设计照度平均水平达到M3等级,平均照度15-20LX;设计选用造型简洁大方的 (2灯具要适应户外,防护等级不得低于IP65。(3)灯具外壳颜色及形式应尽量同环境风格相协调,电缆线管在建筑上明敷时,线管应喷漆,喷漆颜色与建筑涂装 一致或相近。 7、视频监控系统 (1) 本设计采用高清球型摄像机对江滩内的道路及水边的状况进行监控。(2) 摄像机安装在立杆上,立杆高度为4.5米。 柜体材质全部采用不锈钢304,钢板厚度不小于2mm,防护等级为:IP65。箱门设计为内铰链。箱门应带锁。箱体内外表面均要求采用静电喷涂。

    98120编辑于 2022-03-29
  • 来自专栏X#(XSharp)

    设计模式:建造者设计模式(Builder)(2)

    关于该设计模式在 VFP 中的应用示例,我考虑了很久。最终决定以主程序的伪代码来做。它至少有两个作用: 1. 通过“主程序”这个过程化代码的重灾区的改造,体会 OOP 的设计思想; 2. *** 启动主UI *** Procedure StartUI() With _Screen .Visible = .T. .WindowState = 2 “它也许是创建型设计模式中最灵活最复杂的设计模式”

    28010编辑于 2025-04-19
  • 来自专栏爱敲代码的猫

    java设计模式(2)-单例设计模式

    上一篇推文写了工厂方法模式,包括简单工厂模式、多工厂模式、静态工厂模式、抽象工厂模式,这篇推文记录一下单例设计模式 单例设计模式 在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。 static void main (String[] args){ SingleTon s1 = SingleTon.getInstance(); SingleTon s2 = SingleTon.getInstance(); System.out.println(s1 == s2); //true } } 在静态方法创建实例并直接调用如果不是线程同步 static void main (String[] args){ SingleTon s1 = SingleTon.getInstance(); SingleTon s2 = SingleTon.getInstance(); System.out.println(s1 == s2); //true } } 懒汉式(线程安全) 优点:在多线程情形下,

    62240发布于 2019-10-17
  • 来自专栏硬件大熊

    单火线设计系列文章2:闭态取电电路

    单火线智能开关基本电路构成 单火线智能开关与灯具串联接在零火线中,单火取电需要在灯具关态和开态两种工况下从灯具回路中摄取一部分电流用来给智能开关的取电单元、电源转换单元、控制单元和无线通信单元工作。 闭态取电电路 闭态的定义:灯具处于”关闭”的状态,即关灯。 闭态取电:灯具处于关态,通过该电路与灯具串联形成回路。 LNK3202D:超低待机功耗电源方案&整机电源待机输入电流<65μA&在230 VAC输时电源待机功耗<12 mW)、晶丰明源的超低待机功耗的恒压驱动芯片(BP2535C:隔离应用待机功耗仅1.5mW) 2) R1的作用:起到限流、抑制冲击电流的目的,改善开机上电因冲击电流导致灯具”闪亮”一下的问题。 输入电容设计:C1的选取与输入电压范围以及输出带载能力有关。 (详细设计可以参考学习书籍资料《精通开关电源设计》(第2版):第3章 离线式变换器及其磁性元件设计) 开关电源控制IC及外围电路设计:查阅datasheet及demo资料,了解其内部架构,PWM控制模式

    3.3K11编辑于 2022-06-23
  • 来自专栏Vincent-yuan

    RocketMQ学习2-设计

    四.设计(design) 1 消息存储 消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从下面三方面来分别展开叙述。 {fileName},文件名fileName是以创建时的时间戳命名的,固定的单个IndexFile文件大小约为400M, 一个IndexFile可以保存 2000W个索引,IndexFile的底层存储设计为在文件系统中实现 2.1 Remoting通信类结构 2.2 协议设计与编解码 在Client和Server之间完成一次消息发送时,需要对发送的消息进行一个协议约定,因此就有必要自定义RocketMQ的消息协议。 2.4 Reactor多线程设计 RocketMQ的RPC通信采用Netty组件作为底层通信库,同样也遵循了Reactor多线程模型,同时又在这之上做了一些扩展和优化。 消息消费队列在同一消费组不同消费者之间的负载均衡,其核心设计理念是在一个消息消费队列在同一时间只允许被同一消费组内的一个消费者消费,一个消息消费者能同时消费多个消息队列。

    1.2K20发布于 2021-11-08
  • 来自专栏太阳影的学习记录

    LeetCode——142 设计链表2

    思路 简单说下思路,现在已经知道的条件: 快指针移动速度为慢指针两倍; 快指针要比慢指针多移动一圈; 可得: 假设 L 为链表入口到环入口的距离, x 为环入口到相遇点的距离, C 为环的周长,可得: 2

    32610发布于 2021-10-15
  • 来自专栏用户5744311的专栏

    2、leveldb设计原理--LSM

    概念 LSM(Log-Structured Merge Tree) 原理 特点 把随机写转化成顺序写,写入速度快; 读数据可能需多次磁盘IO; 数据操作流程 写数据 追加写WAL日志; 更新内存中的MemTable结构; 读数据 尝试从MemTable中查询数据,如找到即返回;未找到则到下一层中去查找; 尝试从InmemTable中查找数据; 尝试从level0层的SSTable文件中查找数据; 使用二分法从levelN层的SSTable文件中查询数据; 如都未查找到数据,则返回数据不存在; 数据合并(c

    65820发布于 2021-03-21
  • 来自专栏乐享123

    Javascript设计模式 - 笔记2

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 var Book = function(isbn, title, author) { if (isbn === 语法修饰增强型 用setattr,getattr等赋值取值方法及命名规范区别私有成员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 闭包实现私有成员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 实现静态方法和属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

    54650发布于 2018-06-04
  • 来自专栏Material Design组件

    页面信息设计思考2

    本来没有想到会有2的,结果最近的活动让我有了一些新的思考,就赶快梳理一下~ 页面思考信息1主要梳理的是面对一堆信息时如何通过不断的划分后优雅地展示,然而如果信息量本来就超出了用户能够理解的范围该怎么办? 在这个活动中奖励有三种 1、瓜分大额奖金 瓜分条件: ·步数达到500步 ·全市/全区步数达到5000000步 影响因素: ·步数越多瓜分金额越高 2、政府背书的证书(类似于蚂蚁森林种树) 获得条件: 2、是否能进行删减 因为瓜分奖金是活动主体,但是如果仅有奖金瓜分就显得有些功利,无法突出“绿色出行”概念,所以看看能不能删掉证书/公益。 4、制作原型 总结 作为交互设计师,接到需求时其实是可以有所控制的,包括信息量、信息之间的关联程度、用户的理解成本等。

    90720发布于 2019-03-06
  • 来自专栏yuyy.info技术专栏

    20180507设计性实验2

    // 20180507设计性实验2.cpp : 定义控制台应用程序的入口点。 s = 0; printf("请输入n\n"); //scanf("%lf", &n); cin >> n; for (int i = n; i > 0; i--) { if (i % 2

    27300编辑于 2022-06-28
  • 来自专栏软件安装技巧

    三维建模软件Revit 2023中文版,Revit 2023下载安装激活教程

    总之,Revit 2023是一款功能强大的建筑设计软件,可以满足设计师的各种需求。它具有建模、注释、分析和协作等多种功能,可帮助设计师以更高效的方式创建建筑方案,并实现建筑元素的信息化管理。 2、同意Revit安装协议,点下一步继续。3、选择Revit安装目录和文件内容存放目录。4、Revit正在安装。5、Revit安装完成,不要点【开始】,直接点右上角关闭按钮关闭窗口。 在视图中,选择“插入”选项卡,并在“照明”面板中选择“灯具”。在灯具的属性面板中,选择您需要添加的灯具类型,例如吊灯或壁灯。在属性面板中,输入灯具的参数,例如高度、光线颜色、亮度等。 您可以通过更改灯具位置、参数或添加额外的灯具来优化照明效果。保存您的工作并退出Revit软件。总之,通过在视图中添加灯具,设置其参数和渲染方式,您可以轻松地在Revit软件中添加照明效果。 这样可以帮助设计师更好地模拟建筑物的照明效果,以便更好地评估设计方案的可行性。

    2.2K60编辑于 2023-03-23
领券