自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灰寨小学的python---小陈

人生苦短 我用python

  • 博客(158)
  • 收藏
  • 关注

原创 Xpath---following-sibling节点

     XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。     XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。     推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/e...

2018-07-31 21:34:53 21087

原创 在linux系统上安装mongodb运行出现问题

试试两种解决方案sudo systemctl unmask mongodbsudo service mongod start或者1创建配置文件:sudo nano /etc/systemd/system/mongodb.service2复制代码[Unit]Description=High-performance, schema-free document-oriented d...

2018-07-26 22:04:01 822

原创 提高网站性能的常见方法

一.Web前端性能优化一般来说Web前端指网站业务逻辑之前的部分,包括浏览器加载,网站视图模型,图片服务,CDN服务等,主要优化手段有优化浏览器访问,使用反向代理,CDN等。1..浏览器访问优化(1)减少http请求HTTP协议是无状态的应用层协议,意味着每次HTTP请求都需要简历通信链路,进行数据传输,而在服务器端,每个HTTP都需要启动独立的线程去处理,这些通信和服务的开销都很...

2018-07-25 23:43:33 150

原创 python爬虫基础

前言Python非常适合用来开发网页爬虫,理由如下:1、抓取网页本身的接口相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我...

2018-07-24 21:43:03 287

原创 python 中的作用域和名称空间

名称空间,存放名字的地方,准确的说名称空间是存放名字与变量值绑定关系的地方内置名称空间:python自带的名字,在python解释器启动时产生,存放一些python内置的名字全局名称空间:在执行文件时,存放文件级别定义的名字局部名称空间:在执行文件的过程中,如果调用了函数,则会产生该函数的名称空间,用来存放该函数内定义的名字,该名字在函数调用时生效,调用结束后失效加载顺序:内置名称空间--...

2018-07-23 22:10:26 171

原创 Git比SVN相比有什么区别呢

git svn 都是个项目开发用来管理代码文档的版本管理控制系统Git比SVN相比有什么区别呢?1. 最核心的区别就是Git是分布式的, SVN是集中式的。SVN必须有一个服务器版本库就放在一个中央服务器。所有开发人员都是与服务器进行交互的。(一般的开发流程就是干活时候从中央服务器得到最新的版本,然后干活,干完后需药把自己做的工作推送到中央服务器。)Git不需要有中心服务器,我们每台电...

2018-07-23 22:08:33 938 1

转载 生产者和消费者模型介绍

一、概念引入日常生活中,每当我们缺少某些生活用品时,我们都会去超市进行购买,那么,你有没有想过,你是以什么身份去的超市呢?相信大部分人都会说自己是消费者,确实如此,那么既然我们是消费者,又是谁替我们生产各种各样的商品呢?当然是超市的各大供货商,自然而然地也就成了我们的生产者。如此一来,生产者有了,消费者也有了,那么将二者联系起来的超市又该作何理解呢?诚然,它本身是作为一座交易场所而诞生。将...

2018-07-22 22:59:29 3869 2

原创 常见HTTP的响应头,请求头,状态码

常见请求头 1.Host:请求的主机和端口号2.User-Agent:浏览器的相关信息。 3.Accept:浏览器可以接收的请求的类型。 4.Accept-Language:浏览器可以接收的语言和国家类型。5.Accept-Encoding: 浏览器可以接收的压缩编码的类型。6.Cookie:浏览器暂存服务器发送的信息。 7.Connection:Http请求版本的特点。 除此...

2018-07-21 23:31:15 1429

原创 对尾递归的理解

递归,在程序运行过程中调用自己,每一级递归都需要调用函数,会创建新的栈空间,随着递归深度的增加,创建的栈越来越多,造成栈的爆炸 尾递归基于函数的尾调用,每一级调用直接返回函数的返回值更新调用栈,而不是创建新的调用栈,类似迭代的实现,时间和空间上均优化了一般的递归 存在的问题,python不支持尾递归,递归深度超过1000时会报错 有人对python的尾递归写了一个...

2018-07-21 23:25:56 214

原创 cookie 跨域的问题?

v一、前言  随着项目模块越来越多,很多模块现在都是独立部署。模块之间的交流有时可能会通过cookie来完成。比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入cookie(记录着用户上下文信息),应用想要获取门户下的cookie,这就产生了cookie跨域的问题。  v二、介绍一下cookiev  cookie 路径:  cookie 一...

2018-07-21 09:17:19 1271

原创 在Web 开发中,如何保证设计的接口安全性

接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。Token是客户端访问服务端的凭证。...

2018-07-21 09:02:39 3655

原创 python----元类

