结构化方法

75 软件工程

北战南征 提交于 2020-01-11 23:34:46
软件工程方法学: 1 传统方法学:采用结构化的技术来开发软件,并且是采用合适的开发工具和软件环境来支持结构化的软件开发技术; 2 面向对象方法学:以数据为中心,采用将数据和数据的操作相结合的方式,便于对软件的开发; 2-1 面向对象方法学的原则和特点:模拟人的习惯思维,使开发软件的方法和过程与人认识世界的方法是一致的; 来源: CSDN 作者: SSX_FIGHTING 链接: https://blog.csdn.net/qq_39792342/article/details/103940861

Python模块-time

泄露秘密 提交于 2020-01-04 04:21:40
在python中,通常3种时间的表示 1.时间戳(timestamp):时间戳表示的是从从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 2.格式化的时间字符串 (年-月-日 时:分:秒) 3.元组(struct_time)结构化时间:struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时) 常用time模块方法 1 #注:小白多用print(),查看 2 3 1#time.time() 时间戳 4 print(time.time()) 5 6 2#time.localtime(second) 加上second(时间戳)转换结构化时间,不加则显示当前的结构化时间 7 print(time.localtime()) 8 print(time.localtime(1371643198)) 9 10 3#time.gmtime(second) #utc时区加上second(时间戳)转换结构化时间,不加则显示当前的结构化时间 11 print(time.gmtime()) 12 print(time.gmtime(1391614837)) 13 14 4#mktime ()结构化时间转换为时间戳 15 print(time.mktime(time

文档对象模型

旧城冷巷雨未停 提交于 2019-12-24 01:12:17
文档对象模型定义 文档对象模型英文名为 Document Object Model , 简称 DOM ,它是一种比较重要的软件设计模式,不是编程技巧。可以这么说,平生不认 DOM ,便称英雄也枉然,大家应当多多了解它的能力。 文档对象模型是面向对象编程技术的集中体现,若没有完整的面向对象编程思想,是不可能理解和开发文档对象模型,若开发者能开发出文档对象模型,那就说明他 / 她比较完整的理解和掌握了面向对象编程思想。 W3C 国际组织对文档对象模型是这样定义的(摘自 http://www.w3.org/DOM/ ) The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. This is an overview of DOM

通过网络爬虫采集大数据

≡放荡痞女 提交于 2019-12-16 15:39:26
网络数据采集是指通过网络爬虫或网站公开 API 等方式从网站上获取数据信息。该方法可以将非结构化数据从网页中抽取出来,将其存储为统一的本地数据文件,并以结构化的方式存储。它支持图片、音频、视频等文件或附件的采集,附件与正文可以自动关联。 在互联网时代,网络爬虫主要是为搜索引擎提供最全面和最新的数据。 在大数据时代,网络爬虫更是从互联网上采集数据的有利工具。目前已经知道的各种网络爬虫工具已经有上百个,网络爬虫工具基本可以分为 3 类。 分布式网络爬虫工具,如 Nutch。 Java 网络爬虫工具,如 Crawler4j、WebMagic、WebCollector。 非 Java 网络爬虫工具,如 Scrapy(基于 Python 语言开发)。 本节首先对网络爬虫的原理和工作流程进行简单介绍,然后对网络爬虫抓取策略进行讨论,最后对典型的网络工具进行描述。 网络爬虫原理 网络爬虫是一种按照一定的规则,自动地抓取 Web 信息的程序或者脚本。 Web 网络爬虫可以自动采集所有其能够访问到的页面内容,为搜索引擎和大数据分析提供数据来源。从功能上来讲,爬虫一般有数据采集、处理和存储 3 部分功能,如图 1 所示。 图 1 网络爬虫示意 网页中除了包含供用户阅读的文字信息外,还包含一些超链接信息。 网络爬虫系统正是通过网页中的超链接信息不断获得网络上的其他网页的。网络爬虫从一个或若干初始网页的

海量结构化日志分析系统

爱⌒轻易说出口 提交于 2019-12-08 18:43:51
背景 日志,角色不同,出发点和认识的角度也不同 RD使用日志,首先是为了调试程序,当程序上线后,日志是为了记录err和trace。 PM可以通过日志分析,可以得出业务指标相关的统计情况。 日志的作用大致有三:异常、trace、统计。 日志使用的痛点 使用日志时大部分的场景或特点如下: 1.日志为纯文本,即可读。 2.日志分散在各个机器上,或者同步到某一台机器。 3.某某发现一个问题,让某某去查log。 这里有几个问题,或者说提高点 1.文本冗余度太大,浪费资源,如果转换为二进制,预估有5倍的收益。 2.日志分散,查找效率低,即使集中,在没有具体时间点情况下,扫描日志会很慢。 3.日志分析难度大,谁写的日志谁来查,查到和肉眼找到还差一步... 目标 所以,我们可以设计这样一个日志系统 1.支持海量数据的日志存储(TB二进制) 2.日志二进制、结构化 3.查询速度快,难度低 设计 读写日志 日志查询过程经分解和总结共性后,几乎是下边三种情况 1.K-V查询,比如基于某个消息ID,查询一条记录。 2.集合查询,比如查询某个用户的消息记录。 3.集合range查询,比如查询某个用户0点到1点消息记录。 那么,ssdb是非常适合这三个需求的。 日志系统具有写多读少的特定,再基于磁盘存储的业界主流方案,LSM是适合的, 而SSDB的存储依赖的leveldb正好属于LSM系。 日志二进制

系统总体结构设计

流过昼夜 提交于 2019-12-06 12:27:06
系统总体结构设计 系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。 一、 系统设计的任务 1. 系统设计的概念 系统设计又称为物理设计,是开发管理信息系统的第二阶段,系统设计通常可分为两个阶段进行,首先是总体设计,其任务是设计系统的框架和概貌,并向用户单位和领导部门作详细报告并认可,在此基础上进行第二阶段――详细设计,这两部分工作是互相联系的,需要交叉进行,本章将这两个部分内容结合起来进行介绍。 系统设计是开发人员进行的工作,他们将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到工作成果――系统设计说明书是下一个阶段系统实施的工作依据。 2. 系统设计的主要内容 系统设计的主要任务是进行总体设计和详细设计。下面分别说明它们的具体内容。 (1) 总体设计 总体设计包括系统模块结构设计和计算机物理系统的配置方案设计。 <1>系统模块结构设计 系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。在这个过程中必须考虑以下几个问题: 如何将一个系统划分成多个子系统; 每个子系统如何划分成多个模块; 如何确定子系统之间

如何运用结构化思维进行故障处理

蹲街弑〆低调 提交于 2019-12-01 09:57:56
导读:运用结构化思维进行故障处理,其目的是为了将故障应急操作标准化,进而提升处理效率。 近期收到朋友赠送的一本书—《深入浅出MySQL》。闲暇之余,阅读了部分章节,书中针对故障处理一节,给我印象颇深。书中提炼出的一些方法论,正是我之前在团队中推广的方法。其目的是为了将故障应急操作标准化,进而提升处理效率。推而广之,这其实是一种结构化思维在具体工作中的体现。而这种思想在某具体工作、乃至个人、团队发展等,均可发挥重要作用。特写下此文。 一、故障处理流程 1.1 示例:数据库故障处理 下面是来自网易的一些经验,整理自《深入浅出MySQL》一书。 1.1.1 事前:故障处理原则 1)沟通第一 在数据库出现故障时,务必和运维、开发、产品等其他团队保持高效沟通。DBA在遇到故障时,一定不要忘了沟通的重要性,即使时间紧迫,简要的沟通往往也能带来事半功倍的效果。从长远来看,也有利于培养和其他人、其他团队之间的合作和信任关系。 2)关注人为 人为故障占有不小的比例。要通过及时沟通并查看历史记录,确认操作是否有误、要和其他团队沟通是否有特殊操作。当然,解决人为故障最好的方法还是将数据库运维自动化、标准化、规范化。 3)快速恢复 在处理故障的时候,要明确的一个思路是要优先恢复服务,确保服务的最大可用性,其他的不一定要优先考虑。 4)三思后行 有些故障处理方式,可能对数据库造成难以恢复的影响,务必慎重

