自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (4)
  • 收藏
  • 关注

原创 欢迎一起学习

关于学习 学无止境,一起成长 欢迎访问我的GitHub主页:https://github.com/lanms如果有问题,可以发邮件到我的邮箱 1367000465@qq.com       ...

2018-06-16 08:41:58 42024

原创 Python设计模式08-享元模式

享元模式 介绍享元模式通过为相似对象引入数据共享来最小化内存使用,提升性能,一个享元就是一个包含状态的独立的不可变数据的共享对象,依赖状态的可变数据不应是享元的一部分,因为每个对象的这种信息不相同,无法共享,如果享元需要非固有数据应该由客户端代码显示提供。例如我们正在设计一个性能为关键的游戏,例如第一人称设计游戏(FPS),在FPS游戏中,玩家(士兵)共享一些状态,如外在的表现和行...

2018-10-05 19:59:48 37534

原创 Python设计模式07-外观模式

外观模式系统会随着演化变得非常复杂,最终代码内部的类有大量的交互,错综复杂,不适合将其暴露给客户,外观设计模式有助于隐藏系统的内部复杂性,并通过一个简化的接口向客户端提供数据。本质上,外观模式是在已有的复杂系统上实现的一个抽象层。外观模式常用于给一个复杂的系统提供简单的接口 核心实现方法是使用,抽象方法在类中实现固定接口,将其他没必要暴露在外的方法都交给类内部自己实现,在调用需要实...

2018-09-30 21:39:01 39236

原创 Python设计模式06-修饰器模式

修饰器模式和继承相比,通常因该优先选择组合,因为继承使得代码更加难复用,继承关系是静态的。修时器模式能够以透明的方式动态的将功能添加到一个对象中,对该对象的功能进行扩展。 代码示例https://github.com/lanms/Python_design_pattern/blob/master/05-deactor_pattern.py...

2018-09-30 21:38:11 38932

原创 Python设计模式05-适配器模式

介绍适配器模式是一种结构型设计模式,帮助我们实现两个不兼容接口之间的兼容,实际就是将原来的对象转换为后者可以使用的对象将不同的对象实例化,并且赋予同样的接口指向对象内部不同的方法,实现统一方法不同的返回的适配器效果 代码示例https://github.com/lanms/Python_design_pattern/blob/master/04-adapter.py...

2018-09-29 22:05:42 39267

原创 Python设计模式04-原型模式

介绍通过对传入的对象做深拷贝, 并且通过内部的更改对象属性的方法来使原始传入的对象的副本进行加工,最终在原始对象的原型的基础上得到新的对象 原型模式用于创建对象的完全副本,确切的说,创建一个对象的副本可以指代以下两件事 当创建一个浅副本时,副本依赖引用 当创建一个深副本时,副本复制所有的东西 第一种情况,我们关注提升应用性能和优化内存使用,在对象之间引入数据共享,单...

2018-09-29 22:04:43 40158

原创 python设计模式03-建造者模式

建造者模式对比工厂模式建造者模式对比工厂模式两者之间的差别并不明确,主要的区别在于工厂模式以单个步骤创建对象,而建造者模式以多个步骤创建对象,并且几乎始终会使用一个指挥者。另外一个区别是,在工厂模式中会立即返回一个创建好的对象,而在建造模式下,仅在需要客户端代码显示是才会请求指挥者返回最终的对象,可类比Django对数据库的操作 适用场景 想要创建一个复杂对象,对象由多个部分构成...

2018-09-24 09:57:28 39610

原创 python设计模式02-工厂模式

介绍在工厂模式中,客户端可以请求一个对象,而无需知道这个对象来自哪里,也就是,使用那个类来生成这个对象,共仓背后的思想是简化对象的创建,与客户端自己基于类实例化直接创建对象相比,基于一个中心化函数来实现,更易于追踪创建了那些对象,通过将创建对象的代码和使用对象的代码解耦,工厂能够降低应用维护的复杂度。工厂通常由两种方式,一种是工厂方法,它是一个方法,对不同的输入参数返回不同的对象,第二种是...

2018-09-23 17:03:49 39571

原创 Python设计模式01-介绍

简介Python的设计模式可以分为三大类,创建型模式,结构型模式,行为型模式 创建型模式介绍处理对象创建的设计模式,具体有: 工厂模式 建造者模式 原型模式 结构型模式介绍处理一个系统中不同实体(类、对象等)之间的关系,具体有: 适配器模式 修饰器模式 外观模式 享元模式 模型-视图-控制器模式 ...

2018-09-23 17:02:54 39799

