<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[select603的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/select603</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; select603]]></copyright><item><title><![CDATA[xhtml2pdf如何支持中文]]></title><link>https://blog.youkuaiyun.com/select603/article/details/62037340</link><guid>https://blog.youkuaiyun.com/select603/article/details/62037340</guid><author>select603</author><pubDate>Tue, 14 Mar 2017 09:58:32 +0800</pubDate><description><![CDATA[这段时间在做一个图片PDF的项目, 需要把网页转换成PDF, 找到了python的xhtml2pdf这个库, 个方面都满意,只是对中文的支持不好, html上的中文转换成PDF后都成了乱码, 貌似中文网站都没有找到合适的解决办法, 只能求助于万能的google, 果然不负我望, 废话不多说, 上代码:


django代码
class GeneratePdf(View):
    def]]></description><category></category></item><item><title><![CDATA[利用openssl生成证书]]></title><link>https://blog.youkuaiyun.com/select603/article/details/54864085</link><guid>https://blog.youkuaiyun.com/select603/article/details/54864085</guid><author>select603</author><pubDate>Sat, 04 Feb 2017 16:48:00 +0800</pubDate><description><![CDATA[第一步：
生成一个4096bit的rsa key


openssl genrsa -out ca.key 4096


Generating RSA private key, 4096 bit long modulus
.................................................................................]]></description><category></category></item><item><title><![CDATA[centos 7上nginx 报错，open() "test.min.css" failed (13: Permission denied]]></title><link>https://blog.youkuaiyun.com/select603/article/details/53583066</link><guid>https://blog.youkuaiyun.com/select603/article/details/53583066</guid><author>select603</author><pubDate>Mon, 12 Dec 2016 15:23:13 +0800</pubDate><description><![CDATA[OS: Centos7
Kernal: 3.10.0-327.el7.x86_64


在配置好django及相应的nginx反向代理后
发现web打开没有找到静态文件，nginx日志报permission denied, 检查过程如下：
1. 检查/var/www/static目录的属主和权限，发现属主非www(nginx worker以www用户启动)，权限正确
　　　　chow]]></description><category></category></item><item><title><![CDATA[解决nginx反向代理django应用非80端口，跳转错误的问题]]></title><link>https://blog.youkuaiyun.com/select603/article/details/52926719</link><guid>https://blog.youkuaiyun.com/select603/article/details/52926719</guid><author>select603</author><pubDate>Tue, 25 Oct 2016 20:25:12 +0800</pubDate><description><![CDATA[在我们部署django应用的时候，通常的做法是用uwsgi或者gunicorn等wsgi server运行django工程，然后在前面放一个nginx做反向代理，但是如果我们nginx没有使用80端口的话，有可能访问应用的/跳转的时候会出现错误，丢失了端口，
跳转到另一个网站或者404，如何解决这个问题呢？很简单


1. django settings中添加如下配置
USE_X_FOR]]></description><category></category></item><item><title><![CDATA[ubuntu14.04无法启动mysql的解决过程]]></title><link>https://blog.youkuaiyun.com/select603/article/details/52913929</link><guid>https://blog.youkuaiyun.com/select603/article/details/52913929</guid><author>select603</author><pubDate>Mon, 24 Oct 2016 18:09:59 +0800</pubDate><description><![CDATA[环境：
OS：Ubuntu 14.04.1 LTS
Kernal：3.13.0-93-generic


过程：

apt-get install mysql-server



安装完后，修改了/etc/mysql/my.cf中的datadir指向一个挂载的硬盘上的目录，然后重启服务

/etc/init.d/mysql restart
提示启动failed，查看日志]]></description><category></category></item><item><title><![CDATA[复习数据结构和算法的好网站【python版】]]></title><link>https://blog.youkuaiyun.com/select603/article/details/52606602</link><guid>https://blog.youkuaiyun.com/select603/article/details/52606602</guid><author>select603</author><pubDate>Wed, 21 Sep 2016 12:47:18 +0800</pubDate><description><![CDATA[发现一个复习数据结构和算法的好网站：InteractivePython]]></description><category></category></item><item><title><![CDATA[生产环境下如何优雅地重启 Tornado]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8928829</link><guid>https://blog.youkuaiyun.com/select603/article/details/8928829</guid><author>select603</author><pubDate>Wed, 15 May 2013 09:25:36 +0800</pubDate><description><![CDATA[之前我在《Tornado 使用经验》一文中，提到了调用 tornado.process.fork_processes() 来提高性能的方法。
在最近的实践中，我发现这样会有些弊端，所以便有了本文。
当然，这些仍然只是我个人的探索而已，并不保证是最佳实践。

