自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第10章 序列的修改, 散列和切片

坚持就是胜利….reprlib 内置模块的使用我使用reprlib.repr 的方式需要做些说明。这个函数用于生成大型结构或递归结构的安 全表示形式,它会限制输出字符串的长度,用’…’ 表示截断的部分10.3 协议和鸭子类型在面向对象编程中,协议是非正式的接口,只在文档中定义,在代码中不定义。例如, Python 的序列协议只需要__len__ 当自定义类的时使用l...

2018-04-05 23:41:46 463

原创 第9章符合python风格的对象

越努力, 就会越幸运.加油!!!9.1 对象的表示形式自定义类的实现一个二维的向量的方法:from array import arrayimport mathclass Vector2d: """实现一个二维的向量""" typecode = 'd' def __init__(self, x, y): self.x = f...

2018-04-05 23:39:49 587

原创 第2章 序列构成的数据

2.1 内置序列类容器序列 list、tuple 和collections.deque(双端的队列) 这些序列能存放不同类型的数据扁平序列 str、bytes、bytearray、memoryview 和array.array,这类序列只能容纳一种类型容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列里存放的是值而不是 引用。换句话说,扁平序列其实是一段连续的内存空间...

2018-04-05 23:31:57 649

原创 第一章 数据模型

前言 特殊的方法Python 解释器碰到特殊的句法时,会使用特殊方法去激活一些基本的对 象操作,这些特殊方法的名字以两个下划线开头,以两个下划线结尾(例如getitem)。 比如obj[key] 的背后就是getitem 方法,为了能求得my_collection[key] 的值,解释器实际上会调用my_collection.getitem(key)。当自定义的类实现了__getit...

2018-04-05 23:26:52 299

原创 使用pymongo 来操作数据库

使用pymongo 来接数据库连接mongodb#!/usr/bin/env python# -*- coding:utf-8 -*-from pymongo import MongoClientconn = MongoClient('192.168.0.113', 27017)db = conn.mydb #连接mydb数据库,没有则自动创建my_set = db.t...

2018-03-02 15:43:49 1989

原创 redis的持久化操作

配置持久化redis的持久化的方式有两种 1. 使用rdb快照的方法进行吃就好 2. 使用aof 日志追加的方式进行持久化使用rdb快照的方法进行持久化什么是快照:快照: 是照内存的 , 直接内存中的数据 进行快照, 数据格式照搬过来, 直接放到磁盘上 可以理解成就是直接创建了一个内存镜像, 直接写入到了硬盘. 下次断点直接把这个镜像 放回到内存中就完成了 恢复了, 恢复的速度比较快r

2017-12-05 16:55:04 423

原创 redis 设置开启启动

配置redis 开机启动启动脚本 推荐在生产环境中使用启动脚本方式启动redis服务。启动脚本redis_init_script 位于位于Redis的 /utils/ 目录下。#大致浏览下该启动脚本,发现redis习惯性用监听的端口名作为配置文件等命名,我们后面也遵循这个约定。#redis服务器监听的端口REDISPORT=6379#服务端所处位置,在make install后默认存放与

2017-12-05 09:07:16 763

原创 redis的安装和启动方式

redis简介: Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets,

2017-11-16 10:21:27 324

原创 virtualbox 虚拟机 win7和linux ping不通的解决方法

解决办法:启动虚拟机双网卡支持: 网卡1:Host-Only网络, 需要在关闭虚拟机的时候进行设定 网卡2:NAT网络 设置好以后,可以在Linux主机中ifconfig查看本地Host-Only的网络地址,与电脑中的地址应该是同一网段。可以查看Windows端VM-Network中的设置win上的设置ip的字段linux 上的ip的字段ping 192.168.56.101 这样就可以pi

2017-11-15 17:32:38 6390

原创 uwsgi + nginx + django 部署项目

开始正式部署pip install uwsgi 进入django目录下 测试uwsgiuwsgi --http 0.0.0.0:9000 --file Polaris/wsgi.py --static-map=/static=static参数说明:--http 这个就和runserver一样指定IP 端口--file 这个文件就里有一个反射,如果你在调用他的时候没有指定Web Server

2017-11-08 17:04:38 731

原创 CentOS 6.6安装以mysql

安装mysqlyum 安装 MySQL 指定版本先查看本机上是不是安装了mysql使用的命令是:rpm -qa | grep mysql删除和mysql 相关的内容的命令是:yum -y remove mysql-libs-5.1.73*查看系统里面有没有mysql 的repo(可以参考上面第一步卸载)yum repolist all | grep mysql如果没有发现,则需要配置rep

2017-11-07 16:45:17 785

原创 CentOS 6.6源码安装Python 2.7

源码安装Python 2.7.3操作步骤如下: - 安装devtoolsetyum groupinstall "Development tools安装编译Python需要的包包yum install zlib-develyum install bzip2-develyum install openssl-develyum install ncurses-develyum install

