自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 虚拟环境

1. 虚拟环境的作用在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装比如联网安装Flask框架flask-0.10.1版本sudo pip install flask==0.10.1提示:使用如上命令, 会将flask-0.10.1安装到/usr/local/lib/python2.7/dist-packages路径下问题:如果在一台电脑上, 想开发多个不...

2018-12-09 21:05:14 681

原创 ubuntu18.04创建虚拟环境时提示bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录 的解决办法

错误原因:Ubuntu安装了2.7和3.x两个版本的python,在安装时使用的是sudo pip3 install virtualenvwrapper在我运行的时候默认使用的是python2.x,但在python2.x中不存在对应的模块。(virtualenvwrapper.sh文件内容如下:):if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] thenV...

2018-12-09 20:41:23 4836

原创 QQ既有UDP也有TCP!

QQ既有UDP也有TCP!不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。UDP协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。QQ采用的通信协议以UDP为主,辅以TCP协议。由于QQ的服务器设计容量是海量级的应用,一...

2018-11-25 22:01:27 2377

原创 Tesseract 教程

Tesseract 教程介绍Tesseract 是一个 OCR 库,目前由 Google 赞助(Google 也是一家以 OCR 和机器学习技术闻名于世的公司)。Tesseract 是目前公认最优秀、最精确的开源 OCR 系统,除了极高的精确度,Tesseract 也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何 Unicode 字符。安装Window 安装下载可执行安...

2018-11-22 21:43:18 8360 1

原创 MySQL中事务的五种分类

MySQL中事务的五种分类从事务理论的角度来看,可以把事务分为以下五种类型:扁平事务(Flat Transactions)带有保存点的扁平事务(Flat Transactions with Savepoints)链事务(Chained Transactions)嵌套事务(Nested Transactions)分布式事务(Distributed Transacti...

2018-11-18 11:33:59 13994 2

原创 MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory)

一. 存储引擎1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。二. MySQL 中查看引擎1、show engines...

2018-11-16 10:35:12 219

原创 进程间通信的8种方式

前言:进程通信:每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信...

2018-11-12 10:51:34 21434

转载 Elasticsearch-基础介绍及索引原理分析

转:https://www.cnblogs.com/dreamroute/p/8484457.html介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个...

2018-11-10 09:26:04 4284

原创 Redis 常用命令

Redis 是典型的 KV 数据库,通常所说的 Redis 数据结构指的是 Value 的数据结构,常用的数据结构有 String, Hash, List, Set, Sorted Set. 前三种类型不用多讲,几乎每种语言都存在,后两种 set 是单纯的集合, Sorted Set 是有序集合,在集合内可以根据 score 进行排序。Redis 的命令不区分大小写,但通常情况下使用大写以示区分。...

2018-11-09 19:23:21 163

原创 Celery 使用介绍

Celery 使用介绍Celery 简单来说就是一个分布式消息队列。简单、灵活且可靠,能够处理大量消息,它是一个专注于实时处理的任务队列,同时也支持异步任务调度。Celery 不仅可以单机运行,也能够同时在多台机器上运行,甚至可以跨数据中心。Celery 中比较关键的概念:worker: worker 是一个独立的进程,任务执行单元,它持续监视队列中是否有需要处理的任务;broker: ...

2018-11-09 17:19:12 1572

原创 使用 Celery Once 来防止 Celery 重复执行同一个任务

使用 Celery Once 来防止 Celery 重复执行同一个任务在使用 Celery 的时候发现有的时候 Celery 会将同一个任务执行两遍,我遇到的情况是相同的任务在不同的 worker 中被分别执行,并且时间只相差几毫秒。这问题我一直以为是自己哪里处理的逻辑有问题,后来发现其他人 也有类似的问题,然后基本上出问题的都是使用 Redis 作为 Broker 的,而我这边一方面不想将 R...

2018-11-09 16:38:34 8357 2

原创 django-crontab 定时任务

定时任务对于首页的静态化,考虑到页面的数据可能由多名运营人员维护,并且经常变动,所以将其做成定时任务,即定时执行静态化。在Django执行定时任务,可以通过django-crontab扩展来实现。1. 安装pip install django-crontab2. 添加应用INSTALLED_APPS = [ ... 'django_crontab', # 定时任...

2018-11-09 16:13:53 836

原创 CKEditor富文本编辑器的使用及bug修改

CKEditor富文本编辑器的使用及bug修改为什么要用富文本编译器?在运营后台,运营人员需要录入并编辑详情信息, 详情信息不是普通的文本,可以是包含了HTML语法格式的字符串。为了快速简单的让用户能够在页面中编辑带格式的文本,我们引入富文本编辑器。富文本即具备丰富样式格式的文本。1. 安装pip install django-ckeditor2. 添加应用在INSTALLE...

2018-11-09 15:49:31 1016

转载 Redis 事务

原文:https://blog.csdn.net/mindfloating/article/details/8121479Redis 提供的事务机制与传统的数据库事务有些不同,传统数据库事务必须维护以下特性:原子性(Atomicity), 一致性(Consistency), 隔离性(Isolation), 持久性(Durability),简称ACID。我们逐项考察下 Redis 在事务...

2018-11-03 19:47:40 211

原创 DRF视图说明

视图说明1. 两个基类1)APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;视图方法可以返回REST ...