首先说下为什么我不再使用 tornado.process.fork_processes() 方法。
网站在上线后，难免会遇到需求更改]]></description><category></category></item><item><title><![CDATA[算法复杂度——时间复杂度和空间复杂度]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8907031</link><guid>https://blog.youkuaiyun.com/select603/article/details/8907031</guid><author>select603</author><pubDate>Thu, 09 May 2013 18:41:03 +0800</pubDate><description><![CDATA[1、时间复杂度 
  （1）时间频度 一个算法执行所耗费的时间，从理论上是不能算出来的，必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试，只需知道哪个算法花费的时间多，哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例，哪个算法中语句执行次数多，它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 
  （2）时间复]]></description><category></category></item><item><title><![CDATA[Google新论文 CPI²：基于Linux的世界级跨数据中心服务器CPU监控]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8849463</link><guid>https://blog.youkuaiyun.com/select603/article/details/8849463</guid><author>select603</author><pubDate>Thu, 25 Apr 2013 14:29:58 +0800</pubDate><description><![CDATA[Google已经实现世界级数据中心服务器监控，新的技术可以监控世界范围内每台服务器上的每个任务；其最终目的是通过这些数据有选择对进程进行干预、甚至是关闭该进程让同CPU上的其它进程得以运行。


搜索巨头在技术论文（PDF）中详细的描述了这一世界级监视技术的实现方法，相信使用大型基于Linux云计算基础设施的机构都会对此感兴趣。

论文中写道：

性能隔离是云计算的主要挑战。不幸的是]]></description><category></category></item><item><title><![CDATA[Python 超时装饰器]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8784387</link><guid>https://blog.youkuaiyun.com/select603/article/details/8784387</guid><author>select603</author><pubDate>Wed, 10 Apr 2013 18:00:37 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/fengmk2/archive/2008/08/30/python_tips_timeout_decorator.html




Python
 tips: 超时装饰器, @timeout decorator





最近工作有点多，趁周末有空，继续分享我在学习和使用python过程中的一些小tips。

有没有遇]]></description><category></category></item><item><title><![CDATA[三个方法让你成为更好的程序员]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8782127</link><guid>https://blog.youkuaiyun.com/select603/article/details/8782127</guid><author>select603</author><pubDate>Wed, 10 Apr 2013 12:03:45 +0800</pubDate><description><![CDATA[1. 做出个东西

找个东西/项目，直接开始做。

想进入编程这一行业的人开始时总是试图先学会一门语言。这种方法是 低效的。找一个项目或一个小功能软件去做，针对性的学习那些需要完成这个任务必须具备的知识技能。这种学法让你有了一个学习的环境和目标，逼迫你去具有创 造力。有些最有价值的知识会来自解决那些之前没有人解决过的独特问题。这个过程是辛苦的，但要的就是你的坚持。

2. 传教]]></description><category></category></item><item><title><![CDATA[Instagram 5位传奇工程师背后的技术揭秘]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8752422</link><guid>https://blog.youkuaiyun.com/select603/article/details/8752422</guid><author>select603</author><pubDate>Tue, 02 Apr 2013 17:14:17 +0800</pubDate><description><![CDATA[Instagram是一家基于iOS和Android的社交图片照片分享应用开发商。凭借着独特的运营理念，自2010年3月成立以来，短短一年的时间就吸引了1400万用户。而后随着手机相机改动、图像处理升级、与Facebook等社交灵活交互、支持Android等服务不断升级，用户量迅速冲击3000万，于2012年9月被Facebook以7.15亿美元收购。而截止到今年2月底，其活跃用户成功突破1亿。]]></description><category></category></item><item><title><![CDATA[It民工箴言]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8692881</link><guid>https://blog.youkuaiyun.com/select603/article/details/8692881</guid><author>select603</author><pubDate>Tue, 19 Mar 2013 17:41:42 +0800</pubDate><description><![CDATA[面整理下该书中我认为对我的学习和以后的工作非常有用的话。

        1、 真正基础雄厚的人应该是可以将一个常用的基础性知识熟记成诵的人。提到一个基本的名词或话题能够将其来龙去脉解释清楚的人。

       
 2、 我在简历当中最打动面试官的地方恰恰是我利用课余时间及逃课所写的程序，还有利用背考试题的时间所读的课外书。

        3、 要想成为优秀的程序员，对于基本]]></description><category></category></item><item><title><![CDATA[python的logging模块学习]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8688569</link><guid>https://blog.youkuaiyun.com/select603/article/details/8688569</guid><author>select603</author><pubDate>Mon, 18 Mar 2013 19:23:12 +0800</pubDate><description><![CDATA[开发Python, 一直以来都是使用自己编写的logging模块. 比较土......

今天发现python的标准模块的这个功能做的挺好, 记录一下, 以后使用模块来进行logging.

对于这个模块的介绍网上也很多, 我也不用自己写了, 比较好的如下,

http://crazier9527.iteye.com/blog/290018   
 Python的标准logging模]]></description><category></category></item><item><title><![CDATA[图解git]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8686740</link><guid>https://blog.youkuaiyun.com/select603/article/details/8686740</guid><author>select603</author><pubDate>Mon, 18 Mar 2013 13:22:45 +0800</pubDate><description><![CDATA[再次感谢原著作者和中文翻译者。

此页图解git中的最常用命令。如果你稍微理解git的工作原理，这篇文章能够让你理解的更透彻。 如果你想知道这个站点怎样产生，请前往GitHub
 repository。

正文


基本用法
约定
命令详解


Diff
Commit
Checkout
Detached
 HEAD(匿名分支提交)
Reset
Merge
C]]></description><category></category></item><item><title><![CDATA[关于python文件操作]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8659675</link><guid>https://blog.youkuaiyun.com/select603/article/details/8659675</guid><author>select603</author><pubDate>Mon, 11 Mar 2013 15:41:17 +0800</pubDate><description><![CDATA[关于python文件操作





总是记不住API。昨晚写的时候用到了这些，但是没记住，于是就索性整理一下吧：

python中对文件、文件夹（文件操作函数）的操作需要涉及到os模块和shutil模块。

得到当前工作目录，即当前Python脚本工作的目录路径: os.getcwd()

返回指定目录下的所有文件和目录名:os.listdir()

函数用来删除一个文]]></description><category></category></item><item><title><![CDATA[Ubuntu使用pyinstaller打包python]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8638923</link><guid>https://blog.youkuaiyun.com/select603/article/details/8638923</guid><author>select603</author><pubDate>Tue, 05 Mar 2013 17:24:43 +0800</pubDate><description><![CDATA[使用环境: ubuntu 10.04
1.下载pyinstaller 


2.安装python-dev


    sudo apt-get  install python-dev


3.运行以下命令:


   python pyinstaller.py   --onefile  youscript.py




注意:python 编译的字节码只能在相同]]></description><category></category></item><item><title><![CDATA[Rabbitmq  和 python]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8637368</link><guid>https://blog.youkuaiyun.com/select603/article/details/8637368</guid><author>select603</author><pubDate>Tue, 05 Mar 2013 12:42:52 +0800</pubDate><description><![CDATA[RabbitMQ作为一个工业级的消息队列服务器，在其客户端手册列表的Python段当中推荐了一篇blog，作为RabbitMQ+Python的入门手册再合适不过了。不过，正如其标题Rabbit
 and Warrens（兔子和养兔场）一样，这篇英文写的相当俏皮，以至于对于我等非英文读者来说不像一般的技术文档那么好懂，所以，翻译一下吧。翻译过了，希望其他人可以少用一些时间。翻译水平有限，不可能像原]]></description><category></category></item><item><title><![CDATA[SSH登陆之忽略known_hosts文件]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8536586</link><guid>https://blog.youkuaiyun.com/select603/article/details/8536586</guid><author>select603</author><pubDate>Thu, 24 Jan 2013 09:13:20 +0800</pubDate><description><![CDATA[在平时工作中，有时候需要SSH登陆到别的Linux主机上去，但有时候SSH登陆会被禁止，并弹出如下类似提示：


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
@@@@@@@@@@@@@@@@@@@@@@@@@@@]]></description><category></category></item><item><title><![CDATA[python如何打log]]></title><link>https://blog.youkuaiyun.com/select603/article/details/8502414</link><guid>https://blog.youkuaiyun.com/select603/article/details/8502414</guid><author>select603</author><pubDate>Mon, 14 Jan 2013 20:43:39 +0800</pubDate><description><![CDATA[import glob 
import logging 
import logging.handlers 
LOG_FILENAME='logging_rotatingfile_example.out' 
# Set up a specific logger with our desired output level 
my_logger = logging.getLogger('MyL]]></description><category></category></item></channel></rss>