自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows安装sk-video模块

安装skvideo模块

2017-09-19 17:12:50 4933

原创 caddy的访问认证及频次限制

caddy web server频次限制访问认证IP限制

2017-09-13 16:46:01 6963

原创 MongoDB的常见问答—索引

这篇文章提出了一些关于索引的常见问题,更详细的信息请参见https://docs.mongodb.com/manual/faq/indexes/一、如何创建索引?二、建立索引是如何影响数据库性能的?三、如何查看在一个集合上都有哪些索引?四、如何查看一条查询语句是否应用了索引?五、如何确定应该在哪些字段上建立索引?六、如何查看索引的大小?七、写操作如何影响索引?

2017-08-28 09:45:11 296

原创 MongoDB的常见问答—MongoDB的基本原理

一、MongoDB支持什么平台?二、MongoDB是否提供了托管服务?三、如何区分集合和表?四、如何创建一个数据库和一个集合?五、如何定义和更改集合的模式?六、MongoDB是否支持SQL?七、MongoDB是否支持事务?八、MongoDB是否处理缓存?九、MongoDB如果处理SQL或查询注入?

2017-08-28 00:22:25 706

原创 MongoDB的Journal

MongoDB采用提前写日志到磁盘日志文件的方式来实现发生故障时的数据持久化。 Journal是一个连续的、二进制的事务日志,在突然停机时,我们用它来恢复数据库到一个有效的状态。 下面分别介绍Journaling在三种不同存储引擎下的作用。一、WiredTiger WiredTiger使用检查点来为磁盘上的数据提供一个一致性的试图,允许MongoDB从上一个检查点恢复数据。然而,如果Mongo

2017-08-27 19:23:41 1574

原创 MongoDB 之存储引擎

mongodb主要利用存储引擎来管理数据。mongodb为我们提供了多种存储引擎,我们可以根据不同需求来选择最合适的一个。mongodb存储引擎种类 mongodb主要有3种存储引擎,分别是: (1) WiredTiger (2) MMAPv1 (3) In-Memory

2017-08-25 11:16:28 1167 1

原创 python 二叉树的相关实现

# coding:utf-8'''Created on 2017年8月20日@author: lelon'''# 二叉树结构class Node(object): def __init__(self, data, left=None, right=None): self.data = data self.left = left sel

2017-08-20 17:06:44 321

原创 python列表中元素去重的几种方式

利用reduce、groupby、defaultdict、fromkeys、sort、set、list等方法

2017-08-19 23:54:12 7130

原创 Redis的发布订阅的使用方法

一、相关命令概览 1.subscribe 订阅消息 2.psubscribe 利用模式匹配订阅消息 3.publish 发布消息 4.unsubscribe 取消普通订阅 5.punsubscribe 取消模式匹配的订阅 6.pubsub 自省命令二、发布订阅的作用 发布者无需将消息发送给特定的订阅者,而是将消息发送给某一频道,发布者并不关心订阅者是谁,与此同时,订阅者也不关心它所订阅

2017-08-18 23:29:43 380

原创 python的functools模块常用方法介绍

functools模块中有两个方法是从_functools引入的,分别是partial和reduce函数。 functools模块是python2.5版本新增的模块。1. partial2. reduce3. update_wrapper4. wraps5. total_ordering6. cmp_to_key

2017-08-17 08:25:20 5699

原创 python反转字符串的几种方式

1.切片操作2.转换成list,再reverse,之后重组字符串3.将字符串转换成列表后,交换前后两个字符串的位置,再重组字符串4.利用collections中的双向列表deque,而且deque是线程安全的,可以同时从deque的左右两端提取元素5.利用递归6.循环字符串元素

2017-08-17 07:14:17 542

原创 python sys.exit()、break、 exit()、quit()、os._exit()、return的区别

1.sys.exit() 函数说明: 标准的退出系统的方法。 exit([status]) 退出系统,并抛出SystemExit(status)异常。 如果不传递status或传递None,默认当做0处理。 如果传递的status为数字,会被认为是系统的退出码。 如果传递的status为其他数据类型,status会被打印出来,并且系统的退出码为1.如果不同try…except….捕获异

2017-08-16 07:57:26 7776

原创 python的字符串驻留

一、 字符串驻留定义在维基百科中是这样解释的: In computer science, string interning is a method of storing only one copy of each distinct string value, which must be immutable.Interning strings makes some string process

2017-08-14 13:37:08 2461

原创 聚集索引与非聚集索引的区别

聚集索引和非聚集索引是SQL SERVER 数据库中的索引类型。一、聚集索引1.定义聚集索引中键值的逻辑顺序决定了表中相应行的物理存储位置,因此一个表中只能有一个聚集索引。索引的逻辑顺序与相应行的物理位置一致。2.聚集索引的适用情形 我们可以在针对以下情况建立聚集索引经常对某些列进行范围搜索,例如查询一段日期范围。 当找到包含第一个数据的行之后,便可以确保包含后续索引值的行在物理位置上相邻。

2017-08-02 18:10:50 6155

原创 数据库的水平拆分和垂直拆分

