自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 收藏
  • 关注

原创 ReadMe

第一次写博客想了很久还是觉得把博客定在这里,毕竟在这里学到了太多的东西,以后的路也离不开CSDN,作为一个萌新在此请大家多多指教.Life is short , I use python...

2019-03-09 22:25:25 191

原创 猿人学APP第一题

Frida三板斧搞定猿人学APP第一题

2022-12-15 18:54:56 801 1

原创 mysql索引的种类

索引种类普通索引: 仅加速查询唯一索引:加速查询+列值唯一,不为NULL主键索引:加速查询+列值唯一,一个表中只能有一个主键组合索引:多个列值组合成一个索引,专门用于组合查询,速度大于索引合并全文索引:对文本内容进行模糊查询时,如likeps组合索引:多个单列索引组合搜索哈希索引:没有使用过…(慎用)...

2020-06-15 16:50:01 230

原创 Python3.6字符串新特性

字符串前加 f1、作用:字符串格式化(python 3.6 新增,类似于变量内插赋值),格式化的字符串文字前缀为"f",类似str.format()。包含由花括号包围的替换区域。替换字段是表达式,在运行时进行评估,然后使用format()协议进行格式化。和之前的format字符串格式化差不多,但是用起来更简化2、例子:Python 3.6.5 >>> var = "py...

2020-03-24 21:21:43 427

原创 Python中的抽象类和抽象方法

Python如何实现抽象类在python中类 通过继承metaclass =ABCmeta类来创建抽象类,抽象类是包含抽象方法的类,其中ABCmeta类(Metaclass for defining abstact baseclasses,抽象基类的元类)是所有抽象类的基类。定义了抽象类后,在要实现抽象方法的前一行使用@abc.abstractmethod来定义抽象方法。抽象方法不包含任何可实...

2020-03-14 11:02:45 1920

原创 增量学习的定义

增量学习定义: 增量学习(Incremental Learning)是指一个学习系统能不断地从新样本中学习新的知识,并能保存大部分以前已经学习到的知识。增量学习非常类似于人类自身的学习模式。增量学习作为机器学习的一种方法,现阶段得到广泛的关注。在其中,输入数据不断被用于扩展现有模型的知识,即进一步训练模型,它代表了一种动态的学习的技术。对于满足以下条件的学习方法可以定义为增量学习方法:...

2019-10-28 09:52:10 2460 2

原创 拟合的定义

拟合形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。表达式也可以是分段函数,这种情况下叫作样条拟合。常用的拟合方法有如最小二乘曲线拟合法等拟合以及插值还有逼近是数值分...

2019-10-26 13:52:49 3569

原创 分类与聚类的本质

机器学习中有两类的大问题,一个是分类,一个是聚类。分类分类有如下几种说法,但表达的意思是相同的。对于分类来说,在对数据集分类时,我们是知道这个数据集是有多少种类的。根据给定的数据集,训练出一个模式或者规则(把每个属性集x映射到一个预先定义的类标号y中就,是得到一个函数。),再使用该模型对新来的数据进行类别判断。我们可以将分类看作是有监督的学习。通过学习来得到样本属性与类标号之间的关系。该学...

2019-10-25 16:28:23 545

原创 scrapyd远程连接配置

系统:Ubuntu18.04安装scrapyd:pip install scrapydscrapyd启动是可以通过scrapyd命令直接启动,bind绑定的ip地址是127.0.0.1端口是:6800,但是想要其他主机可以访问,需将ip地址设置为0.0.0.0找到如下配置文件scrapyd的配置文件:/usr/local/lib/python3.5/dist-packages/scra...

2019-10-22 17:32:00 565

原创 selenium的页面等待

selenium的页面等待这是非常重要的一部分,现在的网页越来越多采用了 Ajax 技术,这样程序便不能确定何时某个元素完全加载出来了。这会让元素定位困难而且会提高产生 ElementNotVisibleException 的概率。所以 Selenium 提供了两种等待方式,一种是隐式等待,一种是显式等待。隐式等待是等待特定的时间,显式等待是指定某一条件直到这个条件成立时继续执行。隐性等待...

2019-08-07 21:10:17 253 1

原创 scrapy —— ImagePipeline

ImagePipelineScrapy用ImagesPipeline类提供一种方便的方式来下载和存储图片。主要特征将下载图片转换成通用的JPG和RGB格式避免重复下载缩略图生成图片大小过滤工作流程爬取一个Item,将图片的URLs放入image_urls字段从Spider返回的Item,传递到Item Pipeline当Item传递到ImagePipeline,将调用Sc...

2019-08-06 21:00:25 805

原创 scrapy 序列化写入器 ——ItemExporter