一、动态语言 1.python 为动态语言  定义:它是一类 在运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力 2.动态语言:可以在运行的过程中,修改代码 静态语言:编译时已经确定好代码,运行过程中不能修改 3.运行中动态改变代码: 1.动态赋值 a=10   后面可以修改 a=...

2018-07-21 08:34:35 153

原创 爬取贴吧小项目

动手尝试:获取新浪首页,查看response.text 和response.content.decode()的区别(作业) 实现任意贴吧的爬虫,保存网页到本地; 要求: 可以指定贴吧名称, 起始页与结束页 思路: 找出访问贴吧内容的URL的规律 http://tieba.baidu.com/f?kw=吧名&ie=utf-8&pn=(页码-1)*50...

2018-07-20 00:07:05 359

原创 使用requests模块发送带有参数的请求

使用requests模块发送带有参数的请求 思考: 如何模拟搜狗搜索内容 ? 发送带有参数请求,在URL后面加上query=要搜索的内容 URL编码: https://www.sogou.com/web?query=%E9%9F%B3%E4%B9%90 在requests发送get请求指定参数的格式 ? 方式1: 自己拼接一个带有参数的URL 方式2: 在...

2018-07-20 00:05:55 1606

原创 Reqeusts概述

Reqeusts概述问题:为什么要学习requests,而不是urllib?requests的底层实现就是urllib requests简单易用 requests在python2 和python3中通用,方法完全一样 requests能够自动帮助我们解压(gzip压缩的等)网页内容requests的作用作用:发送网络请求,返回响应数据 中文文档 API: http:/...

2018-07-20 00:04:28 449

原创 HTTP和HTTPS

HTTP和HTTPS复习内容内容概述HTTP和HTTPS概述 HTTP的请求过程 HTTP的请求形式 HTTP的常见请求头 GET和POST 响应状态码HTTP和HTTPS概述 HTTP和HTTPS在爬虫中的位置  HTTP概述 HTTP 超文本传输协议 默认端口号:80  HTTPS HTTP + SSL(安全套接字层) 默...

2018-07-20 00:03:21 261

原创 vue项目实战总结篇

这篇文章把小编前段时间做的vue项目,做个完整的总结,具体内容请参考本文。这次算是详细总结,会从项目的搭建,一直到最后的服务器上部署。废话不多说了。干货直接上。一、 必须node环境, 这次就不写node环境的安装了。过两天我会写个node环境的安装随笔。二、 node环境配好后。开整vue。1. 安装vue脚手架。 npm install -g vue-cli2. ...

2018-07-20 00:01:02 2715 1

原创 乐观锁和悲观锁

悲观锁:不相信其他人不会修改,传统的关系型数据库里边就用到了很多这种锁机制,如mysql, 每次查询、修改数据操作之前就会上锁,整个数据处理过程中,将数据处于锁定状态,自己更新数据后再释放锁,可以有效防止库存冲突问题乐观锁:相信其他人不会修改,所以查询、修改数据库时不会上锁,所以再数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则返回错误的信息,让用户决定如何 去做...

2018-07-20 00:00:52 2553

原创 事务的隔离级别有哪些?

事务:一个操作序列,要么同时执行,要么同时不执行,是一个不可分割的工作单位事务有四大特性,原子性 一致性 持久性 与 隔离性​ ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。  ② Repeatable read (可重复读):可避免脏读、不可重复读的发生。  ③ Read committed (读已提交):可避免脏读的发生。  ④ Read u...

2018-07-20 00:00:42 2196

原创 对装饰器的理解

装饰器本质上是一个 python 函数,在函数中嵌套一个函数,它主要作用的是在不修改函数代码的前提下给函数增加额外的功能,装饰器返回值也是一个函数对象 装饰器的实现原理,是利用闭包函数。闭包函数,就是在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,这个函数以及用到的变量,称之为闭包 在数学应用上,我们可以用装饰器原理去求解斐波那契数列,斐波那契数列,从第三项开始...

2018-07-20 00:00:31 196

原创 vue项目实战总结篇

这篇文章把小编前段时间做的vue项目,做个完整的总结,具体内容请参考本文。这次算是详细总结,会从项目的搭建,一直到最后的服务器上部署。废话不多说了。干货直接上。一、 必须node环境, 这次就不写node环境的安装了。过两天我会写个node环境的安装随笔。二、 node环境配好后。开整vue。1. 安装vue脚手架。 npm install -g vue-cli2. ...

2018-07-20 00:00:20 2183

原创 request和request.form和request.querystring的区别

request和request.form和request.querystring的区别asp中获取传递的参数,一般用request或者用request成员函数request.form,两种方式都可以获取页面表单传递过来的参数值,一直没留意两种方法有什么区别,我一般喜欢用request("abc")这样的形式,简单明了嘛。 最近修改了一些kingcms的代码,其中有一段代码是用request...