2017-11-07 16:41:52 845

原创 使用configobj 来访问配置文件

参考:http://www.voidspace.org.uk/python/configobj.html 正常的读配置文件的方法是给ConfigObj一个文件名,然后通过字典来访问成员,子段也是一个字典指定的配置文件 [server]servername = 192.168.11.1serverport = 8000[client_srv]# 这里是注释server = localho

2017-10-18 17:27:29 1336

原创 python 知识小结(3)

异步io的使用异步IO模型需要一个消息循环,在消息循环中,主线程不断地重复“读取消息-处理消息”这一过程:loop = get_event_loop()while True: event = loop.get_event() process_event(event)asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。asyncio的编程模型就是一个消息

2017-10-16 23:04:42 232

原创 python知识小结(2)

StringIO和BytesIOStringIO很多时候,数据读写不一定是文件,也可以在内存中读写。StringIO顾名思义就是在内存中读写str。要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:>>> from io import StringIO>>> f = StringIO()>>> f.write('hello')5 # 返回的是写入

2017-10-16 23:03:52 304

原创 python的一些知识点小结(1)

关于字典和列表的使用区别和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加; (数据结构是链表式的和顺序表形式的)占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用d

2017-10-16 23:02:31 342

原创 git 常用命令

工作区Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库新建代码仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置项Git的设置文件为.gitc

2017-10-16 22:59:44 201

原创 Django中使用django-celery完成异步任务(1)

许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Celery有着大量的社区支持, 能够完美的扩展, 和Django结合的也很好. Celery不仅能在Django中使用, 还能在其他地方被大量的使用. 因此一旦学会使用Celery, 我们可以很方便的在其他项目中使用它.Celery介

2017-09-28 09:52:33 915

转载 WebSocket 是什么原理?为什么可以实现持久连接?

转自 知乎上的文章:https://www.zhihu.com/question/20215561偶然在知乎上看到一篇回帖,瞬间觉得之前看的那么多资料都不及这一篇回帖让我对 websocket 的认识深刻有木有。所以转到我博客里,分享一下。比较喜欢看这种博客,读起来很轻松,不枯燥,没有布道师的阵仗,纯粹为分享。废话这么多了,最后再赞一个~一、websocket与httpWebSocket是HTML

2017-08-11 21:53:02 319

原创 django-缓存的使用

使用redis做为缓存后端pip install django-redis这是一个开源的项目,github地址是https://github.com/niwibe/django-redis缓存配置CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "r

2017-08-03 15:41:17 1439

原创 django的用户认证

首先的两个中间件sessions.middleware.SessionMiddleware’, 和 AuthenticationMiddleware 中间件再创建项目的时候会自动注册到系统中的MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware

2017-08-01 20:06:17 706

原创 Django REST Framework(一) 初步使用

