04 2021 档案
摘要:在一个软件系统中,有时候有些类是互相存在关联关系的 UML表示法 例如: 学生修课程 顾客下订单 所以student和course,customer和order是关联关系,如果两个类不止一种关联关系,要把关联东西一一列出,例如:
阅读全文
posted @ 2021-04-30 14:58
savagefoo
摘要:数据封装 例子: 为大型主机设计操作系统。已决定将提交给计算机的批处理任务分为高优先级、中优先级或低优先级。传入批处理任务必须有三个队列,每个任务类型一个队列。当用户提交任务时,该任务将被添加到相应的队列中,当操作系统确定某个任务已准备好运行时,该任务将从其队列中删除,并为其分配内存。 用结构化语言
阅读全文
posted @ 2021-04-29 11:11
savagefoo
摘要:软件历史 第一代计算机,1945~1957,真空管计算机。 第二代计算机,1958~1964,晶体管计算机。 第三代计算机,1965~1970,集成电路计算机。 第四代计算机,1971~现在,大规模集成电路——个人计算机。 软件概念 机器可读形式的代码 临时和永久的数据 所有的文档 规范文档 设计文
阅读全文
posted @ 2021-04-28 22:12
savagefoo
摘要:困难与难点 知识与技术 大多数开发人员在学校学习计算机技术。他们不善于与用户沟通 开发者不能实现适当的需求文档 许多开发人员缺乏领域知识。 用户无法描述他们的需求 "我知道你相信你听懂了你认为我说的话,但我不确定你是否意识到,你听到的不是我的意思!"——美国副总统 我们非常了解自己的脚,但我们不能准
阅读全文
posted @ 2021-04-28 22:10
savagefoo
摘要:耦合 模块之间的交互程度 模块之间的耦合度越弱越好,越强越差 耦合的五种分类或等级 1.内容耦合 2.公共耦合 3.控制耦合 4.印记耦合 5.数据耦合 1、内容耦合 如果一个模块直接引用另一个模块的内容,那么两个模块就是内容耦合的。 内容耦合的缺点: 图中代码示例:在Order类的内部中,实例化P
阅读全文
posted @ 2021-04-28 21:00
savagefoo
摘要:先理解三个重要名词 客户——客户是指让软件产品得到开发的个人或组织,开发经费是由客户提供的的。 开发人员——开发人员是负责建造软件产品组织的成员 用户——用户受客户委托,代表客户使用该软件,例如:银行的ATM系统的客户是银行,也就是说是有银行来投资建设的ATM系统,而该系统的用户是该银行的广大储户。
阅读全文
posted @ 2021-04-28 20:59
savagefoo
摘要:测试 测试,是一个软件过程的组成部分,是一个贯穿于软件过程的行为,仅仅在工作流结束之后再测试该工作流的产品是远远不够的。 测试由开发人员和软件质量保证人员共同完成。 两种测试类型 基于非执行的测试和基于执行的测试 基于非执行的测试 测试对象包括各种文档和代码 基于非执行测试的方法包括 评审软件,仔细
阅读全文
posted @ 2021-04-28 20:59
savagefoo
摘要:如何获取软件需求 如何获取需求是非常现实的问题,不要有任何浪漫的想法。 获取需求要做四步工作 1.准备阶段 2.需求的抽取、记录和分析 3.完成需求文档 4.需求的确认 1.准备阶段 确定本次需求调研获取或收集什么 明确本地调研的内容 应该事先列出问题清单 通常,用户没有耐心细致的回答问题,所以题目
阅读全文
posted @ 2021-04-28 20:59
savagefoo
摘要:快速原型是一种非常有效的获取需求的手段,是一种能够帮助客户方,用户方和开发方快速准确的获取业务需求的一种方法和手段 目标软件系统的一个模型 它不是真正的实现了软件系统,它只要能够反映一些关键的功能,界面以及必要的一些交互即可,其目的就是要在目标软件系统设计和开发之前,让客户和用户能够看得到,能够提前
阅读全文
posted @ 2021-04-28 20:59
savagefoo
摘要:什么是模块? 语义上连续的一系列计算机语句,由边界符界定,有一个聚合标识符。 例如:在面向对象语言中,一个类,一个方法就是一个模块。在结构化的程序,一个函数可以称为一个模块 将产品分解成模块的方法 模块内最大交互,模块之间最小交互 模块的内聚 一个模块内的交互程度 模块的耦合 模块间的交互程度 内聚
阅读全文
posted @ 2021-04-28 20:59
savagefoo
摘要:什么是字符编码 计算机要想工作必须通电,即用‘电’驱使计算机干活,也就是说‘电’的特性决定了计算机的特性。电的特性即高低电平(人类从逻辑上将二进制数1对应高电平,二进制数0对应低电平),关于磁盘的磁特性也是同样的道理。结论:计算机只认识数字 很明显,我们平时在使用计算机时,用的都是人类能读懂的字符(
阅读全文
posted @ 2021-04-27 16:25
savagefoo
摘要:什么是进制 进制也就是进位制,是利用固定的数字符号和统一的规则来计数的方法,是人们规定的一种进位方法。 对于任何一种进制 X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。 我们平时使用的数字都是由 0~9 共
阅读全文
posted @ 2021-04-27 13:04
savagefoo
摘要:MBR分区 MBR的意思是“主引导记录”,是IBM公司早年间提出的。它是存在于磁盘驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统系统信息,并用一小段代码来启动系统。如果你安装了Windows,其启动信息就放在这一段代码中——如果MBR的信息损坏或误删就不能正常启动Windows,
阅读全文
posted @ 2021-04-27 13:02
savagefoo
摘要:内网穿透 内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。 url:https://b
阅读全文
posted @ 2021-04-27 12:48
savagefoo
摘要:编译package时, 1、必须在源文件声明属于的包 2、必须有public类。 如果只声明属于的包,没有public类,命令行编译后没有反应, 如只有public类,没有声明属于的包,命令行编译后,所有源文件都只会在bin目录,不会有子目录
阅读全文
posted @ 2021-04-25 12:02
savagefoo
摘要:方法一: 颜色的控制通过ESC字符(\033)加”[“加颜色代码加”m”实现。ESC的ASCII码是十进制的27,八进制的033(\033)。 输出方式由三部分组成 \033[字体显示方式;字体颜色;字体背景色m'字符'\033[0m 显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线
阅读全文
posted @ 2021-04-25 10:28
savagefoo
摘要:简介:Base64就是一种基于64个可打印字符来表示二进制数据的编码方法。为什么不直接用ASCII码呢?因为我们输入的字符可能有ASCII码中不可见的字符,为了完全可见,就用了base64编码。 比如Hello这个单词,我们把它变成base64编码怎么做呢? 首先引入ASCII对照表: 2.一个字节
阅读全文
posted @ 2021-04-23 20:34
savagefoo
摘要:计算机依有没有通电来记录信息,所以理论上它只认识 0 与 1 而已。0/1 的单位我们称为 bit。但 bit 实在太小了, 并且在储存数据时每份简单的数据都会使用到 8 个 bits 的大小来记录,因此定义出 byte 这个单位,他们的关系为: 1 Byte = 8 bits 不过同样的,Byte
阅读全文
posted @ 2021-04-23 20:34
savagefoo
摘要:疑难解答 Q:输入 ,得到错误: 。 A:Git命令必须在Git仓库目录内执行( 除外),在仓库目录外执行是没有意义的。 Q:输入 ,得到错误 。 A:添加某个文件时,该文件必须在当前目录下存在,用 或者 命令查看当前目录的文件,看看文件是否存在,或者是否写错了文件名。 Q:git bash的中文乱
阅读全文
posted @ 2021-04-20 20:42
savagefoo
摘要:打标签 像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( 、 等等)。 在本节中,你将会学习如何列出已有的标签、如何创建和删除新的标签、以及不同类型的标签分别是什么。 列出标签 在 Git 中列出已有的标签
阅读全文
posted @ 2021-04-20 20:42
savagefoo
摘要:分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功
阅读全文
posted @ 2021-04-20 20:42
savagefoo
摘要:远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,但开发参与者必须在同一个网络中,且必须有一个项目的原始版本,通常的办法是让一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服
阅读全文
posted @ 2021-04-20 20:42
savagefoo
摘要:特别注意: 千万不要使用Windows自带的 记事本 编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF 8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,
阅读全文
posted @ 2021-04-20 20:42
savagefoo
摘要:一、什么是git git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了
阅读全文
posted @ 2021-04-20 20:41
savagefoo
摘要:Git安装配置 在使用Git前需要先安装 Git。Git 目前支持 Linux、MacOS和 Windows 平台上运行。 Git 各平台安装包下载地址为:http://git scm.com/downloads Linux 平台上安装 在有 yum 的系统上(比如 Fedora)或者有 apt g
阅读全文
posted @ 2021-04-20 20:41
savagefoo
摘要:Git 工作区、暂存区和版本库 基本概念 我们先来理解下 Git 工作区、暂存区和版本库概念: 工作区: 就是你在电脑里能看到的目录。 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,按照 Git 的术语叫做“index(索引
阅读全文
posted @ 2021-04-20 20:41
savagefoo
摘要:获取 Git 仓库 通常有两种获取 Git 项目仓库的方式: 1. 将尚未进行版本控制的本地目录转换为 Git 仓库; 2. 从其它服务器 克隆 一个已存在的 Git 仓库。 1. 将尚未进行版本控制的本地目录转换为 Git 仓库 Git 使用 git init 命令来初始化一个 Git 仓库,Gi
阅读全文
posted @ 2021-04-20 20:41
savagefoo
摘要:十三、动词 动词的定义 动词就是表示动作或者心理行为的词语。很多人都知道表示动作的词语就是动词,但是忽略了,表示心理行为的词语也是动词。比如:know(知道),think(认为),like(喜欢),这些词语并不表示动作,但是这些词语也是动词,因为它们是表示心理行为的。有时候,还要注意,中文跟英语不一
阅读全文
posted @ 2021-04-19 18:32
savagefoo
摘要:1、什么是协程 1.1、协程(coroutine) 是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复,协程是由用户程序自己控制调度的。 协程的本质就是在单线程下,由用户自己控制一个任务遇到IO阻塞了就切换另外一个任务去执行,以此来提升效率。 可以控制多个任务之间的切换,切换
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:1 注意 需要对齐的元素的父元素dispaly的值必须为box box align值为center时,子元素为垂直居中 box pack 属性规定当框大于子元素的尺寸,在何处放置子元素。该属性规定水平框中的水平位置,以及垂直框中的垂直位置。 2 对于水平框,box pack值为center时,子元素
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:可迭代对象是Python中一个非常庞大的概念,它主要包括如下三类: 迭代器 序列 字典 从上图可以看出不同概念之间的关系,迭代器是可迭代对象的一个子集,而生成器又是迭代器的一个子集,是一种特殊的迭代器。除了迭代器之外,Python中还有序列、字典等可迭代对象。 一 、迭代器 一 、迭代的概念 迭代器
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:1 字符串前加 r 1.1 作用: 声明后面的字符串是普通字符串,相对的,特殊字符串中含有:转义字符 \n \t 什么什么的。这样转义符就会被当成普通的字符串,而不会起作用。 1.2 例子: 2 字符串前加 b 2.1 作用: python3.x里默认的str(字符串)是unicode编码的。 b前
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:PEP的全称是 ,其中Enhancement是增强改进的意思,Proposals则可译为提案或建议书,所以合起来,比较常见的翻译是 或`Python改进建议书`。 我个人倾向于前一个翻译,因为它更贴切。Python核心开发者主要通过邮件列表讨论问题、提议、计划等,PEP通常是汇总了多方信息,经过了部
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:Scrapy框架架构: Scrapy框架介绍: 写一个爬虫,需要做很多的事情。比如:发送请求、数据、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求。这些工作如果每次都要自己从零开始写的话,比较浪费时间’因此Scrapy 把一些基础的东西封装好了,在它上面写爬虫可以变的更加的高效(爬取
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:多线程爬虫 有些时候,比如下载图片,因为下载图片的是一个耗时的操作。如果采用之前的那种同步的方式下载。那效率会特别慢。这时候我们就可以考虑使用多线程的方式来下载图片。 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率。线程是在同一时间需要完成多项任务的时候实现。最简单
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:json文件处理: 什么是json: JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:一、准备 安装模块 二、基本使用 默认输出的是markdown的Setext标题语法 三、下面是输出markdown的ATX标题语法实例 四、转载小程序 参考:https://brianli.com/python convert html markdown/
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:进程、线程、协程对比 通俗描述: ( 例如剪刀 ) 她需要花一些财力物力制作一条生长线,这个生长线上有很多的器件以及这些材料所有的为了能够生产剪子而准备的资源称之为:进程 只有生长线是不能够生产的,所有老板找个工人来进行生产,这个工人能利用这些材料最终稿一步步将剪子做出来,这个来做事情的工人称之为:
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:yield ` greenlet 为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变得更加简单 安装方式 : gevert greenlet已经实现了协程,但是这个还得人工切换,是不是觉得太麻烦了。python还有一个比greenlet更强大的并且能够自动
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:功能: 进程,能够完成多任务,比如在一台电脑上能够同时运行多个QQ线程。 能够完成多任务,比如一个QQ中的多个聊天窗口。 定义的不同 进程是系统进行资源分配和调度的一个独立单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单 位,线程自己基本上不拥有系统资源
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:进程以及状态 1,进程 程序:例如xxx.py这是程序,是一个静态 进程:一个程序运行起来后,代码+用到的资源称之为进程,他是操作系统分配资源的基本单元。 不仅可以通过线程完成多任务,进程也是可以的。 2,进程的状态 工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:什么叫多任务呢? 简单的说就是操作系统可以同时运行多个任务,打个比方,你一边在用浏览器上网,一边听歌,一边在用word赶作业,这就是多任务,至少同时有三个任务正在运行。还有很多任务悄悄地在后台同时运行,只是桌面没有显示而已。 现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:excel文件处理 python操作excel主要用到xlrd、wlwt和xlutils这两个库,即xlrd是读excel, xlwt是写excel的库,xlutils是对读写excel操作的正则。 安装 xlrd模块:pip install xlrd 安装 xlwt模块:pipinstall xl
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:正则表达式和re模块: 什么是正则表达式: 通俗理解:按照一定的规则,从某个字符串匹配出想要的数据。这个规则就是正则表达式。标准答案: https://baike.baidu.com/item/正则表达式/1700215?fr=aladdin 正则表达式常用匹配规则: 匹配某个字符串: 点( . )
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:XPth语法和lxml模块 什么是XPath? xpath(XML Path Language)是一门在XML和HTML文档中查看信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。 XPath开发工具 1、Chrome插件Xpath Helper。 2、Firefox插件Try Xpa
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:BeautifulSoup4库 和 lxml 一样,Beautiful Soup也是一个HTML/XML 的解析器,主要的功能也是如何解析和图 HTML/XML数据。lxml 只会局部遍历,而Beautiful Soup是基于HTML DOM的,会载入整个文档,解析整个 DOM树,因此时间和内存开销
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:requests库 虽然Python的标准库中 urllib模块已经包含了我们平常使用的大多数功能,但是它的API使用起来让人感觉不太好,而Requests宣传是 “HTTP for Huamans”,说明使用更简洁方便。 安装和文档地址: 利用 pip 可以非常方便的安装: 中文文档: http:
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:1 是什么 文件在传输中断后,下次传输可以在上次中断的位置继续传输未传输的那部分。 2 有什么用 如果碰到网络故障,或者暂停,可以从已经上传或下载的部分开始继续上传或下载未完成的部分,而没有必要从头开始上传下载,用户可以节省时间,提高速度。 3 怎么做 3.1 HTTP请求头Range range是
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:要让脚本调用的时机符合预期,需要解决一系列的问题。这里看似简单,实际大有文章。最常见的问题就是:HTML 元素是按其在页面中出现的次序调用的,如果用 JavaScript 来管理页面上的元素(更精确的说法是使用 "文档对象模型" DOM),若 JavaScript 加载于欲操作的 HTML 元素之前
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:没有副作用是说,除了变量定义的时候给出的初始值之外,其他表达式不会改变任何变量的值/程序运行的状态。一个函数/表达式的结果仅仅体现在其输入参数和返回值上,输入的参数相同,则返回值相同。除了用函数得到这个返回值之外,函数不会再有其他任何的作用。
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:一直以来,写博客有个痛点,单单在博客平台写文章吧,担心博客丢失或者被删除,如果每次发布后再下载至本地存档,这个过程又过于繁杂。在本地写博客吧,无法便捷的分享和阅读,所以打算写一个本地博客同步的小程序,每次在 用`markdown`写完博客,执行程序自动将本地的博客同步到博客园。 那么如何来实现这个程
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:一、序号的结构层次顺序 1、数字序号的级别顺序 (一)第一层为汉字数字加顿号,例如:“一、”“二、”“三、”。 (二)第二层为括号中包含汉字数字,例如:“(一)”“(二)”“(三)”。 (三)第三层为阿拉伯数字加下脚点,例如:“1、”、“2、”、“3、”。 (四)第四层为括号中包含阿拉伯数字,例如:
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:配置火狐代理配置代理 1、打开fiddler 按图操作,复制选中的链接; fiddler tool connections 2 、打开火狐选项 高级 网络 设置 复制链接到“自动代理配置” 3、将fiddler安装的证书导出到桌面 4、打开火狐浏览器的选项,点击查看证书 5、导入从fiddler导出
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:首先是,硬盘分区越少越好,用文件夹代替。 工作流向 1 收集箱 2 处理中 3 完成了 我的个人文件分类 主业 副业 学习 生活 杜威十进图书分类法 1.自动排序 2.可拓展性强 文件命名版本号 文件内容 所属项目 日期 版本号用v
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:三、表语 表语其实属于谓语的范畴,但是不能说表语就是谓语,因为“系动词+表语“才是谓语。系动词和表语是不能分开的。没有系动词就没有表语;没有表语就没有系动词。 表语的定义跟状态型的谓语一样的。说明主语是什么或者怎么样的词语就是表语,也可以说是说明主语的情况或者说明主语状态的词语。总之,系动词后而的词
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:四、宾语 宾语是最容易理解的句子成分。宾语就是动作的对象或者承受者。英语的实义动词分为及物动词和不及物动词。 及物动词后面一定要跟一个动作的对象或者承受者,也就是宾语。因为如果没有宾语,这些及物动词就没有意义了或者意思不完整了。我们先看中文的例子:“买“就是一个典型的需要加宾语的动词。我们去买东西的
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:五、宾语补足语 在英语里面,有些动词加上宾语之后,意思还是不完整, 比如下面的动词: Make (使,让) let (让)get(让) have (让,使) find(发现) call (叫,称为) see (看见) keep (保持) put (放) 这个时候,就需要加上一个词语补充宾语的意思,使
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:OSI分层模型 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:学语法就是为了造句,而语法的核心就是动词,造一个句子要看动词用什么,从动词来分析句子结构,了解句子需要哪些成分,从而造句子。 英语最基本的句子 什么 怎么样 什么 就是主语,主语一般指 人或物 怎么样 就是谓语,谓语指的是 发生了什么事 英语句子拆分到不能再拆分的句子就是最基本的句子即简单句, 英语
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:动词语气 Verb Moods 动词语气可和一个人的心情可是毫无关系,动词语气≠说话语气, 语气分类 主要三种:陈述语气,祈使语气,虚拟语气, 还有其他:疑问语气,条件语气,感叹语气。 陈述语气(indicative mood) 说白了就是描述现实,比如: 这兔子吃了胡萝卜. The rabbit
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:两个中文语法正确,英语语法错误的句子。 兔子很喜欢吃胡萝卜。 ~~The rabbit likes eat carrot.~~ 兔子很高兴处胡萝卜。 ~~The rabbit is happy eat a carrot.~~ 谓语动词三大本领: 能够表达动作的 时间 , 状态 , 语气 ,在句子中通
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:十、名词 一、名词的定义:世间万物的名称。 名词的定义很容易理解,名词就是世问万物的名称。世界上所有的东西,都一个名称,包括抽象的,看不见的东西。比如我们每个人都有一个名称,这就是我们的名字,所以人名也是名词。我们用的电脑(computer),钢笔(pen),手机(mobile phone/cell
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:十一、代词 代词的定义 代词是为了避免重复而用来代替名词的词语。英语代词可分为以下九类: 人称代词、物主代词、反身代词、相互代词、指示代词、不定代词、疑问代词、连接代词和关系代词 。大多数代词具有名词和形容词的作用。代词的使用频率很高,而且种类多。有些代词用法比较复杂,为了让大家更好入门,所以这节课
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:十二、形容词 形容词[adjective 简称adj.或a.],是英语很常见的词类。形容词主要用来修饰名词或代词,表示人或事物的性质、状态和特征的程度好坏与否。 形容词是个很重要的词语,使用频率高,数量也多(排在数词和名词的后面),所有要多积累形容词。形容词分为两种: (1)普通形容词 |beact
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:副词 副词是修饰动词,形容词,其他副词的词语,有时也可以修饰数词,介词,连词,名词或全句。副词是表示行为或状态特征词,主要作状语,也可以作表语,定语,补足语或介词宾语。 这个定义理论性太强了,甚至有些笼统,抽象。其实不必把副词弄得那么复杂,可以通过作用来理解。时间副词,地点副词和方式副词主要作状语;
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:一、主语 定义 :主语是一个句子叙述的主题。这个定义可能有点抽象。我们可以这样理解主语,主语就是一句话主要叙述的对象或者这句话主要讲的。这句话主要讲什么,这是“什么”就是主语。我们先用中文来解释:“我是中国人”,这句话,主要讲的是“我”,而不是中国人,所以“我”是主语。“英语很难学”这里主要是将英语
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:二、谓语 定义,说明主语动作或者状态的词语,或者这样理解,说明主语做什么或者主语是什么,主语怎么样的词语。 所以谓语是分两种,一种是动作型的谓语,另一种是状态型的谓语。说明主语是做什么的,就是动作型的谓语;说明主语是什么或者怎么样的就是状态型谓语。现在,我们先用中文来理解:“我每天吃一个苹果”这里是
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:1、同步、异步、阻塞、非阻塞 1.1 、从单进程的的维度来看 1.1.1、同步与异步 同步与异步针对的是 函数/任务的调用方式 ,同步和异步关注的是 消息通信机制 (synchronous communication/ asynchronous communication)。 所谓同步,就是当一个进
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:重构 重构(Refactoring)就是在不改变软件系统外部行为的前提下,改善它的内部结构,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。 ex1: 从单个字母的“i”重构为“interestRate”(利率,图一) ex2: 较复杂的重构是把一段
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:面向过程(Procedure Oriented) 定义 :面向过程(Procedure Oriented)是一种思想,是人们考虑解决问题的方法,它是将一个问题拆分成多个小问题,直至一个小问题可以直接解决为止。 面向过程编程 定义 :面向过程编程是将面向过程的思想应用到编程领域,是一种以过程为中心的编
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:六、状语 状语是一个很重要的句子成分。很多人都觉得状语难理解,所以这里就不讲语法书的定义了,教大家用一个更简单的方法去理解: 状语就是说明谓语的情况,状语只跟谓语有关系。 英语的状语一般放在句子的后面,这点跟中文不一样,中文的状语放在中间。(如:我今天很开心。我在广东教英语) 状语分为很多种,有时间
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:七、定语. 修饰或限定名词的词语叫定语。定语只跟名词有关系(这个很特殊,跟其他任何句子成分都没有关系)。哪里有名词,哪里就有定语。 不管在什么语言里面,名词都是需要定语的(特殊情况除外)。如果没有定语,名词的范围就太广了。意思就不清楚了。比如说:你去帮我买苹果。这句话是有问题的,因为苹果这个名词,没
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:8. 八、同位语 同位语的意思就是,两个不同的词语都表示同一个事物或人。同位语起到强调补充说明的作用。 请看下面的例子: my father,the fat man,is drinking. 我爸爸,就是那个胖男人,正在喝酒。“my father”和“the fat man”都指同一个人,所以“th
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:九、五个基本句型. 现在我们已经大概了解各个句子成分的情况了。但是只知道句子成分,还不能造句。还需要知道各个句子成分的位置。英语里面有五种摆放句子成分的方式,也就是五个基本句型,或者五个造句的基本公式.英语的句子不管多么复杂,都是由这个五个基本句型变化而成的。 、主语+谓语(不及物动词)+状语(表示
阅读全文
posted @ 2021-04-19 18:30
savagefoo
摘要:大脑是用来思考的,而不是用来记忆的! 什么是知识体系 在说知识体系之前,我们首先要说知识,那什么是知识呢? 知识的定义是:人类认识自然和社会的成果或结晶。包括经验知识和理论知识。 毛主席《整顿党的作风》:“自从有阶级的社会存在以来,世界上的知识只有两门,一门叫做生产斗争知识,一门叫做阶级斗争知识。自
阅读全文
posted @ 2021-04-07 20:57
savagefoo
摘要:socket简介 1、不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标记一个进程,否则通信无从谈起! 在一台电脑可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的。 其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“IP地址”可以唯一表示网络中的主机,而传输层的”协
阅读全文
posted @ 2021-04-06 13:00
savagefoo
摘要:伪代码 (英语:pseudocode),又称为 虚拟代码 ,是高层次描述算法的一种方法。它以编程语言的书写形式指明算法的职能,它是半形式化、不标准的语言。我们可以将整个算法运行过程的结构用接近自然语言的形式(这里可以使用任何一种作者熟悉的文字,例如中文、英文,重点是将程序的意思表达出来)描述出来。使
阅读全文
posted @ 2021-04-06 13:00
savagefoo
摘要:测试驱动开发,英文全称Test Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。 例子: 盖
阅读全文
posted @ 2021-04-06 13:00
savagefoo
摘要:1、面向对象思想的起源 艾伦·凯 Smalltalk语言之父 创造性地提出面向对象编程思想 提出Dynabook的概念 2003年获得图灵奖 计算机界的一位天才级人物 Alan.Kay 所有对事物的认识都始自于我们不愿盲目地接受这个世界 艾伦.C.凯 生平:家庭的熏陶 1940年,艾伦·凯出生在美国
阅读全文
posted @ 2021-04-06 13:00
savagefoo
摘要:这篇文章讲述了上网时数据包转发的全过程,下面是电脑和网络设备连接简略图: 以PC1 ping PC3为例讲述数据包转发过程: 1、当PC1 ping PC3时,发现它们的IP不在同一网段,PC1就将数据包发送至网关(1.1.1.1/24),这时需要知道网关的MAC地址, PC1于是查找自身ARP缓存
阅读全文
posted @ 2021-04-06 12:59
savagefoo
摘要:十进制和二进制的转换表 IP地址分类 特殊IP地址 一些特殊的IP地址: IP地址127.0.0.1:本地回环(loopback)测试地址 广播地址:255.255.255.255 IP地址0.0.0.0:代表任何网络 节点号全为1:代表该网段的所有主机 私有IP地址 私有IP就是在本地局域网上的I
阅读全文
posted @ 2021-04-06 12:56
savagefoo
摘要:1 XPath Helper是什么 XPath Helper是一个谷歌浏览器插件,能在网页中用xpath语法定位元素 2 下载地址 谷歌应用商店 https://chrome.google.com/webstore/category/extensions 3 使用 3.1 方法一 长按 ,鼠标指向需
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:什么是搜索引擎优化: SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移。 详细请参考百度
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:1、site: site:,用来搜索某个域名下的所有被搜索引擎收录的文件,适用于所有的搜索引擎。 另外,site命令还可以限制在某一网站内搜索,site语法把搜索范围局限在这些网站内,以提高搜索效率。 语法: 关键词 site: 网站(不需要输入http://) 例子: 服务器 site:hp.co
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:什么是Flask框架: Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:ThinkPHP框架 ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:1 翻译工具评测 这里抽取了主流翻译平台,百度翻译、有道翻译、谷歌翻译、必应翻译、金山翻译和沪江翻译,以下是翻译测试: 评测结果: 由于沪江翻译跟百度完全一样,故排除沪江。 金山相比百度、谷歌、必应和有道差很多,句子翻译生硬而且不准,故排除金山。 2 翻译项目 2.1 项目架构: 客户端 服务器,
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:cmd和powershell是一个命令行程序,powershell是微软推出的功能更强大的shell,powershell可以比cmd做更多的事情。 powershell是基于.net的,只要你足够了解.net,你可以使用她做任何你想做的事情。 Windows PowerShell 是专为系统管理员
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:一、了解睡眠,休眠,关机,重启的定义 睡眠 :电脑保持开机状态,但耗电较少。应用会一直保持打开状态,这样子在唤醒电脑后,可以立即回复到离开时的状态。 休眠 :关闭电脑,但应用会一直保持打开状态。这样当打开电脑时,可以恢复到你离开时的状态。 关机 :关闭所有应用,然后关闭电脑。 重启 :关闭所有应用,
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,遵守以下这条:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。 因为
阅读全文
posted @ 2021-04-06 12:55
savagefoo
摘要:var与let、const 一、var声明的变量会挂载在window上,而let和const声明的变量不会: 二、var声明变量存在变量提升,let和const不存在变量提升 javascript console.log(a); // undefined === a已声明还没赋值,默认得到undef
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:浅拷贝和深拷贝 浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用。浅拷贝是指拷贝一层,深层次对象级别就只拷贝引用;深拷贝是每一层的数据都会拷贝出来。简单来说就是浅拷贝的时候如果数据是基本数据类型,那么就如同直接赋值那样,会拷贝其本身; 深拷贝: 创建一个新的对
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:1 什么是油猴脚本 油猴脚本是一个可以运行用Javascript写的脚本的管理器插件,可以指定在某些网站运行,将js脚本添加在某些网站上。 2 同步 2.1 注册一个微软账号。 2.2 打开oneDrive网站,登录网站。 2.3 打开 tampermonkey 的管理面板,点击设置。 2.5 找到
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:油猴Tampermonkey 一、介绍 Tampermonkey是一个浏览器插件,Tampermonkey通过加载第三方的脚本文件,改变页面中的CSS和JS元素,可以让整个网页大变样,也可以在网页中增加额外的功能。 Tampermonkey文档:https://www.tampermonkey.ne
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:返回固定页面的http服务器 返回用户需要的页面 web静态服务器 多进程 web静态服务器 多线程
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:1 markdown 是什么 markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber)。 2017年,GitHub发布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式规范。除了表格、删除线、自动链接和任务列表被GitHub
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:Sign签名生成与校验 大家先思考一个问题: 你在写开放的API接口时是如何保证数据的安全性的? 先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题,例如: 1. 请求来源(身份)是否合法? 2. 请求参数被篡改? 3.
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是w
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:手机端抓包配置 fiddler监听端口默认是 8888,你可以把它设置成任何你想要的端口。勾选上 “Allow remote computersto connect” ,允许远程设备连接。 为了减少干扰,可以去掉 “Act assystem proxy on startup” 。 首先查看电脑的 I
阅读全文
posted @ 2021-04-06 12:54
savagefoo
摘要:1、 clientHeight,只读 clientHeight 可以用公式 CSS height + CSS padding 水平滚动条的高度 (如果存在) 来计算。 如图,这样一个div,它的clientHeight为95,计算:50(height)+30(padding top)+30(padd
阅读全文
posted @ 2021-04-06 12:53
savagefoo
摘要:Response.json()为啥返回一个promise? 自从基于promise的fetch api横空出世以后,AJAX也改名叫AJAJ了。处理http请求变得更简单了,但使用fetch的时候经常需要这样写: 其中第一个await很好理解,等待网络响应需要await一下,可是response对象
阅读全文
posted @ 2021-04-06 10:11
savagefoo
摘要:在JavaScript中, ES6开始有rest参数 和 三个点扩展运算符 (spread运算符) 我们来看看他们各自的用处 1. rest参数 rest参数的形式为 ...变量名 用于获取函数调用时传入的参数. 顾名思义, rest参数表示的是除了明确指定的参数外,剩下的参数的集合, 它的类型是A
阅读全文
posted @ 2021-04-06 10:11
savagefoo
摘要:动态网页抓取 什么是AJAX: AJAX:( Asynchronous Javascript And XML)异步javascript和XML。过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以异步重载网页页面。因为传统的传输数据格式方面使用的是XML语法。因此叫做 AJ
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:Scrapy快速入门: 安装和文档: 1、安装:通过pip install Scrapy即可安装 2、Scrapy官方文档: http://doc.scrapy.org/en/latest 3、Scrapy中文文档: http://scrapy chs.readthedocs.io/zh_CN/la
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:1 伪多线程 1.1 GIL python的cpython解释器由于有GIL(全局解释锁),CPU 同一时刻同一进程中只有一个线程被执行。 详细GIL参考:https://www.cnblogs.com/linhaifeng/articles/7449853.html 但是,进程没有GIL,也就是说
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:Visual Studio代码中的代码片段 代码段是模板,可让您更轻松地输入重复的代码模式,例如循环或条件语句。 在Visual Studio Code中,代码片段会与其他建议一起出现在智能感知中,也出现在专用的代码片段选择器中(在“命令面板”中 插入代码片段 )。还支持制表符补全:使用启用它 ,键
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:解决方案: 打开VScode,按 进入设置,在搜索栏输入git.path,编辑setting.json,在git.path后面输入git安装的路径,然后重启VScode。
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:打开VScode ,按快捷键 【Ctrl + , 】打开设置 搜索 ruler 打开 settings.json 文件 填入python ,可以指定python这门语言,rulers 填的列表,填写多个值,有多个垂直线。 参考: https://blog.csdn.net/yageeart/arti
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:今天介绍一款在vscode中对代码截图的插件——polacode, 安装插件: 选择polacode 2020 安装即可。 使用: 打开代码编辑页面,然后按"ctrl+shift+p" ,输入polacode、回车即可。接下来,选中代码,就会生成对应的截图,我们还可以设置大小、透明度、边框、颜色..
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:图像验证码识别技术: 阻碍我们爬虫的。有时候正是在登陆或者请求一些数据时候的图形验证码。因此这里我们讲解一些能将图片翻译成文字的技术。将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition)简称 OCR。实现OCR的库不是很多,特别是开源的。因为这块存在一
阅读全文
posted @ 2021-04-05 00:17
savagefoo
摘要:sv文件处理 读取csv文件: 这样操作,以后获取数据的时候,就要通过下表来获取数据。如果想要获取数据的时候通过标题来获取。那么可以使用 DictReader。示例代码如下: 写入数据到csv文件中: 写入数据到csv文件中,需要创建一个 writer 对象,主要用到两个方法。一个是 writero
阅读全文
posted @ 2021-04-05 00:16
savagefoo
摘要:进程间通信 Queue Process之间有时候需要通信,操作系统提供了很多机制来实现多进程间的通信。 1、Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: 进程池Po
阅读全文
posted @ 2021-04-05 00:15
savagefoo
摘要:多线程基础的学习,在爬虫教程系列/第4章:爬虫进阶里面有了。 同步的概念 同步就是协同步调,按预定的案后次序进行运行。如:你说完,我在说。“同”字从字面上容易理解为一起动作其实不是,“同”字应是协同、协助、互相配合。 如进程、线程同步,可理解为进程或线程A和B一起配合,A执行到一定程度时要依靠B的某
阅读全文
posted @ 2021-04-05 00:15
savagefoo
摘要:1 、一般同步下载 示例代码: 2、 使用流式请求,requests.get方法的stream 默认情况下是stream的值为false,它会立即开始下载文件并存放到内存当中,倘若文件过大就会导致内存不足的情况,程序就会报错。 当把get函数的stream参数设置成True时,它不会立即开始下载,当
阅读全文
posted @ 2021-04-05 00:15
savagefoo
摘要:1 一般的写入文件 open() 方法用于打开一个文件,并返回文件对象,用文件对象调用写入方法,然后关闭文件对象。 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法,因为文件对象不关闭会占用系统资源。 由于文件读写时都有可能产生IOError,一旦出错,后面的f.c
阅读全文
posted @ 2021-04-05 00:15
savagefoo
摘要:urllib库 urllib库是Python是中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据。 urlopen函数: 在 Python3的urllib库中,所有和网请求相关的方法,都被集到request模块下面了,先来看下 urlopen函数基
阅读全文
posted @ 2021-04-05 00:15
savagefoo

浙公网安备 33010602011771号