随笔分类 - ——日常总结
摘要:一、阅读目标: 阅读有关质量属性的书籍需要了解的是质量属性的概念, 相关的战术,战术应用实例(之前项目是否设计) 二、改善性能的各个方面: 浏览器缓存,页面压缩, 减少cookie传输, 异步,高并发处理请求, 多线程(代码优化),内存管理, SQL优化,具体指标是否达到期待值, 负载是否均衡, 性
阅读全文
摘要:通信 一、通信机制 分布式机器学习和单机的最大区别就是需要协同多个机器来共同完成模型的训练任务。分布式机器学习一般的分布式计算相比,主要有两个重要的不同点,1)机器学习算法是迭代式的,所以通信频率往往会很高;2)机器学习的优化算法对数据的容错性很高,即少量的数据错误和丢失并不会影响最后的结果,反而可
阅读全文
摘要:一、数据划分 就数据划分而言,一般有两个维度,一个是对训练样本进行划分,另一个是对每个特征的维度进行划分; 训练样本的划分一般有两种方式:1)第一种是基于随机采样的方法,即有放回的随机采样(有放回才能等价于采样的数据和整体是独立同分布的),对每一个worker采样足够的训练数据;2)第二种是基于置乱
阅读全文
摘要:1. 数据库类型 1.1 基本概念 关系型数据库 - sql 操作数据必须要使用sql语句 数据存储在磁盘 存储的数据量大 举例: mysql oracle sqlite - 文件数据库 sql server 非关系数据库 - nosql 操作不使用sql语句 命令 数据默认存储在内存 速度快, 效
阅读全文
摘要:模式中的开-闭原则 1.工厂方法(简单工厂 )2. 抽象工厂 3. 建造者模式1.桥接模式 2.外观模式1.中介者模式 2.迭代器模式 3.策略模式(完美支持) 设计模式中,对迪米特法则进行应用的设计模式有外观模式和中介者模式 设计模式的两大主题:系统复用与系统扩展 填空题 1、设计模式分为创建
阅读全文
摘要:代码实现: 在标准大气压下,水在 0 ~ 100 度之间时,会呈现液态;在 0 度以下会变成固态;100 度以上会变成气态。 物质在不同的条件下呈现不同的状态,对象可能也会像这样存在很多种状态,在不同的状态下可能会有不同的行为,可以通过状态模式来实现这样的效果。 下面以水的三种状态对应的不同行为来介
阅读全文
摘要:准备一组算法,并将每一个算法封装起来,使得它们可以互换 代码实现: 生活中会面临很多抉择,每一个抉择会导向不同的结果,这时就会出现策略的选择。 程序中也是一样,而且更加复杂,生活中的抉择一般只有几个,但程序中可能有十多个甚至数十个,也就是我们常用的 if-else 或者 switch。当只有少量选择
阅读全文
摘要:代码实现: 生活中经常会有这样的情况,同样的事物不同人有完全不同的感受,正所谓一千个读者一千个哈姆雷特。 程序中也是一样,往往不同的访问者会有不同的行为以及结果,这就是访问者模式。 这里以李白和苏轼对庐山不同的感受为例介绍访问者模式:1、定义庐山/** * 庐山 */public class L
阅读全文
摘要:程序虽然来源于生活,有时候也能高于生活,比如遗憾,在程序中就是能补救的。游戏中有存档和读档,设计模式中也有备忘录模式可以实现。 备忘录模式就是为程序提供了一个可回溯的时间节点,如果程序在运行过程中某一步出现了错误,就可以回到之前的某个被保存的节点上重新来过(就像艾克的大招)。平时编辑文本的时候,当编
阅读全文
摘要:观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。 在 Java 中,一个对象的状态发生改变,就可能会影响到其他的对象,与之相关的对象可能也会联动的进行改变。 比如监听器机制,当具体的事件触发时,可以
阅读全文
摘要:代码实现: 一提到中介,大家都非常熟悉,生活中最常见的就是房屋中介。 虽然中介要收取一定费用,但却能给房东和租客都提供大量遍历,房东只需要把房屋信息提供给中介,租客也只需要将租金交给中介,由中介处理中介环节,给两方都提供了便利。这就是中介模式的应用。 这里以房屋中介来介绍中介模式:1、定义用户(房
阅读全文
摘要:责任链,即责任的链条,在生活中是很常见的。 比如在工作中提交审批,会经历责任人的层层审批,最后才会通过,这一审批流程就是责任链。 再比如,JavaWeb 中学习的 Filter 过滤器,正是采用的责任链模式,通过将请求一级一级不断向下传递,来对所需要的请求进行过滤和处理。 运用责任链模式,可以让整个
阅读全文
摘要:现在各大电子厂商都在推智能家居,即可以通过手机这一个终端控制多个家用电器,比之前的单个设备智能由对应遥控器控制的方案要方便很多。这其实就是命令模式的应用。 命令模式将请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 代码
阅读全文
摘要:迭代器模式是 Java 中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,而不需要知道集合对象的底层表示。 迭代器是学习 Java 语言的基础,没有迭代器,集合类的遍历就成了问题,正是因为有迭代器的存在,才能更加优雅的使用 foreach 语法。 代码实现: Java 中的增强 for 循环
阅读全文
摘要:提高了代码的复用性 和 扩展性 比如去医院看病,挂号和排队这两个步骤是固定的,不管是什么病到了医院都得遵循这两个步骤;但是后续的检查和治疗这两个步骤是变化的,不同的病需要采用不同的检查方式,然后采取不同的治疗手段。 针对这一情况,在设计去医院看病这一程序时可以这样实现:定义一个抽象类,固定的步骤用普
阅读全文
摘要:就比如编译器可以将源码编译解释为机器码, 让 CPU 能进行识别并运行。解释器模式的作用其实与编译器一样,都是将一些固定的语法进行解释,构建出一个解释句子的解释器。 解释器是一个语法分析工具,它可以识别句子语义,分离终结符号和非终结符号,提取出需要的信息,针对不同的信息做出相应的处理。其核心思想是识
阅读全文
摘要:享元模式 Flyweight Pattern 大家都知道围棋有黑白子,用程序定义一局围棋时,如果给每颗黑子和每颗白子都定义一个对象,那一局围棋会产生大量的对象,这样有必要吗?每颗黑子都是类似的,每颗白子也是类似的,完全可以只定义一颗黑子对象和一颗白子对象,其余的棋子都复用这两个对象,这样不仅节省空间
阅读全文
摘要:外观模式 Facade Pattern 编程来源于生活,生活中是这样,代码中也是这样。如果一个业务逻辑需要调几个独立的系统,不仅编写复杂,还不方便管理和维护,任意系统的业务变更都将影响很多地方。这时也是同样的诉求,要是调一个系统就能解决业务就好了! 这时外观模式就应运而生了,它隐藏了各系统间调用的复
阅读全文
摘要:装饰模式 Decorator Pattern 装饰,顾名思义,就是在原有基础上增添东西以显示更好的效果。 生活中非常多这样的例子,衣服饰品、珠宝首饰、房子装修都是在进行装饰。 开发中这样的情况也非常多,比如用户的性别在数据库表中一般都是存的编码,然后通过字典表进行翻译,进而在页面展示为男、女。 代码
阅读全文
摘要:组合模式 Composite Pattern 组合模式实际上就是将多个组件进行组合,让用户可以对它们进行一致性处理。 比如文件夹,一个文件夹中可能包含有很多个子文件夹或是文件。它就像是一个树形结构一样,有分支有叶子,而组合模式则是可以对整个树形结构上的所有节点进行递归处理,比如我们现在希望将所有文件
阅读全文