scrapy 序列化写入器Scrapy支持多种序列化格式(serialization format)及存储方式(storage backends)。如果你是想单纯的将数据输出或存入文件,那直接可以用Scrapy提供的现成类。Item Exporters为了使用 Item Exporter,你必须对 Item Exporter 及其参数 (args) 实例化。每个 Item Export...

2019-08-05 22:02:19 450

原创 SYN攻击

SYN攻击  在三次握手过程中,服务器发送SYN-ACK之后,收到客户端的ACK之前的TCP连接称为半连接(half-open connect).此时服务器处于Syn_RECV状态.当收到ACK后,服务器转入ESTABLISHED状态.Syn攻击就是 攻击客户端 在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要...

2019-07-28 16:38:47 502

原创 HTTP面试题 ——TCP

TCP三次握手是的状态三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1)...

2019-07-28 16:28:53 188

原创 MySQL数据库事物隔离级别

mysql数据库的事物隔离级别主要有四种:Serializable 串行化,一个事物一个事物的执行Repeatable read 可重复读 , 无论其他事物是否修改并提交了数据,在这个事物中看到的数据值始终不收其他事物影响.Read committed 读取已提交,其他事物提交了对数据的修改,本事物就能读到修改后的数据值Read uncommitted 读取为提交,其他事物只要修改了数据...

2019-07-18 21:18:55 134

原创 乐观锁 —— 版本号机制

版本号机制一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version值,在提交更新时,若刚才读取到的version值为当前数据库中的version值相等时才更新,否则重试更新操作,直到更新成功。举一个简单的例子:假设数据库中帐户信息表中有一个 version 字段,当前值为...

2019-07-16 21:59:26 9598 3

原创 乐观锁 与 悲观锁 总结

悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制...

2019-07-16 21:47:29 121

原创 幂等性

幂等性总结HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源**对于资源本身**应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。这里需要关注几个重点:幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询数据库操作,没有增删改,因此没有对数据库有任何影响)。幂等还包括第一次请求的时候对资源产生了副作用,但...

2019-07-16 21:34:36 142

原创 Django处理MySQL事物的用法

数据库事务在保存订单数据中,涉及到多张表(OrderInfo、OrderGoods、SKU)的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败。Django中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。我们需要在保存订单中自己控制数据库事务的执行流程。在Django中可以通过django.db.transaction模块提供的atomic来定义一个事务...

2019-07-16 21:16:41 182

原创 Redis 数据类型与操作命令整理

Redis 优势性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。丰富的特性 – Redis还支持 publi...

2019-07-16 18:07:47 120

原创 Docker 操作命令 整理

启动与停止安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令# 启动dockersudo service docker start# 停止dockersudo service docker stop# 重启dockersudo service docker restartDocker镜像操作列出镜像docker im...

2019-07-10 19:21:06 99

原创 Ubuntu 16.04 中 安装 Docker

1. 在Ubuntu中安装Docker挨个复制如下命令即可安装成功更新ubuntu的apt源索引sudo apt-get update安装包允许apt通过HTTPS使用仓库sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-...

2019-07-10 19:17:14 116

原创 分布式缓存Redis之Pipeline(管道)

简介Redis使用的是客户端-服务器(CS)模型和请求/响应协议的TCP服务器。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。服务端处理命令,并将结果返回给客户端。Redis客户端与Redis服务器之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后c...

2019-07-06 09:50:24 401

原创 nginx正向代理,反向代理概念

正向代理正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容 代理服务器去取回来,然后返回给我从网站的角度,只在代理服务器来取内容的时候有一次记录 有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不...

2019-07-06 09:04:11 298

原创 python各个版本改动

该网站可以看到python各个版本的改动,貌似需要翻墙…https://docs.python.org/zh-cn/3/whatsnew/index.html

2019-06-30 08:29:40 590

原创 python中的map,feilter,和reduce函数

python中的map,feilter,和reduce函数map()map()的原型是map(function, iterable, …)参数 function: 传的是一个函数名,可以是python内置的,也可以是自定义的。 就像上面的匿名函数lambda参数 iterable: 传的是一个可以迭代的对象,例如列表,元组,字符串这样的。返回值是一个map...

2019-06-29 20:18:34 351

原创 列表合并变种题,map()函数扩展

列表合并变种题题目:有a,b两个列表,长度不定,将两个列表和并成一个列表,对位元素相加,不丢弃任何一个元素例如:a= [1,2,3]b = [1,2,3,4]# 则结果为c = [2, 4, 6, 4]解法一:b = [1, 2, 3, 4, 5, 6]c = [1, 2, 3, 4, 5, 6, 7, 8, 9]"""此函数实现将两个列表相比较在较短的列表尾部补0...