原创 Tornado介绍和开始使用Tornado

Tornado简介Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器兼Web应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。特点: 作为Web框架,是一个轻量级的Web框架,类似于另一个Python web框架Web.py,其拥有异步非阻...

2018-09-16 17:36:00 41389

原创 关于Python单元测试模块Unitest

单元测试 白盒测试和黑盒测试 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过...

2018-09-02 21:04:16 42412

原创 关于MySQL性能优化

MySQL优化 SQL优化 参数配置优化  对sql语句进行优化缓存查询语句: 不开启缓存的情况:cursor.execute("select username from user where singup_data>=curdate()"); 开启缓存进行查询:cursor.execute("select * from user where si...

2018-09-02 21:03:17 42094

原创 MySQL / Redis / MongoDB 读写分离设置

数据库读写分离设置MySQL # master配置 server-id=200   # 一般取IP的最后一组数字 innodb_flush_log_at_trx_commit=2 sync_binlog=1 log-bin=mysql-bin-200 binlog-do-db=  # 同步的数据库的名称,全部可以使用 * 重启MySQL # 客户端执行...

2018-08-09 19:40:07 42406

原创 Scrapy通用爬虫

通用爬虫主要时通过继承 CrawlSpider, 定义一些爬去的规则来实现页面的提取CrawlSpider 它继承自 Spider 类,除了spider的所有方法和属性之外,它还提供了几个特殊的属性 rules 爬取的规则,包含一个或者多个Rule的对象的列表,每个 Rule 对爬取网站的动作都做了定义 parse_start_url 它时一个可以重写的方法,当s...

2018-08-07 19:47:01 42404

原创 Scrapy-redis实现分布式爬虫的要点

分布式爬虫的要点 核心配置: 将调度器的类和去重列表的类替换为 Scrapy-redis 提供的类,在settings.py添加如下设置 # 配置连接Redis REDIS_HOST = REDIS_PORT = REDIS_PASSWORD = ​ # 连接mongodb MONGO_URI = 'mongodb://user:password@127...

2018-08-07 19:45:54 42258

原创 数据可视化Echarts

Echarts的使用具体的使用方法官网有很详细的文档,这里就不再多说了,这里只是简单的总结一些参数的用法官方文档饼图 南丁格尔图Ajax异步加载数据使用流程 定义页面放置图形的容器 引入ecahrts.min.js 初始化echarts实例 var myChart = echarts.init(document.gentElementById...

2018-08-05 09:32:31 44345

原创 使用Restframework+django_filters快速实现Django的API

 环境:pip install restframework=3.4.6pip install django_filterproject->settings.py ​ INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib...

2018-08-04 11:14:44 43337

原创 Python的元类的用法

元类介绍type可以直接生成类(class),但也可以先生成元类(metaclass),再使用元类批量定制类(class)使用 class 创建类 ​ class Hello():    def say(self, name='world'):        print('Hello, %s' % name)       h = Hello() h.sa...

2018-08-03 20:42:46 42125

原创 sklearn常用算法模型 KNN / 岭回归 / Lasso / Logistic / SVC / 决策树 / 贝叶斯 / K-Means

机器学习常用算法小结有监督 有答案的 商用最多的,主要是分类 无监督 没有答案 半监督 部分有答案 使用有答案的数据进行训练模型,然后使用陌生数据进行验证 过拟合和欠拟合 过拟合:使用样本的特征过多,导致很多无用的特征被加入到计算中,导致模型泛化受到过多无用特征的影响,精度变得很低 欠拟合:在选取特征时,选取的过于简单,主要的特...

2018-07-28 17:01:07 44239

原创 机器学习基础工具 Numpy / Pandas / Matplotlib总结

机器学习基础numpy,pandas,matplotlib总结 numpyimport numpy as np创建数组的类型的优先级 str>float>int指定数组的类型:dtype,其中,np.int8,np.int16 等表示占的内存的大小保存的数据类型: order创建数组创建 ndarray 对象: np.array() 可以传入一个列表创建...

2018-07-28 16:45:43 42672

原创 Pandas之DataFrame

DataFrameDataFrame运算Pandas 的聚合函数数据丢失处理傅里叶变换, 进行图像轮廓突出显示多层索引创建多层索引datafrme 显示构造索引多层索引多层索引获取数据DataFrame操作索引的堆 (stack)聚合操作拼接操作Connect行或者列不匹配级联append() 添加merge() 合并一对一合并多对一合并多对多合并使用keys 规范化内合并和外合并列冲突删除重...

2018-07-28 16:38:58 43017

原创 TensorFlow 介绍和利用TensorFlow 模拟实现线性回归

TensorFlow Tensor(张量), 意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端 支持CNN(卷积神经网络)、RNN(循环神经网络)和LSTM(长短期记忆网络)算法,是目前在 Image,NLP最流行的深度学习神经网络模型  对比传统深度学习,为什么使用TensorFlow 深度学习意味着建立具有...

2018-07-21 12:42:10 42260

原创 beautifulSoup实用基本用法

beautifulSoup安装包pip install beautifulsoup4导入包form bs4 import BeautifulSoup1. 基本用法beautifulSoup得到的是一个 bsObj 我们可以在它的基础上进行获取我们需要的信息 ​ ​ from urllib.request import urlopen from bs4 import Beaut...

2018-07-14 22:11:24 45272

原创 python 爬虫基本组成

基本组成爬虫通常分为数据采集(网页下载)、数据处理(网页解析)和数据存储(有用的信息持久化)三个部分。工作流程:设定抓取目标(种子页面/起始页面)并获取网页。当服务器无法访问时,按照指定的重试次数尝试重新下载页面。在需要的时候设置用户代理或隐藏真实IP,否则可能无法访问页面。对获取的页面进行必要的解码操作然后抓取出需要的信息。在获取的页面中通过某种方式(如正则表达式)抽取出页面中的链接信息。对链接...

2018-07-14 22:05:30 43315

原创 django基础小结02

表单提交, request.method cookie session表单提交的令牌{% csrf_token%}随机令牌, 放置重复操作, 重放攻击, 只有每次都是不同是才表示不是恶意访问type='hidden' 隐藏域, 页面上不会显示input通过模板对数据库中关联的表进行重写操作,验证有效性继承自forms.Form 和 forms.ModelForm页面模板 &lt...

2018-07-03 13:47:59 42086

原创 django基础小结

Pyhton 的 web开发框架Flask / Django / Tornado / Pyramid / Bottle / Web2py / web.py / Django高内聚, 低耦合使用MVC架构 (model controller view)做到数据与数据的显示解藕和, 同一组数据可以以不同的形式显示Djago可以快速上手, 快速出产品Django开始项目步骤创建虚拟环境pyth...

2018-07-03 13:47:20 42269

原创 Django表单提交数据

Django表单处理表单提交数据终端from car_no.views import CarRecorsformf = CarRecordForm()f.as_table() as_p()P标签 as_ul() 列表 f.is_valid()  查看输入是否有效 f.errors auto_now     第一次插入数据时记录时间, 不会修改 auto_now_...

2018-07-03 13:45:23 43131

原创 Django快速开发Web应用,开始项目

Django快速开发步骤mkdir DIR_NAME 在创建的文件目录下创建虚拟环境 python3 -m venv VENV_NAME激活虚拟环境 - source ./activatepython -m pip install --upgrate pip 升级pip pip install Django 安装Djangodjango-admin --version 查看版本dja...

2018-07-03 13:37:26 42527

原创 关于Web应用和Django创建

web应用为什么使用web 应用基于浏览器访问, 浏览器普及率高使用方便, 不用单独安装客户端更新不用用户更新版本, 直接后台升级后,用户可以直接使用使用过程输入URL --> 询问IP地址(DNS) , 返回IP地址 --> HTTP通信 (反向代理 -- > web服务器)--> 执行web应用 --> 过响应返回内容url 统一资源定位符域名 与DNS 域...

2018-07-03 13:36:01 42043

原创 读写csv文件-PDF文件-docx文件

### csv文件 ​ with open('./file/MontyPythonAlbums.csv', 'r') as f:    with open('test.csv', 'w') as t: ​        csvReader = csv.reader(f) # 读取文件        for row in csvReader:            ...

2018-06-30 13:18:26 42149

原创 数据库和Python结合的简单-通讯录系统

暂时能够实现简单的增删改查的功能, 还需要对录入的信息进行一些条件的限制,. import pymysql ​ ​ class Foo(object): ​    conn = pymysql.connect(host='localhost',                           port=3306,                   ...

2018-06-28 08:00:30 45858 1

原创 非关系型数据库 redis, 应用场景对比, Redis配置(redis.config)

应用对比,MySQL与Redismysql适用于高度事务性的系统。例如银行或者会计系统,传统的关系型数据库目前还是更实用于需要大量原子性复杂事务的应用程序传统的商业智能应用,针对特定问题的BI数据库会对产生高度优化的查询方式,对于此类应用,数据仓库可能是更合适的选择Redis用来做缓存-redis的所有数据时放在内存中的可以在某些特定应用场景下替代传统数据库--比如社交类的应用在一些大型系统中,巧...

2018-06-27 22:13:11 43623

原创 在Python中操作数据库

ORM - Object Relation Mapping 对象关系映射关系型数据库 - 关系模型Python 程序 - 对象模型第三方框架 Alchemy 可以完成对象关系的双向转换,可以直接操作 数据库, 不用写 SQL 语句, 但是会降低性能关键字host / [port] / user / passwd / db / charset / [autocommit / cursorclass=...

2018-06-27 22:12:26 43151

原创 数据库 事务提交和回滚

事务 - (transaction / tx)原子性操作性(不可以分割的操作) - 要么全做, 要么全不做事务的特点 - ACID 特性A - atomicity 原子性 : 不可分割, 要么成功要么全失败C - Consistency 一致性: 事务前后数据状态要保持一致, 总数一致I - Isolation - 隔离性 : 多个事务不能看到对方的中间状态(提交或者回滚之前的状态...

2018-06-27 22:11:43 64238 3

原创 数据库的 索引 视图 存储过程 触发器

索引索引会加速查询, 但是会使增删改变慢 , 每次都要更新索引根据需求建索引, 经常查询的属性索引相当于是一个目录, 可以加速查询提升查询效率索引是典型的空间换时间的技术,增加了索引是的查询更加快捷查询到想要的内容 -- 创建索引   自动给 主键 和外键 加索引 create index IDxStudent on TbEmp(ename); --           给索引命...

2018-06-27 22:10:53 42375

原创 数据查询语言,查询,筛选,分组,排列,分页

DQL - 数据查询语言关键字 SELECT / as / from /( = <> < > )/ is null / is not null/ distinct (去重)/ order by...[asc desc] /group by ... having / where (条件) /inner join... on / left outer join ... ...

2018-06-27 22:10:10 41982

原创 范式理论介绍, 关系型数据库的数据完整性, MySQL的授权语言DCL

关系型数据库中数据完整性指的是什么?实体完整性: 每条记录都是独一无二的没有重复的 (主键/唯一约束/唯一索引)参照完整性: 表中的数据要参照其他表已有的数据(外键)域完整性: 数据是有效的 (满足建表的约束 - 数据类型/非空约束/默认值约束/检查约束)表的设计原则 : 范式理论(1NF/2NF/3FN/BCNF)范式级别表示表的规范程度, 范式级别越高表示表的规范程度越高范式级别越高在插入 ...

2018-06-27 22:09:28 42205

原创 MySQL - 的 1-1 1-N M-N 建表关系

1.关键词auto_increment 自动增长not null不能为空bit 0 和 1primary key () 主键alter table tb_one add column saddr varchar (100); 增加新属性alter table tb_one drop column stel;删除属性insert into tb_one (属性) values (属性对应的内...

2018-06-27 22:08:39 45327

原创 数据库-编程语-SQL / 定义语言-DDL 数据进行定义 操作 查询 控制

数据库 编程语-SQL / 定义语言-DDL 数据进行定义 操作 查询 控制SQL(structured Query Langunage)关系型数据库的编程语言DDL 数据定义语言 : creat 新建/ drop(删除) / alter (修改)DML 数据操作语言 : insert 插入 delete 删除 update 更新DQL 数据查询语言 : selectDCL 数据控制语言 : g...

2018-06-27 22:07:47 42198

原创 数据库-简介和安装,基本使用

1.为什么要使用数据库?数据持久化 - 将数据转移到持久存储介质 (断电也不会是数据丢失)可以高效的存储和处理数据, 检索数据2.为什么使用关系型数据库理论基础:集合论和关系代数用二维表组织数据每张表叫做实体行 - 记录列 - 字段关系型数据库, 表与表之间存在某种关系​ 关系型数据库都有自己的编程语言 SQL - 结构化查询语言SQL在每种数据库会略有差别, 3. 数据库 - 数据...

2018-06-27 22:06:46 42069

自动化测试工具selenium相关插件

自动化测试工具selenium相关插件,selenium的环境搭建, 安装后下载selenium可进行使用

2018-07-02

lxml解析器

lxml的etree安装, 直接 pip install 此包, 就可以解决

2018-07-02

scrapy中的Twisted安装包

building ‘twisted.test.raiser’ extension error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools” 直接下载, 尽心安装此包,就行

2018-07-02

scrapy-1..40压缩包

安装包, 可以直接进行安装scrapy 的安装,直接 pyhton setup.exe install

2018-07-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除