2018-07-20 00:00:07 245

原创 用两种以上的方式实现单例模式

单例设计模式是一种常用的软件设计模式,作用,确保某一个类只有一个实例存在,即某个类智能出现一个实例。在项目中。客户端读取服务器配置信息,就是用这种单例模式,就是说服务器运行期间同一时间只有一个AppConfig实例对象可以读取配置信息电脑中的回收站实现单例模式的几种方式: 使用模块,python 模块是天然的单例模式,只要把相关的函数和数据定义在一个模块中,就可以获得一个单例对象...

2018-07-19 08:48:35 323

原创 模块和包是什么

模块:每一 python 代码文件 都是一个模块,好比工具包,想要使用(好比函数),就需要导入这个模块,用关键字 import 导入 或是 from 模块名 import 函数名 import 是将 模块中的函数 全部导入 from...import... 是的导入一个或几个 也可以导入类呀 全局变量等包:将有联系的模块组织到一期,放到同一个文件夹下,有效避免模块名称冲突问题,让应用组织结构更...

2018-07-19 08:46:24 1127

原创 CSRF 跨站请求伪造与防御方法

CSRF 跨站请求伪造CSRF攻击: 攻击者盗用了你的身份,以你的 名义发送恶意请求,比如盗取你的账号,假发消息等,个人隐私泄露以及财产安全CSRF 攻击原理: 登录受信任网站A,并在本地生成 Cookie. 在不登录A的情况下,访问危险网站B 比如,你登录了银行网站A,然后访问危险的网站B,这时你的银行账户的资金全没了。原因,在访问危险网站B之前,你已经登录了银行网站A,...

2018-07-19 08:45:59 246

原创 python 浮点数的精度问题

程序语言浮点数由单精度型和双精度型两种 单精度型占4个字节32位的内存空间只能提供七位有效数字 双精度型占8个字节64位的内存空间可提供17位有效数字 python 3 浮点数默认的是 17位数字的精度 将精度高的浮点数转化成精度低的浮点数,内置方法 round() roud(2.873 , 2) ===> 2.87 格式化 %.2f 保留两位小数 ...

2018-07-19 08:45:47 10265

原创 用户密码是怎么保护的

对于大部分网站,密码的存储和验证过程简单来说就是:密码存储,用户输入密码,密码加密后被传输到数据库存储起来,密码验证,密码加密后和存储在数据库加密后的密码进行比较。 一般每个网站都有一个或多个专门存储密码的数据库。 项目中我们使用 hash 算法来进行密码加密保护的,hash 算法是一种单项的函数,它可以把任意数量的数据转换成固定的长度的哈希值,也就是说将一个大集合映射到一...

2018-07-19 08:45:36 289

原创 对celery 的理解

celery 是一种 简单、灵活、可靠的,用来处理多个消息的分布式系统,相当于调发器。 我比较喜欢的一点:celery 支持使用任务队列的方式,在分布的机器、进程、线程上执行任务的调度 celery 的架构由 消息中间件 、 任务执行单元 和 任务执行结果存储三部分组成 消息中间件,celery 本身不提供消息服务,但可以方便的和第三方提供的消息中间件集成,比如发...

2018-07-19 08:45:08 627

原创 RESTful 设计风格有了解吗?

(视图主要用于封装结果,生成页面展示的html内容)RESTful 是一种开发理念,简洁,;层次感,主要体现在每个URL代表一种资源,所以在开发REST API 接口时,视图中要频繁的进行序列化和反序列化,将数据库数据序列化为前端所需要的格式,并返回,将前端发送的数据反序列化为模型类对象,并保存到数据库中·之前的开发的一个电商商城就是用这种 RESTful 设计风格,我们将 API部署在专...

2018-07-19 08:44:57 2181

原创 对数据库索引的理解?

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 索引的原理,对要查询的字段建立索引其实就是把该字段按照一定的方式排序,建立的索引只对该字段有用,如果查询的字段改变,那么这个索引也就无效了。比如,图书馆的书是按照书名的第一个字母排序的,如果你想要找作者叫张三的就不能用该索引,还有如果索引太多会降低查询的速度 优点 通过创建唯一...

2018-07-19 08:44:36 399

原创 Django 和 flask 的分页怎么做的?

flask 分页 英/'pædʒɪneɪt/ 英/'ælkɪmɪ/ flask 通过扩展封装了 SQLAlchemy 框架,一种关系型数据库框架 SQLAlchemy 框架提供的 paginate() 方法实现对数据库中查询到的数据进行分页 paginate() 方法接收三个参数,第一个是页码,从一开始,第二个参数是每页显示的数目,第三个参数是错误标志...

2018-07-18 17:16:45 385

原创 redis 如何做持久存储?