2018-11-01 08:20:58 776

转载 django2.0 关联表的必填on_delete参数的含义

django2.0 关联表的必填on_delete参数的含义原文:https://blog.csdn.net/buxianghejiu/article/details/790860111. 一对多(ForeignKey)class ForeignKey(ForeignObject): def __init__(self, to, on_delete, related_name=N...

2018-10-30 12:06:07 190

原创 Django项目中的session存储

Session1 启用SessionDjango项目默认启用Session。可以在settings.py文件中查看,如图所示如需禁用session,将上图中的session中间件注释掉即可。2 存储方式在settings.py文件中,可以设置session数据的存储方式,可以保存在数据库、本地缓存等。2.1 数据库存储在数据库中,如下设置可以写,也可以不写,这是默认存储方式。...

2018-10-21 11:13:28 1707

原创 错误:django.db.utils.InternalError: (1050, "Table 'tb_books' already exists")

django中同步数据库时出现错误(前面的忽略):错误代码1050:pymysql.err.InternalError: (1050, "Table 'tb_books' already exists")解决方法:python manage.py migrate users --fake 其中books是自己的应用名。...

2018-10-17 09:49:54 3101

原创 Flask项目实现防止CSRF攻击的流程

Flask项目实现防止CSRF攻击的流程a) 使用 flask_wtf 中 CSRFProtect类,初始化该类并传入appb) 使用 flask_wtf.csrf模块中的generate_csrf方法生成csrf_tokenc) 使用请求勾子 after_request,取到响应,统一设置到cookie中d) 如果前端使用form表单提交,需要在表单中添加隐藏的input,并设置其va...

2018-10-12 20:30:38 1293

原创 CSRF 攻击的原理和防范措施

CSRF 攻击的原理和防范措施一. 攻击原理:用户C访问正常网站A时进行登录,浏览器保存A的cookie用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookie所以网站A在接收到请求之后可判断当前用户是登录状态,所以根据用户的权限做具体的操作逻辑,造成网站攻...

2018-10-12 20:23:09 1826

原创 软件工程项目流程

##软件工程项目流程1.1 项目合作与成员根据本项目的工作内容和范围,我们将成立一个20人左右的项目工作组来负责本项目的开发。1.2 项目实施方法项目管理的成效直接关系到整个项目的成败。尤其是实施与移动互联网有关的新技术应用项目,无论在国内和国外都是有一定难度的,更需要成功的项目管理。我们充分认识到了这一点,并且已做好了准备。我们在项目管理方面具有丰富的经验,并且拥有一套实际运用和不断完善...

2018-10-07 15:04:47 12063 1

原创 git

一. Git1. Git介绍2. Git本地结构创建本地仓库 git init配置仓库作者信息 git config user.name zs git config user.email [email protected]. git基本操作 (重点)将工作区内容提交到暂存区 git add 文件名 git add .将暂存区内容提交到仓库区 git commit -...

2018-09-24 17:41:32 237

原创 用 Binds 操作多个数据库

用 Binds 操作多个数据库从 0.12 开始, Flask-SQLAlchemy 可以容易地连接到多个数据库。为了实现 这个功能,预配置了 SQLAlchemy 来支持多个“binds”。什么是 binds ?在 SQLAlchemy 中,一个 bind 是可以执行 SQL 语句 且通常是一 个连接或引擎的东西。在 Flask-SQLAlchemy 中, bind 总是背后自动为你创建好 ...

2018-09-21 09:09:13 640

原创 Flask框架钩子函数使用方式及应用场景分析

Flask框架钩子函数使用方式及应用场景分析在正常执行的代码前中后,强行插入执行一段你想要实现的功能的代码,这种函数就叫做钩子函数。钩子函数就是等同于高速公路上的收费站,进高速之前给你一个卡,并检查你是否超重。离开之前收你,也可以拦住你安检一下。一. 基础概念:request: Flask的请求上下文,包含请求变量如:method、args、form、values、endpoint、h...

2018-09-20 10:46:47 1064

转载 99%的人都理解错了HTTP中GET与POST的区别

99%的人都理解错了HTTP中GET与POST的区别GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问...

2018-09-16 23:01:25 265

原创 python 内存管理与垃圾回收机制

内存管理与垃圾回收机制 内存管理机制:引用计数、垃圾回收、内存池。引用计数: 引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加1, 当 其不再被一个变量引用时则计数减 1. 当引用计数等于0时对象被删除。垃圾回收 :引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引...

2018-09-16 08:35:23 569

原创 Vue.js实现 项目 生成到上线的全过程

生成项目目录单页应用(SPA)单页Web应用(single page web application,SPA),就是将系统所有的操作交互限定在一个web页面中。单页应用程序 (SPA) 是加载单个HTML页面,系统的不同功能通过加载不同功能组件的形式来切换,不同功能组件全部封装到了js文件中,这些文件在应用开始访问时就一起加载完,所以整个系统在切换不同功能时,页面的地址是不变的,系...