介绍Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs。 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 验证策略涵盖了OAuth1a和OAuth2 同时支持ORM和非ORM数据源的序列化 可以配置各个环节,若无需更多强大的特性,使用一般基于方法(function-based)的视图(views

2017-07-30 15:42:05 2295

转载 restful(一) 简介

RESTful 简介传统理解,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究系统之间的通信互联网的兴起,使得两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件网站即软件,这种“互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时、高并发等特点RESTful架构,就是目前最流行的一种互联网软件架构起源REST这个词,

2017-07-30 15:26:38 526

原创 python 常用模块的使用

Python自动化开发 - 常用模块(一)本节内容1、模块介绍2、time&datetime模块3、random模块4、os模块5、sys模块6、json&pickle模块7、logging模块一、模块介绍模块,是一堆代码实现了某个功能的代码集合。类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合而对于一个复杂的功能来,可能需要多个函数才

2017-07-30 15:18:34 420

转载 redis 内存淘汰机制

Redis内存淘汰指的是用户存储的一些键被可以被redis主动地从实例中删除,从而产生读miss的情况,那么Redis为什么要有这种功能?这就是我们需要探究的设计初衷。Redis最常见的两种应用场景为缓存和持久存储,首先要明确的一个问题是内存淘汰策略更适合于那种场景?是持久存储还是缓存? 内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。作为Redis用户,我如何

2017-07-27 23:42:15 337

原创 django 内置的模板过滤器

1、add 使用形式为:{{ value | add: “2”}} 意义:将value的值增加22、addslashes 使用形式为:{{ value | addslashes }} 意义:在value中的引号前增加反斜线3、capfirst 使用形式为:{{ value | capfirst }} 意义:value的第一个字符转化成大写形式4、cut 使用形式为:{{ value

2017-07-27 23:40:34 391

原创 mongodb安装

第一种:官网安装方法1.导入公钥所使用的包管理系统。sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA3129272.创建一个列表文件MongoDB。echo “deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse” | sud

2017-07-27 16:11:26 335

原创 扩展django的user表

扩张django的user表来增加user中的字段定义模型from django.db import modelsfrom django.conf import settingsclass Profile(models.Model): #一对一的关系映射 user = models.OneToOneField(settings.AUTH_USER_MODEL) date_

2017-07-18 17:39:51 927

原创 学习爬虫基础7-动态的去获取-json数据

动态的获取豆瓣电影的json数据进入豆瓣电影 查看源码,源码中并没有我们需要的数据,通过浏览器的检查功能中的 network ,可以看到页面上的数据是通过前端发送ajax请求,动态的获取的.这样我们就不能直接在html页面中获取到想要的数据了.解决的办法: 直接发送请求去后台获取到返回的json数据地址栏中的请求路径:根据需求检索的电影检索的结果前段发送的ajax请求 和返回的数据在heade

2017-07-18 15:28:22 5766

原创 学习爬虫基础6-HTTP响应状态码参考:

HTTP响应状态码参考:1xx:信息100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。 101 Switching Protocols 服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2xx:成功200 OK 请求成功(其后是对GET和POST请求的应答文档) 201 Created 请求被创建完成,同时新的资源被创

2017-07-18 10:00:41 443

原创 学习爬虫基础5-一个简单的小案例

爬去百度贴吧中的html文档下来会使用到urllib中的 urllib.urlencode() 方法来编码发送请求时候的 请求参数 URL编码转换:urllib的urlencode()urllib 模块仅可以接受URL,不能创建 设置了headers 的Request 类实例;但是 urllib 提供 urlencode 方法用来产生GET查询字符串,而 urllib2 则没有。(这是 urlli

2017-07-16 23:59:51 1108

原创 学习爬虫基础3-urllib2库的基本使用

urllib2库的基本使用urllib2 是python2 中的产物 在python3 中 urllib2和urllib合并成了 urllib了 在 python3 中,urllib2 被改为urllib.request代码演示urlopen()方法:# 导入urllib2 库import urllib2# 向指定的url发送请求,并返回服务器响应的类文件对象response = urllib

2017-07-16 23:49:29 270

原创 学习爬虫基础-网页基础2

客户端HTTP请求URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求消息,包括以下格式:请求行、请求头部、空行、请求数据四个部分组成,下图给出了请求报文的一般格式。 完整的请求实例:GET https://www.baidu.com/ HTTP/1.1Host: www.baidu.comConnection: keep-aliveUpgra

2017-07-16 23:37:06 657

原创 学习爬虫基础-网页基础1

爬虫基础关于Python网络爬虫,需要学习的有:Python基础语法学习(基础知识)对HTML页面的内容抓取(Crawl)对HTML页面的数据解析(Parse)动态HTML的处理/验证码的处理 (针对反爬处理)Scrapy框架以及scrapy-redis分布式策略(第三方框架)通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫 是 捜索引擎

2017-07-16 23:34:07 764

原创 django 的分页对象的使用

使用django内置的分页器来实现分页效果<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>分页2的练习</title></head><body><h3>分页2的练习</h3><p>当前页面中的内容</p><ul> {% for item in obj_page %}

2017-07-09 00:28:21 638

原创 django中使用日志

配置日志文件的使用# 配置日志文件的使用# LOGGING = {# 'version': 1,# 'disable_existing_loggers': True,# 'formatters': { # 格式化输出 日志的内容# 'standard': {# 'format': '%(asctime)s [%(thread

2017-07-08 21:41:10 707

原创 java循环结构

04.01_Java语言基础(循环结构概述和for语句的格式及其使用)A:循环结构的分类 for,while,do…while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; }C执行流程: a:执行初始化语句b:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行

2017-07-08 20:13:43 395

原创 在django中使用 MEDIA_URL 和 MEDIA_ROOT

在django上传图片前端使用动态的配置方法MEDIA_ROOT 代表着 要上传的路径会和你在models中写的上传的路径进行拼节形成最终文件上传的路径  MEDIA_URL 主要就是映射了 在前端使用media_url 当你的media_root 发生改变的时候不用去更改前端模板中的内容前端模板中的写法后面是从数据库中 查询出来的 上传文件的地址url"{{ MEDIA_URL }}{{ c

2017-07-03 21:42:56 4897

原创 django-simple-captcha 验证码插件 和自己实现验证码的

第三方验证码插件的使用官方文档:http://django-simple-captcha.readthedocs.io/en/latest/usage.html#installationgithub:https://github.com/mbi/django-simple-captchadjango-simple-captcha 一个很简单的django验证组件,实现原理是数据库中生成key和随机

2017-07-02 22:41:15 1743

原创 django 配置163 qq 邮箱发送邮件

配置163邮箱#邮件发送配置EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_HOST = 'smtp.163.com'EMAIL_PORT = 25#发送邮件的邮箱EMAIL_HOST_USER = '*******@163.com'#在邮箱中设置的客户端授权密码EMAIL_HOST_PAS...

2017-07-02 20:20:19 3258 1

空空如也

空空如也

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

TA关注的人

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