redis 持久化储存的方法: rdb 方式(快照) 快照,针对内存进行的快速读取技术 将 内存中的数据以快照的方式写到二进制文件 rdb 中,可以通过配置设置自动做快照持久化的方式,我们可以设置 redis 在 n 秒内如果超过 m 个 key 键修改就自动做快照 数据快照的原理,将整个 REDIS 内存中的所有的数据遍历一遍存储到一个扩展名为 rdb 的数据...

2018-07-18 17:16:29 438

原创 同时在线用户人数怎么统计?

每次用户操作时更新其在线时间,在用户表里加上一个 update_time 字段,每次用户进行操作时,更新这个字段为当前的时间,然后再定义一个过期时间,比如十分钟,表示十分钟内没有任何操作默认用户不在线。 将在线用户单独放入一张表,每次用户操作时,先判断表里有没有该用户的记录,没有就新增 用 JS 定时器,在每个 HEML 模板里,加入一个 JS 定时器,每隔 10分钟发送一...

2018-07-18 17:16:20 3579

原创 迭代器和生成器

迭代器,一个实现了 --iter-- 方法 和 --next-- 方法的对象,迭代器同时也是一个可迭代的对象python 中的列表、元组、字符是迭代对象,如果实现了iter方法和next方法 然后他就是迭代器for ....in.. ..循环本质就是先通过iter()函数获取一个可迭代对象的迭代器,然后对获取的迭代器不断调用next()方法来获取下一个值生成器是一种特殊的迭代器,只要在...

2018-07-18 17:16:11 180

原创 怎么去查一个进程的进程号? ef、 aux 格式字母是什么意思?

进程, 程序运行在操作系统上的一个实例 在 linux 系统中 查进程 ps aux | grep 进程名 杀死进程 kill -9 进程号 e 显示所有的进程等价于 a f 显示全格式,全部列出 a 显示终端机下的所有程序包括其他用户的程序 u 以当前用户下的所有进程 x 显示没有控制终端的进程 Linux 下显示系统进程的命令 ps, 最常...

2018-07-18 17:16:03 469

原创 python 的垃圾回收机制?

python 中的垃圾回收机制是以引用计数为主,分代收集为辅 引用计数,当一个对象的引用数为 0时,python 虚拟机就会回收这个对象的内存。出现循环引入的问题,引入 gc 模块,解决循环引用的问题, gc 模块自动垃圾回收机制,主要作用就是发现并处理不可达的垃圾对 象,采用分代收集的方法,将对象分为三代,一开始,对象在创建的时候,放在一代,如果一次一代的检查中,对象存活...

2018-07-18 17:15:55 207

原创 with 语句与上下文管理器

通常用在共享资源的获取和释放,比如文件、数据库和 线程资源,一般跟上下文管理器一起使用主要用处,比如用python 打开了一个文件写入内容,忘了关闭这个文件,不正常关闭的话可能会文件操作是出现异常,还有数据库连接是一样,连接过多而没有及时关闭的话,可能出现不能继续连接的异常错误,with 语句和上下文管理器,检查异常、处理异常 with 语句是在python 2.6出现的新语句,简化...

2018-07-18 17:15:42 363

原创 对 property 属性的理解?

英/'prɒpətɪ/ property , python 中的内置 属性函数,作用,1)将类方法转换为 只读属性 将它作为一个方法的装饰器来使用,将一个类方法转变成一个类属性 比如,我们需要将某些值合并时,我们可以在方法 返回 合并的值 , 然后创建 类对象实例 。 方法名就可以求到了 2) 创建值为 property 对象的类属性 即 类属性名 = prope...

2018-07-18 17:15:34 463

原创 数据库怎么优化查询的效率?

储存引擎选择,如果数据表需要事务处理,应该考虑使用InnoDB, 因为它完成兼容 ACID 特性,如果不需要事务处理,使用默认储存引擎 MyISQM 比较明智 innodn 是 mysql 的数据库引擎之一,最大特色支持 ACID 兼容的事务功能(即事务的四大特性) MyISAM 默认存储引擎,使用高级缓存和索引机制 对查询进行优化,尽量避免全表扫描,...

2018-07-18 17:15:24 2254

原创 数据库的优化

一.数据的设计方面:    1.选择适当的冗余 在表中添加合适的字段,方便查询  2.适当建立索引,由于索引不占据内存和不用改写程序,只需要执行sql语句就ok,能提高查询速度  3.对表进行水平划分 将表进行合适的拆分,减少在操作数据库时候的搜索,有利于程序的简单实现,充分利用表的优势  4.对表进行垂直划分  5.选择适当的字段类型,特别是主键:字段选择的一般原则是保小不保...

2018-07-18 17:15:15 164

空空如也

空空如也

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

TA关注的人

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