- 博客(19)
- 收藏
- 关注
原创 《大话设计模式》——模板方法模式
模板方法模式模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。是实际开发中常用的设计模式。应用场景在面向对象程序设计过程中,常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知...
2020-03-04 17:54:42 426
原创 《大话设计模式》——原型模式
什么是原型模式如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝、克隆)的方式,来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式,简称原型模式。核心:拷贝(克隆)应用场景创建对象包含的申请内存、给成员变量赋值这一过程,本身并不会花费太多时间,对于大部分业务系统...
2020-02-28 18:26:29 213
原创 CentOS7.4 Redis5.0.3配置
本文内容主要包括,以下两个方面:redis的安装及配置redis防入侵的保护措施禁止一些redis高危命令(config,flushall,flushdb,keys)为redis添加密码验证禁止外网访问redis为redis服务创建单独的用户和家目录,并配置禁止登录安装redis# 下载并解压安装包[root@12 ~]# mkdir download[root@12...
2020-02-24 17:10:25 244
原创 Python多重继承之菱形继承
继承是面向对象编程的一个重要的方式,通过继承,子类就可以扩展父类的功能。在python中一个类能继承自不止一个父类,这叫做python的多重继承(Multiple Inheritance )。语法class SubclassName(BaseClass1, BaseClass2, BaseClass3, ...): pass菱形继承在多层继承和多继承同时使用的情况下,就会出现复杂...
2020-02-12 11:21:06 384
原创 《大话设计模式》——工厂方法模式(Python版)
工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。介绍工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。对比简单工厂模式是对简单工厂模式的一个延伸,所以它们诞生的背景以及所解决的问题是大同小异。(不了解简单工厂模式的请看《大话设计模式》——简单工厂模式)简单工厂模式简单来说,简单...
2020-02-05 16:54:16 203
原创 GitHub高级搜索指南
还在为自学时找不到适合练手的项目而苦恼?还在好奇别人是如何在GitHub众多项目中找到高质量代码的?真的是因为他们独具慧眼吗?不,其实他们只是掌握了正确的搜索方法。下面介绍几种常用的GitHub高级搜索方法。相信你看完之后也能很快在GitHub众多项目中找到自己所需的项目。GitHub项目页介绍首先先介绍下,一个GitHub项目页的构成。如上图,其中包含仓库名、star数量、for...
2020-01-19 23:49:32 1127
原创 深入理解协程(四):async/await异步爬虫实战
本文目录:同步方式爬取博客标题async/await异步爬取博客标题本片为深入理解协程系列文章的补充。你将会在从本文中了解到:async/await如何运用的实际的爬虫中。案例从CSDN上批量爬取指定文章的标题。文章列表如下:urls = [ 'https://blog.csdn.net/Jmilk/article/details/103218919', 'htt...
2020-01-18 11:25:54 1571
原创 深入理解协程(三):async/await实现异步协程
原创不易,转载请联系作者深入理解协程分为三部分进行讲解:协程的引入yield from实现异步协程async/await实现异步协程本篇为深入理解协程系列文章的最后一篇。从本篇你将了解到:async/await的使用。如何从yield from风格的协程修改为async/await风格。篇幅较长,请耐心阅读。async/await的引入上篇【yield from实...
2020-01-14 00:15:40 968
原创 AES中ECB模式的加密与解密(Python3.7)
本文主要解决的问题本文主要是讲解AES加密算法中的ECB模式的加密解密的Python3.7实现。具体AES加密算法的原理这里不做过多介绍,想了解的可以参考文末的参考链接。主要解决了两个问题:在Python3.7版本下,所依赖包的安装问题。(有一些博客时间久远,其中所提到的模块并不适用于Python3.7)因为Python版本的问题,其他博客在基于Python3.6下的代码在Python3...
2020-01-12 23:20:19 4115
原创 深入理解协程(二):yield from实现异步协程
原创不易,转载请联系作者深入理解协程分为三部分进行讲解:协程的引入yield from实现异步协程async/await实现异步协程本篇为深入理解协程系列文章的第二篇。yield fromyield from是Python3.3(PEP 380)引入的新语法。主要用于解决在生成器中不方便使用生成器的问题。主要有两个功能。第一个功能:让嵌套生成器不必再通过循环迭代yield,...
2020-01-12 23:11:33 316
原创 【docker】CentOS6.8+Python3.7+selenium+Firefox的搭建
当前Docker容器配置:Centos6.8python2.6.6openssl-1.0.1目标Docker容器配置:Centos6.8python3.7.4openssl-1.1.1selenium 3.141.0geckodriver 0.15firefox 52Pillow 6.1.0pytesseract 0.2.7安装依赖环境yum install -...
2020-01-08 22:31:04 455
原创 【docker】CentOS7.4+Python3.7+selenium+Firefox+tesseract的搭建
当前Docker容器配置:Centos7.4python2.7.5目标Docker容器配置:Centos7.4python3.7.4selenium 3.141.0geckodriver 0.15firefox 56.0.2Pillow 6.1.0pytesseract 0.2.7安装依赖环境[root@bf8feb8d5089 /]# yum install -y...
2020-01-08 22:30:12 517
原创 【docker】CentOS7.4+Python2.7+selenium+Firefox+tesseract的搭建
当前Docker容器配置:Centos7.4python2.7.5目标Docker容器配置:Centos7.4python2.7.5selenium 3.141.0geckodriver 0.15firefox 56.0.2Pillow 6.1.0pytesseract 0.2.7安装依赖环境yum install -y zlib-devel bzip2-devel...
2020-01-08 22:29:20 229
原创 【docker】CentOS6.8+Python2.7+selenium+Firefox的搭建
当前Docker容器配置:Centos6.8python2.6.6目标Docker容器配置:Centos6.8python2.7selenium 3.141.0geckodriver 0.15firefox 52.8.0Pillow 6.1.0pytesseract 0.2.7安装依赖环境yum install -y zlib-devel bzip2-devel o...
2020-01-08 22:28:06 336
原创 用实例理解设计模式——代理模式(Python版)
代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式分为:静态代理动态代理由下面三部分组成:抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实...
2020-01-06 23:35:32 192
原创 神奇的位运算
1. 不用临时变量交换两个数异或运算两个相同的数异或为0 即n ^ n = 0;任何数与0异或为它本身,即n ^ 0 = n。支持交换律、结合律a = a ^ b # (1)b = a ^ b # (2)a = a ^ b # (3)解释如下:把(1)中的 a 带入(2)中,则有b = a ^ b = (a ^ b) ^ b = a ^ (b ^ b) = a ^ 0 ...
2019-12-29 12:52:46 120
原创 《大话设计模式》——简单工厂模式(Python)
简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类.例:使用Python设计一个控制台计算器,要求输入两个数和运算符号,得到运算结果。1. 初学者写法class Operation(object): def __init__(self): pass def conve...
2019-12-22 12:35:41 158
原创 吃透Python上下文管理器
什么是上下文管理器?我们常见的with open操作文件,就是一个上下文管理器。如:with open(file, 'rb') as f: text = f.read()那上下文管理器具体的定义是什么呢?上下文管理器:是指在一段代码执行之前执行一段代码,用于一些预处理工作;执行之后再执行一段代码,用于一些清理工作。比如刚提到的文件操作,打开文件进行读写,读写完之后需要将文件关闭...
2019-12-20 18:46:27 190
原创 深入理解协程(一):协程的引入
原创不易,转载请注明出处深入理解协程分为三部分进行讲解:协程的引入yield from实现协程async/await实现异步协程本篇为深入理解协程文章的第一篇。什么是协程协程:英文叫做 Coroutine,又称微线程,纤程,是一种用户态的轻量级线程。本质上是单线程,拥有自己的寄存器上下文和栈。所以能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态。与多...
2019-12-20 18:31:35 434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人