2018-09-14 17:21:58 15934

原创 Vue组件

Vue组件 组件(Component)是Vue.js最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。所有的 Vue 组件同时也都是 Vue 的实例,所以可接受相同的选项对象 (除了一些根级特有的选项) 并提供相同的生命周期钩子。使用方法: Vue.component(组件名称, 组件的内容)例如:Vue.component('component',{...

2018-09-14 17:04:53 685

原创 Vue组件开发自动化工具

Vue组件开发自动化工具windows终端操作1、打开终端 在window开始的搜索框,输入cmd,回车;或者在开始上点右键,选择运行,输入cmd回车;或者在window窗口的地址栏上输入cmd,回车。2、常用终端命令// 查看文件夹内容dir +回车// 进入某个文件夹cd 文件夹名 +回车// 进入上一级文件夹cd .. +回车 // 切换到e盘e...

2018-09-14 17:00:43 496

原创 ES6语法

ES6语法 ES6 是 JavaScript 语言的新版本,它也可以叫做 ES2015,之前学习的 JavaScript 属于 ES5,ES6 在它的基础上增加了一些语法,ES6 是未来 JavaScript 的趋势,而且 vue 组件开发中会使用很多的ES6 的语法,所以掌握这些常用的 ES6 语法是必须的。声明 let 和 const let 和 const 是新增的...

2018-09-14 16:49:21 2346

原创 数据库优化心得

数据库优化心得1. 减少过长查询语句 MySQL服务器与客户端通信方式是半双工的,因此应该尽量减少发送过长的查询语句 以及减少响应数据的大小(例如避免select *)最好加上limit 分页限制 2. 查询缓存查询缓存 对于写密集型的最好不要打开查询缓存,来缓存查找的结果 查询缓存不易过大,最好不要超过100MB 尽量用小表代替大...

2018-09-13 21:52:39 921

原创 Vue 实现数据交互之 axios.js 库

axios.js 库 数据交互 vue.js没有集成 ajax 功能,要使用 ajax 功能,可以使用vue官方推荐的 axios.js 库来做ajax的交互。 axios库的下载地址:https://github.com/axios/axios/releasesaxios完整写法:axios({ method: 'post', url: '/user/12345...

2018-09-12 10:24:42 457

原创 Python中最好用的爬虫库Requests代码实例

Request的代码实例先导入模块 import requests.adapters不同方式获取网页内容, 返回一个Response对象, 请求的参数可以为url或Request对象r0 = requests.get("https://github.com/timeline.json")r1 = requests.post("http://httpbin.org/post")...

2018-09-11 09:20:00 1413

原创 初识vue.js

一. vue.js 简介 Vue.js读音 /vjuː/, 类似于 view Vue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微胜出,并且它的热度还在递增。 Vue.js可以作为一个 js 库来使用,也可以用它全套的工具来构建系统界面,这些可以根据项目的需要灵活选择,所以说,Vue....

2018-09-10 22:43:43 351

原创 vue之class 与 style 绑定

Class 与 Style 绑定使用 v-bind 指令来设置元素的 class 属性或者sytle属性,它们的属性值可以是表达式,vue.js在这一块做了增强,表达式结果除了是字符串之外,还可以是对象或者数组。Class绑定用法一: 可以用一个布尔值控制类名加载 控制类名的加载与否<style> .basic { colo...

2018-09-10 22:34:53 259

原创 JavaScript对象&JSON

JavaScript一. JavaScript对象 JavaScript 中的对象,可以理解成是一个键值对的集合,键是调用每个值的名称,值可以是基本变量,还可以是函数和对象。创建 JavaScript 对象有两种方法:一种是通过顶级 Object 类来实例化一个对象,然后在对象上面添加属性和方法:(此方法不常使用)常用方法:var person = new ...

2018-09-09 11:35:18 422

原创 jQuery 事件委托&事件冒泡&DOM操作

jQuery一. 事件冒泡什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器...

2018-09-09 11:29:13 1170

原创 jQuery 事件&表单验证&属性操作

jquery事件事件函数列表: 比原生 js 省略了 ‘on’ 这里涉及到一些事件冒泡的内容, 主要原理: 我们点击子元素的时候,子元素会将事件传递到父元素去,进而触发父元素的事件.blur() 元素失去焦点focus() 元素获得焦点click() 鼠标单击mouseove...

2018-09-09 11:17:26 508

原创 jQuery 常见特殊动画效果

jquery特殊效果fadeIn() 淡入 opacityfadeOut() 淡出fadeToggle() 切换淡入淡出hide() 隐藏元素 dispay:noneshow() 显示元素toggle() 切换元素的可见状态slideDown()...

2018-09-09 11:09:24 1138

原创 ajax和jsonp

Json json 是 JavaScript Object Notation 的首字母缩写,单词的意思是 javascript 对象表示法,这里说的 json 指的是类似于 javascript 对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的 xml 数据格式。json 数据对象类似于JavaScript 中2的对象,但是它的键对应的值里面是没有函数方法的,值可...

2018-09-08 22:15:10 913

空空如也

空空如也

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

TA关注的人

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