- 博客(34)
- 收藏
- 关注
原创 scrapy_redis分布式爬虫
Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。Scheduler:Scrapy改造了python本来的collection.deque(双向队列)形成了自己的Scrapy queue,但是Scrapy多个spider不能共享待爬取队列Scrapy queue, 即S...
2019-08-14 17:22:38 168
原创 python的垃圾回收机制
一 ,简单的垃圾回收小整数Python 对小整数的定义是 [-5, 257) 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象大整数对于每一个大整数都会创建一个新的对象字符串对象(intern机制)单个单词,不可修改,默认开启intern机制,共用对象,引用计数为0,则销毁二,垃圾回收方法引用计数通过前...
2019-08-12 16:20:52 119
原创 matplotlib简单使用
一,创建方式import matplotlib.pypolt as plt#方法一:##创建画板fig = plt.figure()##创建画布ax = fig.add_subplot(2,2,2)#ax = fig.add_subplot(222)#方式二fig,axs = plt.subplots(nrows=2,ncols=3)##获取画布 a = ax[1][2] ...
2019-08-09 16:33:14 205
原创 mogodb
一,mongodb数据库的特点1,MongoDB 是一个基于分布式 文件存储的NoSQL数据库2,模式自由 :可以把不同结构的文档存储在同一个数据库里3,面向集合的存储:适合存储 JSON风格文件的形式4,完整的索引支持:对任何属性可索引5,复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移6,自动分片7,高效的传统...
2019-08-03 17:27:14 179
原创 redis
一,redis的持久化方式方式原理优缺点rob当redis需要做持久化时(执行SAVA或者BGSAVA命令,或者是达到配置条件时执行),redis会fork一个子进程,子进程将数据写到磁盘上一个临时RDB文件中,当子进程完成写临时文件后,将原来的RDB替换掉(默认文件名为dump.rdb)定时备份,Redis效率高,但是容易造成数据丢失,丢失的多少和备份策略有关,例如:...
2019-08-03 17:00:10 123
原创 优秀代码
数组去重var aList = [1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1];var aList2 = [];for(var i=0;i<aList.length;i++){ if(aList.indexOf(aList[i])==i) { aList2.push(aList[i]); }}ale...
2019-07-17 21:29:07 152
原创 jQuery
引入及版本提前加载<script type="text/javascript">//方法一$(document).ready(function(){});//方法二$(function(){})</script>选择器可以使用javascript的方法,也可以使用$(’’)来进行选择样式操作// 获取div的样式$("div").cs...
2019-07-17 16:00:32 122
原创 变量作用域
locals局部名称空间,字典格式,只存储变量,最好放在方法体的最后使用(locals())globals全局作用域,字典格式enclosing外部嵌套函数的命名空间,常用于闭包中builtins内建模块的命名空间,使用dir(_builtin_)可查看变量的搜索顺序时1,3,2,4,但这并不是空间的大小顺序,2 相对来说最大...
2019-07-15 16:57:24 79
原创 常用的python标准库和扩展库
标准库说明builtins内建函数默认加载os操作系统接口sysPython自身的运行环境functools常用的工具json编码和解码 JSON 对象logging记录日志,调试multiprocessing多进程threading多线程copy拷贝time时间datetime日期和时间c...
2019-07-15 16:27:17 737
原创 魔法方法和属性
方法说明1. _init_()初始化实例2. _new_()返回一个实例3. _str_()打印类名时会调用该方法4. _del_()del一个类时,会调用该方法5. _all_限定能够导出的模块6. _mro_():用来查看父类的调用顺序7. _slot_()用来限定实例属性的个数,只对当前类有作用...
2019-07-15 16:12:37 160
原创 模块制作
添加setup.py(任何目录都可以)编辑setup.pyfrom distutils.core import setupsetup(name="模块名字", version="1.0", description="模块名称", author="dongGe", py_modules=['文件路径', 'suba.bb'])构建模块python setup.py build...
2019-07-15 15:45:16 223
原创 csrf跨站请求伪造
什么是CSRF(XSRF)?CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其...
2019-07-11 13:26:43 127
原创 session和cookie
cookie设置cookieset_cookie(name, value, domain=None, expires=None, path='/', expires_days=None)参数名说明namecookie名valuecookie值domain提交cookie时匹配的域名path提交cookie时匹配的路径expiresc...
2019-07-10 23:00:07 105
原创 连接mysql数据库
python连接数据库安装数据库安装pymysql或者安装mysqlclient#实例import MySQLdbtry:#获取连接 conn=MySQLdb.connect(host='localhost',port=3306,db='test1',user='root',passwd='mysql',charset='utf8') #创建游标 cs1=c...
2019-07-10 22:10:51 87
原创 部署django
部署部署需要从uwsgi、nginx、静态文件三个方面处理服务器服务器:私有服务器、公有服务器服务器环境配置在本地的虚拟环境中,项目根目录下,执行命令收集所有包pip freeze > plist.txt 通过ftp软件将开发好的项目上传到此服务器的某个目录 安装并创建虚拟环境,如果已有则跳过此步sudo apt-get install python-vi...
2019-07-10 19:21:31 101
原创 django使用celery
名词任务task:就是一个Python函数队列queue:将需要执行的任务加入到队列中工人worker:在一个新进程中,负责执行队列中的任务代理人broker:负责调度,在布置环境中使用redis使用安装包celery==3.1.25celery-with-redis==3.0django-celery==3.1.17配置settingsINSTALLED_APPS =...
2019-07-10 18:53:16 393
原创 全文检索
什么是全文检索?全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理常用的全文检索的包haystack:django的一个包,可以方便地对model里面的内容进行索引、搜索,设计为支持whoosh,solr,Xapian,Elasticsearc四种全文检索引擎后端,属于一种全文检索的框架whoosh:纯Python编写的全文搜索引擎,虽然性能比不上...
2019-07-10 17:49:03 174
原创 django缓存机制
Django提供了不同级别的缓存粒度 可以缓存特定视图的输出; 可以仅仅缓存那些很难生产出来的部分 可以缓存整个网站设置缓存 可将数据缓存在数据库,文件系统,和内存中#setting.py# 使用内存来进行缓存CACHES={ 'default': { 'BACKEND': 'django.core.cache.backends.locmem.Lo...
2019-07-10 16:35:29 80
原创 django使用富文本编辑器
后台使用安装pip安装,或者使用pycharm,进行安装应用到项目中#配置setting.pyINSTALLED_APPS = ( 'tinymce',)TINYMCE_DEFAULT_CONFIG = { 'theme': 'advanced', 'width': 600, 'height': 400,} #urls.pyurlpatt...
2019-07-10 15:54:41 155
原创 mysql数据库特性
事务特性 原子性:要么执行,要么不执行 隔离性:所有操作全部执行完以前其它会话不能看到过程 一致性:事务前后,数据总额一致 持久性,:一旦事务提交,对数据的改变就是永久的数据库的隔离级别 脏读:事务B读取事务A还没有提交的数据 不可重复读:两次事务读的数据不一致 幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看来,明明修改了数据,咋不一样mysql的两种...
2019-07-10 00:14:55 630
原创 sql常用语句
##查看当前数据库SELECT DATABASE();#创建表 添加主键primary key 也可添加自增长auto_increamentCREATE TABLE mhj( id INT(10) PRIMARY KEY, NAME VARCHAR(20) NOT NULL, age INT(10) NOT NULL, address VARCHAR(20)...
2019-07-09 23:42:08 97
原创 python基础知识
注释 81.1. 单行注释# 81.2. 多行注释(’’’ ‘’’) 8变量类型 82.1. 数值型 82.1.1. int 82.1.2. long 82.1.3. float 82.1.4. complex 82.2. 布尔类型 82.2.1. True 82.2.2. False 82.3. 字符串类型 82.4. list 82.5. tuple 8...
2019-07-08 17:58:36 234
原创 调试和测试
一,调试print()第一种方法简单直接粗暴有效,就是用print()把可能有问题的变量打印出来看看:def foo(s): n = int(s) print('>>> n = %d' % n) return 10 / ndef main(): foo('0')main()执行后在输出中查找打印的变量值:$ python err...
2019-07-08 17:23:50 175
原创 io编程
一,文件读写读写文件是最常见的IO操作。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象。读文件要以读文件的模式打开一个文件对象,使用Python内置的open()...
2019-07-08 16:22:19 137
原创 进程和线程
一,多进程Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,返回的是进程ID,子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID,通过getpid()拿到本进程的I...
2019-07-08 14:50:46 119
原创 flask快速入门
快速入门开始我们的第一个Flask程序from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): return 'Hello World!'if __name__ == '__main__': app.run()把它保存为 hello.py ,然后用 Python 解...
2019-07-08 00:26:25 111
原创 协程和gevent
什么协程?协程,又称微线程,纤程。英文名Coroutine想要理解协程先要理解一下什么是子程序,子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。协程看上去也是子程序,但...
2019-07-07 22:44:35 124
转载 xadmin使用的坑
转自:https://blog.51cto.com/xvjunjie/2235370(1)django2.0把from django.core.urlresolvers修改成了django.urls异常信息:ModuleNotFoundError: No module named 'django.core.urlresolvers'解决方案:修改site...
2019-06-26 16:44:18 904
转载 缓存概述
原文:https://www.yangqiu.cn/sinobeauty/1616327.html一、缓存概述缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。1、缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位置。 ...
2019-04-09 23:16:10 388
转载 消息队列MQ
一、消息中间件相关知识1、概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。2、消息中间件的组成 2.1 Broker消息服务器...
2019-04-09 23:11:23 156
原创 svn使用
一,在visualsvn 中创建新的项目 二,右键checkout检出 添加文件,点击add,问好变成加号更新到本地库右键uqdate使用revert,可撤回,加号变问好提交更新右键commit,添加注释信息...
2019-04-06 18:14:07 76
原创 jvm内存管理和垃圾回收
一,内存管理1,jvm提供自动的内存管理2,jvm在开始运行时会在内存开启一片空间,这篇空间主要由以下五部分组成 方法区:为所有的线程共享,用于存放以加载的类信息,静态变量,常量和即使编译器编译后的代码 虚拟机栈:线程用来执行程序的内存空间 本地方法栈: 堆(heap):存放实例的地方,GC管理的主要区域 程序计数器:记录程序运行...
2019-04-06 15:39:12 92
原创 mybatis 开启session异常
org.apache.ibatis.exceptions.PersistenceException:### Error opening session. Cause: java.lang.NullPointerException### Cause: java.lang.NullPointerException at org.apache.ibatis.exceptions.Exce...
2019-04-03 21:24:16 512
转载 如何在win10上同时安装python2和python3
哎,其实本人已经用惯了python2,听说python3的语法有很多不一样的地方,那我之前写的算法改起来岂不是日了狗了吗?所以一直没改用python3。但是谷歌的那个TensorFlow,在windows下只能支持python3,没办法,这时候我就决定在我的电脑里同时装python2和python3,看看是否可行。首先,我们去官网,找到对应的安装包!python3的如下:版本是3.6.3https...
2018-05-15 16:30:02 175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人