11 2021 档案

摘要:第八章 需求分析 8.1 软件需求 ①获取和引导需求:软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求;需求还可以来自各种管理机构;需求不仅来自外界,还可以来自软件企业本身;需求还可以来自技术团队本身;有些需求的目的是要更好地了解用户的行为和需求。 ②分析和定 阅读全文

posted @ 2021-11-30 11:20 ***Pepsi*** 阅读(31) 评论(0) 推荐(0) 编辑 |

摘要:抽象工厂模式,每一个具体工厂可以生产多个具体产品,理解起来就像是苹果公司可以生产苹果电脑,也可以生产苹果手机 定义:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。属于对象创建型模式 角色: 1.AbstractFactory(抽象工厂类) 2.ConcreteFactory( 阅读全文

posted @ 2021-11-29 15:25 ***Pepsi*** 阅读(49) 评论(0) 推荐(0) 编辑 |

摘要:工厂方法模式属于类创建型模式,工厂父类负责定义创建产品对象的公共接口,而子类工厂负责生成具体的产品对象,目的是将产品的实例化操作延迟到工厂子类中完成,通过工厂子类来确定究竟应该实例化哪一个具体产品类 工厂方法模式包含如下角色: 1.Product(抽象产品类):是定义产品的接口,是工厂方法模式所创建 阅读全文

posted @ 2021-11-29 14:48 ***Pepsi*** 阅读(39) 评论(0) 推荐(0) 编辑 |

摘要:简单工厂模式又称为静态工厂模式,属于类创建型模式 简单工厂模式包含三个角色 1.Factory(工厂角色):负责实现创建所有实例的内部逻辑 2.Product(抽象产品角色):是所创建的所有对象的父类,负责描述所有实例所共有的公共接口 3.ConcreteProduct(具体产品角色):创建目标,所 阅读全文

posted @ 2021-11-28 22:49 ***Pepsi*** 阅读(80) 评论(0) 推荐(0) 编辑 |

摘要:根据其目的可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三种 根据其范围,模式主要是用于处理类之间的关系还是处理对象间的关系可以分为类模式(静态)和对象模式(动态)两种 创建型:主要用于创建对象 1.工厂方法模式 2.抽象工厂模式 3.建造者模式 阅读全文

posted @ 2021-11-28 22:08 ***Pepsi*** 阅读(99) 评论(0) 推荐(0) 编辑 |

摘要:设计模式(Design Pattern):是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结 使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性 设计模式一般有如下几个要素: 模式名称,问题,目的,解决方案,效果,代码以及相关设计模式 关键元素: 模式名称 问题 解 阅读全文

posted @ 2021-11-28 21:27 ***Pepsi*** 阅读(28) 评论(0) 推荐(0) 编辑 |

摘要:1.单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 单一职责原则是实现高内聚低耦合的指导方针 2.开闭原则:一个软件实体应该对扩展开放,对修改关闭 抽象化是开闭原则的关键 3.里氏代换原则:所有能够引用父类对象的地方,都必须能够透明地使用其子类的对象,反过来不成立 里氏 阅读全文

posted @ 2021-11-28 21:09 ***Pepsi*** 阅读(37) 评论(0) 推荐(0) 编辑 |

摘要:第五章 团队和流程 5.2 软件团队的模式 主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式 5.3 开发流程 ①写了再改模式 ②瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的 阅读全文

posted @ 2021-11-27 16:08 ***Pepsi*** 阅读(52) 评论(0) 推荐(0) 编辑 |

摘要:第二章 个人技术和流程 2.1 单元测试 ①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。 ②好的单元测试的标准: 在最基本的功能/参数上验证程序的正确性 单元测试必须由最熟悉代码的人(程序的作者 阅读全文

posted @ 2021-11-26 16:07 ***Pepsi*** 阅读(36) 评论(0) 推荐(0) 编辑 |

摘要:第一章 概论 在这一章中,作者为我们介绍了一些关于软件工程的基本知识。 ①软件=程序+软件工程:正是因为对软件开发活动(构建管理、源代码管理、软件设计、软件测试、项目管理)相关的内容的完成,才能完成把整个程序转化成为一个可用的软件的过程。 扩展的推论:软件企业=软件+商业模式 ②软件开发的不同阶段: 阅读全文

posted @ 2021-11-25 16:05 ***Pepsi*** 阅读(12) 评论(0) 推荐(0) 编辑 |

摘要:多个单词连接的命名,不使用空格或者连接符下划线等连接 将第一个单词的首字母大写,后续单词也将首字母大写形成的唯一识别符 不同于驼峰命名法 C#方法名的命名是以 Pascal 命名法为规范的,命名时需注意命名规范 如: 程序代码public void DisplayInfo(); string Use 阅读全文

posted @ 2021-11-24 22:01 ***Pepsi*** 阅读(253) 评论(0) 推荐(0) 编辑 |

摘要:1 using System; 2 using System.Collections.Generic; 3 4 namespace Test_1_5 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 int max, m 阅读全文

posted @ 2021-11-24 17:57 ***Pepsi*** 阅读(296) 评论(0) 推荐(0) 编辑 |

摘要:人月神话3 巴比伦塔的失败: 大型编程项目中的交流(人员交往活动、项目工作手册的编写)和组织架构(人力划分和限定职责范围)是非常重要的。 胸有成竹: 通过各种计算方法得出的软件制造的时间估算来确定效率。 削足适履: 一个软件工程是由一定的成本、时间、空间限制的。 这些限制决定了软件的功能在一定程度上 阅读全文

posted @ 2021-11-23 13:10 ***Pepsi*** 阅读(37) 评论(0) 推荐(0) 编辑 |

摘要:人月神话2 画蛇添足: 结构师的交互准则和机制来约束结构师的创造性热情。 第一个系统和第二个系统都要充分的简洁和控制来契合成本要求。 明确了人员和软件目标范围就是贯彻执行了。 其中手册不但要描述包括所有界面在内的用户可见的一切, 它同时还要避免描述用户看不见的事物。 规格说明的风格必须清晰、完整和准 阅读全文

posted @ 2021-11-22 13:07 ***Pepsi*** 阅读(34) 评论(0) 推荐(0) 编辑 |

摘要:人月神话读后感1 第一章 简单说第一章要表达的意思 就是说软件开发有固有的复杂属性,说白了就是我们平时从事开发的那些问题,无论是哪个软件项目团队 都会遇到这种问题 这种事在四五十年前就十分常见 比如现在大家吐槽的加班 第一章就告诉了我们加班对于软件研发是很正常的,并且是必要的 通读人月神话这本书,就 阅读全文

posted @ 2021-11-20 12:50 ***Pepsi*** 阅读(44) 评论(0) 推荐(0) 编辑 |

摘要:11.Mapreduce实例——MapReduce自定义输出格式 实验原理 1.输出格式:提供给OutputCollector的键值对会被写到输出文件中,写入的方式由输出格式控制。OutputFormat的功能跟前面描述的InputFormat类很像,Hadoop提供的OutputFormat的实例 阅读全文

posted @ 2021-11-19 19:42 ***Pepsi*** 阅读(163) 评论(0) 推荐(0) 编辑 |

摘要:10.Mapreduce实例——MapReduce自定义输入格式小 实验原理 1.输入格式:InputFormat类定义了如何分割和读取输入文件,它提供有下面的几个功能: (1)选择作为输入的文件或对象; (2) 定义把文件划分到任务的InputSplits; (3)为RecordReader读取文 阅读全文

posted @ 2021-11-19 19:23 ***Pepsi*** 阅读(75) 评论(0) 推荐(0) 编辑 |

摘要:09.Mapreduce实例——ChainMapReduce小 实验原理 一些复杂的任务难以用一次MapReduce处理完成,需要多次MapReduce才能完成任务。Hadoop2.0开始MapReduce作业支持链式处理,类似于工厂的的生产线,每一个阶段都有特定的任务要处理,比如提供原配件——>组 阅读全文

posted @ 2021-11-19 18:58 ***Pepsi*** 阅读(69) 评论(0) 推荐(0) 编辑 |

摘要:08.Mapreduce实例——倒排索引 实验原理 "倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因 阅读全文

posted @ 2021-11-19 18:42 ***Pepsi*** 阅读(149) 评论(0) 推荐(0) 编辑 |

摘要:07.Mapreduce实例——二次排序 实验原理 在Map阶段,使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块splites,同时InputFormat提供一个RecordReder的实现。本实验中使用的是TextInputFormat, 阅读全文

posted @ 2021-11-19 18:09 ***Pepsi*** 阅读(57) 评论(0) 推荐(0) 编辑 |

摘要:06.Mapreduce实例——Reduce端join 实验原理 在Reudce端进行Join连接是MapReduce框架进行表之间Join操作最为常见的模式。 1.Reduce端Join实现原理 (1)Map端的主要工作,为来自不同表(文件)的key/value对打标签以区别不同来源的记录。然后用 阅读全文

posted @ 2021-11-19 15:22 ***Pepsi*** 阅读(74) 评论(0) 推荐(0) 编辑 |

摘要:05.Mapreduce实例——Map端join 实验原理 MapReduce提供了表连接操作其中包括Map端join、Reduce端join还有单表连接,现在我们要讨论的是Map端join,Map端join是指数据到达map处理函数之前进行合并的,效率要远远高于Reduce端join,因为Redu 阅读全文

posted @ 2021-11-19 15:05 ***Pepsi*** 阅读(56) 评论(0) 推荐(0) 编辑 |

摘要:04.Mapreduce实例——单表join 实验原理 以本实验的buyer1(buyer_id,friends_id)表为例来阐述单表连接的实验原理。单表连接,连接的是左表的buyer_id列和右表的friends_id列,且左表和右表是同一个表。因此,在map阶段将读入数据分割成buyer_id 阅读全文

posted @ 2021-11-19 14:29 ***Pepsi*** 阅读(118) 评论(0) 推荐(0) 编辑 |

摘要:实验原理 Map、Reduce任务中Shuffle和排序的过程图如下: 流程分析: 1.Map端: (1)每个输入分片会让一个map任务来处理,默认情况下,以HDFS的一个块的大小(默认为64M)为一个分片,当然我们也可以设置块的大小。map输出的结果会暂且放在一个环形内存缓冲区中(该缓冲区的大小默 阅读全文

posted @ 2021-11-19 11:20 ***Pepsi*** 阅读(148) 评论(0) 推荐(0) 编辑 |

摘要:实验原理 求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形成一个集合value-list,然后将输入到Reduce端,Reduce端汇总并且统计记录 阅读全文

posted @ 2021-11-19 10:58 ***Pepsi*** 阅读(207) 评论(0) 推荐(0) 编辑 |

摘要:实验原理 “数据去重”主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。 数据去重的最终目标是让原始数据中出现次数超过一次的数据在输出文件中只出现一次。在MapReduce流程中,map的输出<key,v 阅读全文

posted @ 2021-11-18 22:59 ***Pepsi*** 阅读(111) 评论(0) 推荐(0) 编辑 |

随笔 - 319, 文章 - 0, 评论 - 0, 阅读 - 36566

Copyright © 2025 ***Pepsi***
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示