2019-06-23 21:28:26 275

转载 面试前自省

编程能力好的编程能力显然是我们这一行的基石,经常遇到这样的人,说算法他很厉害,讲思路他也能侃侃道来,但是一说到具体实现就傻眼了。这里,博主特别强调这一点是因为任何算法,软件只有真正实现的才能称之为算法和软件,和停留在思路和想法阶段我们只能说你才刚刚开始,其实博主见过很多这样的同学,就是一直在纠结我要看什么文献,我要学哪些知识,我要如何如何,其实博主更多时候给他们的建议是你先学好一门语言,有了比较...

2019-06-22 16:55:25 166

原创 Django的中间件

Django的中间件中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。中间件的定义方法定义一个中间件工厂函数,然后返回一个可以别调用的中间件。中间件工厂函数需要接收一个可以调用的get_response对象。返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个request对象参数,返回一个response对象。其实中间件就是flask中的请...

2019-06-21 19:58:54 131

原创 Django中类视图的几实现方式

类视图以函数的方式定义的视图称为函数视图,函数视图便于理解。但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。在Django中也可以使用类来定义一个视图,称为类视图。使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。方式一def my_decorator(func): """自定义的...

2019-06-21 19:33:17 1055

原创 Django获取请求参数方式

前端传参方式请求行: url传参(/分隔,url路径),查询字符串传参(?开头key=value形式)请求头: 如cookie请求体:表单格式,非表单格式如json请求行url传参:请求行url传参请求方式为:https://xxx/xxxx/xxxx/xxx 路径的形式接收方式: 使用正则匹配url中的路径接收参数,参数接收顺序固定请求行url传参, 接...

2019-06-20 18:49:51 3398

原创 用一句话解释什么是装饰器

用一句话解释什么是装饰器利用闭包的基本原理,对一个目标函数进行装饰,即在执行一个目标函数之前或之后执行一些特定的事情。

2019-06-19 15:02:39 802

原创 python可变类型做默认参数

python可变类型做默认参数下面代码的输出结果是什么def extendlist(val, list=[]): list.append(val) return listlist1 = extendlist(10)list2 = extendlist(123, ['a', 'b', 'c'])list3 = extendlist('a')print(list1)...

2019-06-19 14:57:08 610

原创 Django中的路由分发

路由分发第一次听说路由分发的时候有点懵,看后才知道是一个比较简单的概念,并且大家都在用其思想就是,一些公共的主页面/整个网站的一级菜单等全局视角的页面,放在项目(工程)的urls.py当中,一些单个应用对应的url就放在应用目录下面的urls.py当中,这样,用户访问页面,先再项目的urls中找,找不到,再去单个应用的urls中找,一来是urls配置解耦,二来这样显得更有层次感,方便管理。...

2019-06-18 21:52:56 574

原创 Django工程配置文件settings配置信息详解

"""Django settings for demo project.Generated by 'django-admin startproject' using Django 1.11.11.For more information on this file, seehttps://docs.djangoproject.com/en/1.11/topics/settings/F...

2019-06-18 19:18:57 667

原创 Django环境安装和创建工程

环境安装1. 创建虚拟环境mkvirtualenv dj_python -p python3注意需要联网,虚拟环境名为dj_python,其中- p指定python版本为python3# 虚拟环境mkvirtualenv # 创建虚拟环境rmvirtualenv # 删除虚拟环境workon # 进入虚拟环境、查看所有虚拟环境deactivate # 退出虚拟环境进入...

2019-06-18 18:36:01 131

原创 Django的MVT模式

MVT模式有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。MVC的全拼为Model-View-Controller,最早由TrygveReenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式,是为了将传统的输入(input)...

2019-06-18 18:15:36 367

原创 flask中数据库迁移

数据库迁移在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。为了导出数据库迁移命令,Flask-Migrat...

2019-06-17 22:03:30 174

原创 flask中蓝图的使用

Blueprint概念简单来说,Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用,Flask 可以通过Blueprint来组织URL以及处理请求。Flask使用Blueprint让应用实现模块化,在Flask中,Blueprint具有如下属性:一个应用可以具有多个Blueprint可以将一个Blueprint注册到任何一个未...

2019-06-02 21:14:15 500 1

原创 Flask-SQLAlchemy

Flask-SQLAlchemySQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升SQLAlchemy是一个关系型数据库框架,它提供了高层的 ORM 和底层的原生数据库的操作。flask-sqlalchemy 是一个简化了 SQLAlchemy 操作的flask扩...

2019-06-01 10:42:57 164

空空如也

空空如也

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

TA关注的人

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