<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sherry_Rui的专栏]]></title><description><![CDATA[人如同一个圆，你知道的越多，学的越深，接触的越广，圆就越大，越知道自己的渺小，越懂得敬畏]]></description><link>https://blog.youkuaiyun.com/Sherry_Rui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Sherry_Rui]]></copyright><item><title><![CDATA[Python判断两个list是否是父子集关系]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/71170865</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/71170865</guid><author>Sherry_Rui</author><pubDate>Thu, 04 May 2017 15:17:38 +0800</pubDate><description><![CDATA[list1 和list2 两个list ， 想要得到list1是不是包含 list2  （是不是其子集 )

a = [1,2]
b = [1,2,3]
c = [0, 1]

set(b) > set(a)
set(b) > set(c) 
返回

True
False]]></description><category></category></item><item><title><![CDATA[Python校验年、月时间跨度]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/69959721</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/69959721</guid><author>Sherry_Rui</author><pubDate>Mon, 10 Apr 2017 17:49:41 +0800</pubDate><description><![CDATA[最近做的一个需求，需要在python里面校验时间跨度。两个时间点分别是start_time, end_time，之前知道timedelta可以按天计算，用于加减运算。但不能满足月份或者年这种天数不定的需求。“` 
        if start_time < datetime.datetime.today() - relativedelta(months=6): 
            reas]]></description><category></category></item><item><title><![CDATA[ImportError: No module named thrift]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/69817645</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/69817645</guid><author>Sherry_Rui</author><pubDate>Sun, 09 Apr 2017 15:25:17 +0800</pubDate><description><![CDATA[运行Python脚本时提示如标题

脚本包含：

sys.path.append('/usr/lib/python2.7/site-packages/')                  
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTran]]></description><category></category></item><item><title><![CDATA[Python 后台修改request表单]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/62422222</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/62422222</guid><author>Sherry_Rui</author><pubDate>Thu, 16 Mar 2017 14:06:30 +0800</pubDate><description><![CDATA[最近遇到一个问题，需要截获request请求，在request.POST或request.GET中添加数据，然后再作为参数交给其它函数处理


        request.GET = request.GET.copy()
        set_default_request(request)
#设置requestdef set_default_request(request):
  ]]></description><category></category></item><item><title><![CDATA[Python TypeError: coercing to Unicode: need string or buffer, float found]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/62219452</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/62219452</guid><author>Sherry_Rui</author><pubDate>Wed, 15 Mar 2017 12:34:30 +0800</pubDate><description><![CDATA[调试Python程序：
unique_key = name + time.mktime(create_time.timetuple())
提示错误：
TypeError: coercing to Unicode: need string or buffer, float found



错误原因：使用“+”拼接会抛出异常，改用%操作符输出


    unique_key =]]></description><category></category></item><item><title><![CDATA[Protocol Buffer]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52850719</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52850719</guid><author>Sherry_Rui</author><pubDate>Tue, 18 Oct 2016 17:24:18 +0800</pubDate><description><![CDATA[什么是Protocol Buffer数据传输格式有很多种，最常见XML和JSON，这两种格式生成速度非常快，但是解析的效率却很低。尤其在数据量非常大的情况下，会卡住好半天。并且这种格式的传输也会使得传输所耗费流量变大。解析效率最高，传输消耗流量最小的数据格式自然是Buffer。很多公司都封装过自己的Buffer流传输的模块。Google公司将他们封装的Buffer流模块给贡献了出来！也就是我这里所提]]></description><category></category></item><item><title><![CDATA[ssh连接失败，提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52790391</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52790391</guid><author>Sherry_Rui</author><pubDate>Tue, 11 Oct 2016 18:08:24 +0800</pubDate><description><![CDATA[ssh -p 29418 -i ~/.ssh/id_rsa localhost -l zhaorui 
ssh连接失败，提示如下：@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@]]></description><category></category></item><item><title><![CDATA[Web认证方式]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52692927</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52692927</guid><author>Sherry_Rui</author><pubDate>Wed, 28 Sep 2016 18:57:56 +0800</pubDate><description><![CDATA[Web中包含四种认证方式：Basic，Form，Digest，SSL。

Basic（HTTP 1.0 提出）


  客户端请求某个资源后，服务器会发送一个401（未授权）的响应，在响应中带了Realm信息表示使用Basic认证。 
  浏览器接收到这个响应后会弹出一个框，输入用户名和密码。点取消表示取消认证，点确定会提交用户名、密码到服务器。 提交的方式是在HTTP头中加入：


 
WWW-]]></description><category></category></item><item><title><![CDATA[http request失败自动重新尝试]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52621394</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52621394</guid><author>Sherry_Rui</author><pubDate>Thu, 22 Sep 2016 11:49:33 +0800</pubDate><description><![CDATA[需求最近开发一个项目，要实现的一个场景是对于某个http请求，如果请求失败，需要再自动尝试几次，并记录异常原因便于排查代码实现#http连接有问题时候，自动重连
def conn_try_again(function):
  RETRIES = 0
  #重试的次数
  count = {"num": RETRIES}
  def wrapped(*args, **kwargs):
    try:]]></description><category></category></item><item><title><![CDATA[ValueError: astimezone() cannot be applied to a naive datetime]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52610464</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52610464</guid><author>Sherry_Rui</author><pubDate>Wed, 21 Sep 2016 17:27:13 +0800</pubDate><description><![CDATA[python datetime做时区转换，使用astimezone()，提示：
ValueError: astimezone() cannot be applied to a naive datetime
解决办法：
先调用localize方法转换为标准，然后在调用antimezone（）方法

start_date = local_tz.localize(start_date)
st]]></description><category></category></item><item><title><![CDATA[python写入csv乱码问题]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52457210</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52457210</guid><author>Sherry_Rui</author><pubDate>Wed, 07 Sep 2016 10:32:03 +0800</pubDate><description><![CDATA[需求背景
最近为公司开发了一套邮件日报程序，邮件一般就是表格，图片，然后就是附件。附件一般都是默认写到txt文件里，但是PM希望邮件里的附件能直接用Excel这种软件打开，最开始想保存为Excel，但是一想Excel的文件体积会多出好多倍，csv文件默认也是使用Excel打开的，但是根本还是文本文件，体积小，保存也方便，于是最终决定使用csv模块来保存文件。
Python写csv文件
Pyt]]></description><category></category></item><item><title><![CDATA[django processors用法]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52223582</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52223582</guid><author>Sherry_Rui</author><pubDate>Tue, 16 Aug 2016 17:55:31 +0800</pubDate><description><![CDATA[本文为转载：原文地址：点击打开链接

也许，你想要自定义和扩展模板引擎，下面会介绍一些关于如何去扩展模板系统的方法，

了解一下模板系统的工作原理，同时也会介绍Django模板系统中的auto-escapint功能，

这是一种安全机制。

复习一下模板语言的用法

{# 模板tag的用法 #}

{% if done %}

Over

{% else %}
]]></description><category></category></item><item><title><![CDATA[Web项目上传文件失败]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52055727</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52055727</guid><author>Sherry_Rui</author><pubDate>Thu, 28 Jul 2016 15:28:19 +0800</pubDate><description><![CDATA[考虑权限问题
chmod 755 uploads


uploads是上传文件存储位置
js对该文件有写权限，如果无法写入，可尝试权限改成777]]></description><category></category></item><item><title><![CDATA[MySQL存储引擎]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52016636</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52016636</guid><author>Sherry_Rui</author><pubDate>Sun, 24 Jul 2016 22:08:05 +0800</pubDate><description><![CDATA[注：本文为转载，原文地址：点击打开链接

MySQL5.5以后默认使用InnoDB存储引擎，其中InnoDB和BDB提供事务安全表，其它存储引擎都是非事务安全表。
若要修改默认引擎，可以修改配置文件中的default-storage-engine。可以通过：show variables like 'default_storage_engine';查看当前数据库到默认引擎。命令：show en]]></description><category></category></item><item><title><![CDATA[Java ArrayList源码分析]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52015386</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52015386</guid><author>Sherry_Rui</author><pubDate>Sun, 24 Jul 2016 18:21:06 +0800</pubDate><description><![CDATA[ArrayList就是传说中的动态数组，就是Array的复杂版本，它提供了如下一些好处：动态的增加和减少元素、灵活的设置数组的大小......

认真阅读本文，我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法？提供了其他没有被调用过的私有方法？

首先看到对ArrayList的定义：


[java] view plain copy

publi]]></description><category></category></item><item><title><![CDATA[WordPress 取消上传2M限制]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52008123</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/52008123</guid><author>Sherry_Rui</author><pubDate>Sat, 23 Jul 2016 23:29:58 +0800</pubDate><description><![CDATA[在.htaccess文件里添加：

php_value upload_max_filesize 50M
php_value post_max_size 50M

重启apache，ok
查看原文：http://www.sherryblog.cn/?p=286]]></description><category></category></item><item><title><![CDATA[Apache + Flask + mod_wsgi部署]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51996505</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51996505</guid><author>Sherry_Rui</author><pubDate>Fri, 22 Jul 2016 16:56:50 +0800</pubDate><description><![CDATA[原文地址：http://www.isaced.com/post-238.html


安装 mod_wsgi


如果服务器是用的Apache，那么Flask官方推荐用mod_wsgi，文档可以戳这，其实Flask官方文档已经写的很清楚了，我还是贴一下吧。

Ubuntu or Debian：
# apt-get install libapache2-mod-wsgi


修]]></description><category></category></item><item><title><![CDATA[python文件路径]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51995392</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51995392</guid><author>Sherry_Rui</author><pubDate>Fri, 22 Jul 2016 15:30:15 +0800</pubDate><description><![CDATA[1） 获得脚本文件目录绝对路径

os.path.abspath(os.path.dirname(__file__))




2）获得上级目录

os.path.dirname(fileOrDir)




3）获得脚本文件名

os.path.basename(__file__)




4）获得当前工作目录

os.getcwd()


]]></description><category></category></item><item><title><![CDATA[MongoDB安装及简单主从部署]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51982459</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51982459</guid><author>Sherry_Rui</author><pubDate>Thu, 21 Jul 2016 14:51:19 +0800</pubDate><description><![CDATA[安装系统Ubuntu14.04
apt-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]]></description><category></category></item><item><title><![CDATA[Mesos+Docker+Marathon环境搭建教程]]></title><link>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51840907</link><guid>https://blog.youkuaiyun.com/Sherry_Rui/article/details/51840907</guid><author>Sherry_Rui</author><pubDate>Wed, 06 Jul 2016 17:24:44 +0800</pubDate><description><![CDATA[官方Doc
Mesos：http://mesos.apache.org/gettingstarted/
Mesos学习：https://www.gitbook.com/book/mesos-cn/mesos-cn/details
Docker：https://docs.docker.com/engine/installation/linux/ubuntulinux/
安装Marathon：]]></description><category></category></item></channel></rss>