10 2021 档案
摘要:第一章 为什么书呆子不受欢迎 任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入。 真正的世界之所以能友好的对待书呆子,并非在于它是由成年人组成的,而在于它的庞大规模使得你做的每件事都能产生真正意义上的效果。 几乎任何团体都存在等级关系。成年人形成的团体一般是因为存在某个共同目
阅读全文
摘要:桥接模式模式动机对于有两个变化维度(即两个变化的原因)的系统,采用方案二来进行设计系统中类的个数更少,且系统扩展更为方便。设计方案二即是桥接模式的应用。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。模式定义桥接模式(Bridge Pattern):将抽象部分与它的实
阅读全文
摘要:适配器模式模式动机在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。 有时,现有的类可以满足客户类的功能需要,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中方法名与目标类中定义的方法名不一致等原因所导致的。 在这种情况下,现有的接口需要转化为客户类期望的接口,这样保证
阅读全文
摘要:结构型模式结构型模式概述 结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构结构型模式可以分为类结构型模式和对象结构型模式:类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结
阅读全文
摘要:单例模式模式动机如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法。这就是单例模式的模式动机。模式定义单
阅读全文
摘要:原型模式模式动机在面向对象系统中,使用原型模式来复制一个对象自身,从而克隆出多个与原型对象一模一样的对象。在软件系统中,有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的意图
阅读全文
摘要:建造者模式模式动机无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,建造者模式可以将
阅读全文
摘要:抽象工厂模式模式动机当系统所提供的工厂所需生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构中属于不同类型的具体产品时需要使用抽象工厂模式。抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,
阅读全文
摘要:工厂方法模式模式动机而是将具体按钮的创建过程交给专门的工厂子类去完成,我们先定义一个抽象的按钮工厂类,再定义具体的工厂类来生成圆形按钮、矩形按钮、菱形按钮等,它们实现在抽象按钮工厂类中定义的方法。这种抽象化的结果使这种结构可以在不修改具体工厂类的情况下引进新的产品,如果出现新的按钮类型,只需要为这种
阅读全文
摘要:一、对书的看法 这其实是本工具书,主要是让重构的节奏形成章法,降低重构的难度。 当你对重构的概念还很迷茫,或者想要重构但不知道如何进行时,可以阅读它。 作者想告诉大家的是:重构远没有想象中的那么复杂。在保证充分验证的情况下,将代码的‘坏味道’与书中的进行映射,然后按照书中的步骤一步步来,就可以了。
阅读全文
摘要:今天学习设计模式中的知识: 创建型模式概述创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。简单
阅读全文
摘要:今天继续学习设计模式中的原则: 依赖倒转原则定义依赖倒转原则(Dependence Inversion Principle, DIP)的定义如下:高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。另一种表述为:要针对接口编程,不要针对实现编程。 依赖倒转原则分
阅读全文
摘要:今天记录设计模式中的面向对象设计原则概述: 软件的可维护性和可复用性 软件的复用(Reuse)或重用拥有众多优点,如可以提高软件的开发效率,提高软件质量,节约开发成本,恰当的复用还可以改善系统的可维护性。面向对象设计复用的目标是实现支持可维护性的复用。 在面向对象的设计里面,可维护性复用都是以面向对
阅读全文
摘要:我们现在也在学习设计模式这一门课程,我打算在博客里记录学习的设计模式。今天简介设计模式: 软件模式 软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的
阅读全文
摘要:昨天写的是后台的代码,今天是前台的,我的代码写的并不是很好,就是得到了数据后将其展示,并且会15天轮流变换,包括柱状图和饼图: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <lin
阅读全文
摘要:继续昨天的那一道题目,其中的一问是: 汇总统计 9 月 1 日到 9 月 15 日之间各个代理商的销售利润。 编号,卖出方代码,买入数量,买入金额,卖出数量,卖出金额,销售利润(卖出 金额-买入金额) 这个也是先从HIVE进行数据分析,然后将数据存储在一个新的表里,然后将这个表的数据导出到MySQL
阅读全文
摘要:老师昨天要做的课堂测试,是让我们导入老师发的数据集到HIVE,在HIVE完成清洗和和统计其中的问题企业并用echars进行展示,其中一项是将日期统一,就像这样: 数据 1 对应日期 2021-09-01,依次类推,15 对应日期 2021-09-15 这是题目中的要求,有一列是给了一个数字,需要将这
阅读全文
摘要:开篇提出的问题的解决方式令人印象深刻,巧妙地利用位图的方式解决了一个电话号码的排序问题,并且大大降低了时间与空间复杂度。其实引人深思的不仅是这样一种算法,而是文中告诫大家,我们不应当看到问题的第一时间就在脑中搜索我们学习的相关知识,这样很容易搜寻到不是最适合此问题的解决办法。作者在获取更多关于问题的
阅读全文
摘要:今天学习HIVE数据库中数据表的一些操作: 2.1 显示数据库中的表 show tables;使用like模糊匹配,查询包含tb_前缀的表 show tables like 'tb_*';或者show tables 'tb_*';2.1.1 显示表的分区 show partitions tb_tes
阅读全文
摘要:今天学习HIVE数据库中的一些操作命令: 1.1 查看数据库 show databases;使用like关键字模糊匹配 # 显示包含db_前缀的数据库名称show databases like 'db_*';1.2 使用数据库 use database名称1.3 创建数据库 create datab
阅读全文
摘要:今天发布一个以前的想法,以前在做hadoop的文件上传的时候,当时老师说的是使用hadoop当作存储的类似MySQL的数据库,老师也说了这样做没必要,但也是让我们这样用,也就是将数据存到HDFS中实现信息管理系统,我这里做的是当时的想法,就是在HDFS中和MySQL一样创建几个文本文档当作数据表,然
阅读全文
摘要:由于用到了从HIVE向MySQL导出数据,这里我查找到的是下载sqoop这个软件,安装在虚拟机上,然后在sqoop的bin目录下执行语句即可将数据导出到MySQL,首先是sqoop的安装,这里我是参考的哔哩哔哩的sqoop安装教程,总结下来就是下载安装包,放到虚拟机上,解压然后配置环境变量,在配置s
阅读全文
摘要:首先是将数据导入到HIVE数据库中,我使用的是以下的方法: 将一个csv或txt导入hive:先修改格式为txt第一行数据为列名,根据列名在hive建表create table watermelon (id String, color String, root String, stroke Stri
阅读全文
摘要:今天10月1了,给自己放个假,就总结一下这一周学过的知识,主要是HIVE数据库的安装与使用,昨天课上做的测试包括将csv或excel导入到hive,在hive中汇总然后将数据导出到MySQL并使用echarts进行结果显示,并且老师也已经让我们看了他想要的效果图,下周就朝着这个方向去做。
阅读全文