0928 笔记

倖福魔咒の 提交于 2019-11-30 16:47:37
目录 包 1.什么是包 2.为什么要有包 3.包的导入 1.import + 包名 2.from + 包名 + import + 模块名 3.from + 包名.模块名 + import + 成员名 4.总结 5.绝对导入与相对导入 time模块 1.时间戳 2.格式化时间 3.结构化时间 4.不同格式时间互相转换 结构化时间转格式化时间 格式化时间转结构化时间 结构化时间转时间戳 时间戳转结构化时间 datetime模块 1.当前时间 2.时间加减 random模块 1.随机0-1的小数 2.指定范围随机整数 3.打乱随机 4.随机取一个数 5.只随机一次 6.随机取两个数 hashlib模块 md5算法 hamc模块 typing模块 作用 requests模块 re模块 re.findall() 元字符 1. ^ 以...开头 2. $ 以..结尾 3. . 任意字符 4. \d 数字 获取所有数字 5. \D : 非数字 6. \w 非空 7. \W 空 8. \s 空 9. \S 非空 二 1. + 至少一个 2. ? 有 0-1个 3. * 0到无穷个 4. [] 限定取 5. [^] 限定不取 6. [|] 或 7. {2} 限定数量为2 8. {1,3} 限定数量范围 包 1.什么是包 包是模块的一种形式,包的本质就是一个含有 .py 的文件的文件夹 2

程序流程图、N-S图、PAD图

大城市里の小女人 提交于 2019-11-30 10:05:30
在需求分阶段经常使用3种方法去剖析我们所面对的业务。 程序流程图 任何复杂的程序图都应由5种基本控制结构组成或嵌套而成。 盒图(N-S图) Nassi和Scheiderman提出了一种符合结构化程序设计原则的图形描述工具,叫作盒图,也叫做N-S图。任何一个N-S图,都是下面5种 PAD图 PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。 来源: https://www.cnblogs.com/baby-zhude/p/11577851.html

时间模块(time)

断了今生、忘了曾经 提交于 2019-11-29 06:14:45
python中时间有三种表示方法 时间戳(timestamp) 给计算机看的 例如:时间模块中time.time()就可以查询从19701月1号林晨到现在的时间,用秒表示的。 格式化的时间字符串(Format string) 方便人看 import time print(time.strftime('%Y-%m-%d %H-%M-%S')) print(time.strftime('%Y-%m-%d %X')) 分别对应年月日,时分秒。 其他时间表示方法还有如下图: 元组(strict-time) 计算用 struct_time = time.localtime() print(struct_time) print(struct_time.tm_mon) View Code 这个时候我们可以看到结构化时间就类似于可命名元组,可以直接通过关键字去查询。 三种时间的转换方式 我们可以看到,在字符串时间和时间戳时间进行转换时,都必须通过结构化时间作为中转才能转换。 #时间戳转结构化 print(time.localtime(time.time())) #结构化转时间戳 print(time.mktime(time.localtime())) 字符串转结构化 来源: https://www.cnblogs.com/zly9527/p/11458575.html