自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sherry_Rui的专栏

人如同一个圆,你知道的越多,学的越深,接触的越广,圆就越大,越知道自己的渺小,越懂得敬畏

  • 博客(149)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python判断两个list是否是父子集关系

list1 和list2 两个list , 想要得到list1是不是包含 list2  (是不是其子集 )a = [1,2]b = [1,2,3]c = [0, 1]set(b) > set(a)set(b) > set(c) 返回TrueFalse

2017-05-04 15:17:38 12311

原创 Python校验年、月时间跨度

最近做的一个需求,需要在python里面校验时间跨度。两个时间点分别是start_time, end_time,之前知道timedelta可以按天计算,用于加减运算。但不能满足月份或者年这种天数不定的需求。“` if start_time < datetime.datetime.today() - relativedelta(months=6): reas

2017-04-10 17:49:41 1559

转载 ImportError: No module named thrift

运行Python脚本时提示如标题脚本包含:sys.path.append('/usr/lib/python2.7/site-packages/')                  from thrift import Thriftfrom thrift.transport import TSocketfrom thrift.transport import TTran

2017-04-09 15:25:17 3998

原创 Python 后台修改request表单

最近遇到一个问题,需要截获request请求,在request.POST或request.GET中添加数据,然后再作为参数交给其它函数处理 request.GET = request.GET.copy() set_default_request(request)#设置requestdef set_default_request(request):

2017-03-16 14:06:30 1965

原创 Python TypeError: coercing to Unicode: need string or buffer, float found

调试Python程序:unique_key = name + time.mktime(create_time.timetuple())提示错误:TypeError: coercing to Unicode: need string or buffer, float found错误原因:使用“+”拼接会抛出异常,改用%操作符输出 unique_key =

2017-03-15 12:34:30 3741

原创 Protocol Buffer

什么是Protocol Buffer数据传输格式有很多种,最常见XML和JSON,这两种格式生成速度非常快,但是解析的效率却很低。尤其在数据量非常大的情况下,会卡住好半天。并且这种格式的传输也会使得传输所耗费流量变大。解析效率最高,传输消耗流量最小的数据格式自然是Buffer。很多公司都封装过自己的Buffer流传输的模块。Google公司将他们封装的Buffer流模块给贡献了出来!也就是我这里所提

2016-10-18 17:24:18 534

原创 ssh连接失败,提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

ssh -p 29418 -i ~/.ssh/id_rsa localhost -l zhaorui ssh连接失败,提示如下:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@

2016-10-11 18:08:24 3174

原创 Web认证方式

Web中包含四种认证方式:Basic,Form,Digest,SSL。Basic(HTTP 1.0 提出) 客户端请求某个资源后,服务器会发送一个401(未授权)的响应,在响应中带了Realm信息表示使用Basic认证。 浏览器接收到这个响应后会弹出一个框,输入用户名和密码。点取消表示取消认证,点确定会提交用户名、密码到服务器。 提交的方式是在HTTP头中加入: WWW-

2016-09-28 18:57:56 4526

原创 http request失败自动重新尝试

需求最近开发一个项目,要实现的一个场景是对于某个http请求,如果请求失败,需要再自动尝试几次,并记录异常原因便于排查代码实现#http连接有问题时候,自动重连def conn_try_again(function): RETRIES = 0 #重试的次数 count = {"num": RETRIES} def wrapped(*args, **kwargs): try:

2016-09-22 11:49:33 3496

原创 ValueError: astimezone() cannot be applied to a naive datetime

python datetime做时区转换,使用astimezone(),提示:ValueError: astimezone() cannot be applied to a naive datetime解决办法:先调用localize方法转换为标准,然后在调用antimezone()方法start_date = local_tz.localize(start_date)st

2016-09-21 17:27:13 3197

原创 python写入csv乱码问题

需求背景最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件。附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但是一想Excel的文件体积会多出好多倍,csv文件默认也是使用Excel打开的,但是根本还是文本文件,体积小,保存也方便,于是最终决定使用csv模块来保存文件。Python写csv文件Pyt

2016-09-07 10:32:03 8564

转载 django processors用法

本文为转载:原文地址:点击打开链接也许,你想要自定义和扩展模板引擎,下面会介绍一些关于如何去扩展模板系统的方法,了解一下模板系统的工作原理,同时也会介绍Django模板系统中的auto-escapint功能,这是一种安全机制。复习一下模板语言的用法{# 模板tag的用法 #}{% if done %}Over{% else %}

2016-08-16 17:55:31 1492

原创 Web项目上传文件失败

考虑权限问题chmod 755 uploadsuploads是上传文件存储位置js对该文件有写权限,如果无法写入,可尝试权限改成777

2016-07-28 15:28:19 1726

原创 MySQL存储引擎

注:本文为转载,原文地址:点击打开链接MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。若要修改默认引擎,可以修改配置文件中的default-storage-engine。可以通过:show variables like 'default_storage_engine';查看当前数据库到默认引擎。命令:show en

2016-07-24 22:08:05 504

原创 Java ArrayList源码分析

ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小......认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法?首先看到对ArrayList的定义:[java] view plain copypubli

2016-07-24 18:21:06 652

原创 WordPress 取消上传2M限制

在.htaccess文件里添加:php_value upload_max_filesize 50Mphp_value post_max_size 50M重启apache,ok查看原文:http://www.sherryblog.cn/?p=286

2016-07-23 23:29:58 2811

转载 Apache + Flask + mod_wsgi部署

原文地址:http://www.isaced.com/post-238.html安装 mod_wsgi如果服务器是用的Apache,那么Flask官方推荐用mod_wsgi,文档可以戳这,其实Flask官方文档已经写的很清楚了,我还是贴一下吧。Ubuntu or Debian:# apt-get install libapache2-mod-wsgi修

2016-07-22 16:56:50 5125 1

转载 python文件路径

1) 获得脚本文件目录绝对路径os.path.abspath(os.path.dirname(__file__))2)获得上级目录os.path.dirname(fileOrDir)3)获得脚本文件名os.path.basename(__file__)4)获得当前工作目录os.getcwd()

2016-07-22 15:30:15 523

原创 MongoDB安装及简单主从部署

安装系统Ubuntu14.04apt-get install mongodb配置文件/etc/mongodb.conf,可以修改dbpath(文档存储位置),bind_ip注释掉127.0.0.1从属节点journal=true更改为journal=false# mongodb.conf# Where to store the data.dbpath=/var/lib

2016-07-21 14:51:19 1315

原创 Mesos+Docker+Marathon环境搭建教程

官方DocMesos:http://mesos.apache.org/gettingstarted/Mesos学习:https://www.gitbook.com/book/mesos-cn/mesos-cn/detailsDocker:https://docs.docker.com/engine/installation/linux/ubuntulinux/安装Marathon:

2016-07-06 17:24:44 7829

转载 Ubuntu开机配置静态ip

1、修改网络配置文件 网络配置信息存储在/etc/network/interfaces 文件中 sudo vi /etc/network/interfaces 我用vi打开,我的文件显示如下内容: # This file describes the network interfaces available on your system # and how to activate

2016-07-05 14:01:36 1377

转载 64位ubuntu 14.04忘记登录密码的解决办法

刚安装了,ubuntu14.04,就想着,如果忘记登录密码,这可不好办,所以测试下开机,刚过bios显示画面,不停的点击,,键盘左边的shift键。(因为刚开始是采用按着不放的办法,结果不灵。所以我不停的点击,失败了,重启机子,直到用这个方法,不停的点击,出来成功为止)grub2画面出来了选择第二项:ubuntu kylin gnu/linux 高级选项进入另一画面后,再选择第二项

2016-07-05 10:54:16 5591 3

原创 OpenStack python库: from oslo.config import cfg ImportError: No module named config

错误信息: from oslo.config import cfg ImportError: No module named config解决办法:出现这个错误的时候,oslo.config已经安装好了,搜一下这个错误,应该是oslo.config版本低的问题;运行:pip install oslo.config --upgrade

2016-05-26 13:56:10 10683 2

原创 字符串的排列

剑指Offer 28题:题目:输入一个字符串,输出该字符串的所有排列。例如,输入'abc',输出abc、acb、bac、bca、cab、cba。递归解决:关键在于递归条件、边界条件、去重(例如‘aa’)package cn.edu.bupt.sherry;import java.util.ArrayList;import java.util.HashSet;

2016-05-24 22:22:07 433

转载 ConcurrentHashMap原理详解

下面这部分内容转载自:  http://www.haogongju.net/art/2350374  JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开

2016-05-20 16:15:58 11508 1

原创 Java线程池详解

在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeU

2016-05-17 11:48:35 456

转载 Mysql索引

关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTR

2016-05-16 11:14:32 366

原创 输入一个集合,输出这个集合的所有子集

package cn.edu.bupt.sherry;import java.util.ArrayList;import java.util.Scanner;public class Test { /* * 二级制 001 ——> index = 0 {list.get(0)} */ public static ArrayList> getSubsets2(ArrayList

2016-05-09 21:28:42 3936

原创 First Bad Version Leetcode

题目:You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed bas

2016-05-05 15:23:15 517

原创 Django filter符合表示"不等于"

如果想按条件过滤掉某些数据,用filter方法。但如何表示“不等于”这个概念呢?myapps = App.objects.filter(name != ''))这种写法是不对的,正确写法是:from django.db.models import Qmyapps = App.objects.filter(~Q(name= ''))

2016-04-20 14:12:53 42780

原创 快速排序

快速排序算法介绍快速排序和归并排序都使用分治法来设计算法,区别在于归并排序把数组分为两个基本等长的子数组,分别排好序之后还要进行归并(Merge)操作,而快速排序拆分子数组的时候显得更有艺术,取一个基准元素,拆分之后基准元素左边的元素都比基准元素小,右边的元素都不小于基准元素,这样只需要分别对两个子数组排序即可,不再像归并排序一样需要归并操作。基准元素的选取对算法的效率影响很大,最好的情况

2016-04-16 14:43:07 787

转载 JAVA Static关键字理解

JAVA Static关键字理解原理有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为s

2016-04-15 15:02:48 462

原创 namespace中配iptables规则注意事项

最近一个项目要在namespace中添加一条iptables规则,对自己搭建的DHCP服务进行转发:ip netns exec vrouter iptables -t nat -A POSTROUTING -o internal-if  -s 120.0.0.0/24 -d 10.0.0.0/24 -j MASQUERADE结果发现在internal-if并不能对流量进行转发;找了半天

2016-04-07 13:02:47 1860

原创 多线程并发处理

一、Synchronized从一个例子入手:实现一个银行账户取钱场景:第一个类:Account.java账户类:package cn.edu.byr.test;public class Account { private String accountNo; private double balance; public Account(){} public A

2016-04-06 11:26:40 587

原创 ArrayList和LinkedList区别及使用场景

1、ArrayList是基于数组实现的,其构造函数为:private transient Object[] elementData;private int size;ArryList初始化时,elementData数组大小默认为10;每次add()时,先调用ensureCapacity()保证数组不会溢出,如果此时已满,会扩展为数组length的1.5倍+1,然后用array.cop

2016-04-05 21:25:59 9139 2

原创 Java List去重的两种方法

通过Iterator遍历,利用remove方法移除:public void testList() {  List list=new ArrayList();  list.add(1); list.add(2); list.add(4); list.add(1); list.add(2); list.add(5); list.add(1); List listTemp= n

2016-04-05 19:32:12 2572

转载 JVM Stack和Heap、GC

在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题。  一般,JVM的内存分为两部分:Stack和Heap。  Stack(栈)是JVM的内存指令区。Stack管理很简单,push一定长度字节的数据或者指令,Stack指针压栈相应的字节位移;pop一定

2016-04-05 14:40:27 935

转载 ConcurrentHashMap

集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅

2016-04-05 13:20:54 354

原创 网易2016暑期实习笔试题--蛇形矩阵

蛇形矩阵是N*N方阵;eg:N = 3;输出:1 2 38 9 47 6 5……import java.util.Scanner;public class SnakeMatrix { static int N; public static int getValue(int i,int j){ if(i == 1 && j == 1)

2016-04-04 00:12:01 789

原创 Http状态码

完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用reque

2016-04-03 23:21:59 1311

OpenDaylight REST API研究

OpenDaylight REST API研究

2014-07-22

空空如也

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

TA关注的人

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