一、垂直拆分是根据模块或功能的不同,将数据存放到不同的数据库表中。能够解决数据表之间的I/O竞争问题,但是不能解决单表大数据量的问题。 二、水平拆分是将一张表中的数据拆分到多个表或数据库中,根据数据的特性划分,比如SaaS系统中的用户一般是独立的用户,期间的数据一般不会耦合,所以可以按照用户ID拆分数据表。水平拆分解决了单表大数据量的问题,但是没有解决数据表之间的I/O竞争问题。

2017-08-02 15:01:15 535

原创 MySQL问题总结

一、视图更新操作规则允许更新的试图 由一个基表定义的视图,只含有基表的主键或候补键,并且视图中没有用表达式或函数定义的属性,才允许更新。不允许更新的试图 (1)若视图的字段是来自字段表达式或常数,则不允许对此视图执行INSERT、UPDATE操作,允许执行DELETE操作; (2)若视图的字段是来自库函数,则此视图不允许更新; (3)若视图的定义中有GROUP BY子句或聚集函数

2017-08-01 15:05:19 260

原创 跨域问题及其解决方案

一、 什么是跨域问题?跨域是指浏览器不能执行其他网站的脚本,他是由浏览器的同源策略导致的,是浏览器对JavaScript施加的安全限制。 所谓同源是指,协议、域名和端口号均相同。 注意:localhost与127.0.0.1虽说都代表本机,但是也非同源。二、解决跨域问题的方法1.jsonp(json padding) jsonp利用<script>标签的没有跨域限制的漏洞,来达到与第三方通讯的

2017-07-31 10:41:46 399

原创 从输入网址到返回页面经过了这些过程

打开浏览器,在地址栏中输入baidu.com这个网址,会返回一个地址为https://www.baidu.com/的百度首页。那么,在这之间都发生了什么呢? 期间主要经历了四个过程: 一、 域名解析 二、建立TCP连接三、发送GET请求四、显示页面

2017-07-31 08:58:12 3105

原创 python中装饰器的作用

一、记录函数方法访问日志 二、校验参数和返回结果 三、创建框架,例如flask 四、复用不能复用的代码,访问一个接口的重试机制,retry

2017-07-28 11:52:01 530

原创 在python中应用Django的模板系统

一、在python中使用Django的模板系统分为三个步骤: 第一步,配置引擎 第二步,向模板中编辑模板代码 第三步,利用上下文渲染模板二、配置引擎三、加载模板 推荐使用三种工厂方法创建模板,分别是:get_template(template_name) 利用模板名字返回模板对象select_template(template_name_list) 找出模板名字中的第一个模板from

2017-07-27 09:24:04 438

原创 python中的生成器和迭代器

一、迭代器 可以用于for语句进行循环的对象就是可迭代对象,例如内置数据类型list、dict、tuple、str等。 我们也可以构建自己的迭代器,包含一系列元素,也可以通过for循环取出元素,也可以使用next()方法。使用迭代器的好处是:当数列长度过大时,可以减少内存消耗,因为每次只返回一个值。 二、产生迭代器的三种方法 1. iter()和next()方法 迭代器例子:class C

2017-07-26 11:38:49 225

原创 Python性能优化建议

减少时间复杂度 在python中可以选取合适的数据结构来优化时间复杂度,比如list和set查找某一个元素的时间复杂度分别为O(n)和O(1)。合理安排and和or前后表达式的顺序合理使用copy与deepcopy cope为浅复制 deepcopy为深复制,采用递归复制的方式 效率方面,copy优于deepcopy 注意: 针对list和dict这类可变变量,直接赋值采用的是引用的方

2017-07-25 11:02:14 344

原创 django模板中的字符串文字和自动转义

本文只考虑模板中的字符串,不考虑字符串中带标签的情况。 模板中的字符串文字不会自动转义,因为这里默认模板的作者已经正确书写模板的内容。{{ data|default:"This is a string literal." }}如果我们在data不存在时,显示默认文字“3 < 2”,则代码如下:{{ data|default:"3 < 2" }}注意:不应该写成如下形式{{ data|defa

2017-07-20 11:41:37 3709

原创 Django防止XSS攻击的几种方式

一、什么是XSS攻击 XSS即跨站脚本攻击,XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。 二、防止XSS攻击的两种方式 1、对单一变量逐个进行转义过滤。利用{% autoescape off|on %}。 2、利用django的HTML自动转义,无需autoescape 标签,django中的HTML文档会自动转义。< 转化

2017-07-19 11:26:11 8103

原创 python中dict的使用方法

定义字典的方法为不存在的字典元素设置默认值

2017-07-14 10:35:32 587

原创 django模板中访问地址问题

当通过连接http://127.0.0.1:8000/revenue/访问到revenue.html页面时,页面中有如下导航栏: 收益数据 价格 市场 机会 代码如下:<div> <ul class="nav nav-tabs">

2017-07-13 15:34:15 363

原创 django中的路由规则

URL路由规则URL中参数命名与字典参数命名冲突处理是否捕捉URL参数嵌套URL参数

2017-07-12 11:43:43 753

空空如也

空空如也

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

TA关注的人

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