摘要:
Yii是重量级框架,类似于同ruby on rails,django是同一类型的框架,所以其有的特点在其他框架上都存在,但吸引我研究它的是官方文档凭什么说"Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用”。以后我也将继续用实践证明他这句话的对错。要知道,django的文 阅读全文
摘要:
1.thrift的数据类型。(这里主要为翻译官方文档) a. 基本数据类型 1) boolean型,值为true或false 2) byte型,值为单字节字母 3) i16型,值长度为16位的integer带符号数字. 4) i32型,值长度为32位的integer带符号数字. 5) i64型,值长度为64位的integer带符号数字. 6) double型,值长度为64的浮点数. 7) string型,字符串或者binary数据。 b. 结构体 有点类似c的结构体。不怎么懂c的同学可以理解为不带方法的类,只有属性而已。 型如: ... 阅读全文
摘要:
参看:http://www.geekso.com/Cache-control/cach-control为返回给浏览器的头信息。在服务器编写中需要主要对这个的处理,有的时候写作 Cach-Control.截图:javacript脚本全部缓存,而普通数据没有缓存。并且有缓存时间:经过计算,max-age=315360000是一年时间,即这个javascript要缓存一年,并且进行压缩,由此机制,可以作出由富javascript客户端做出页面,比如extjs,除了第一次会比较慢,以后的都和正常一样了。或者,可以大量的操作都放置在js脚本,减少页面编码。 阅读全文
摘要:
基础知识准备:1.linux下的export命令?在shell中输入export,执行如下:[newweb@localhost //]$ exportdeclare -x BOOST_ROOT="/usr/local/boost"declare -x CLASSPATH=".:/usr/local/jdk/lib"declare -x CVS_RSH="ssh"declare -x G_BROKEN_FILENAMES="1"declare -x HISTFILE="/backup/loghistory/ 阅读全文
该文被密码保护。 阅读全文
摘要:
本文按照以下结构介绍thrift1. thrift是什么?2. thrift能做什么3. thrift和其他类似东西的对比4. 我们使用thrift要做什么好,先按照上面结构介绍。1. thrift是什么? 官网上介绍得我不在累述,自己google其他关于thrift的文章,会有很多,比如"是apache的一个项目,和facebook有关系"等。我总结一句话: thrift是跨语言,server和client通信的一个框架,支持多种协议,二进制,文本http,json等方式,提供高效的数据传输方式。2. thrift能做什么? thrift只负责对数据进行处理,然后在网络内 阅读全文
摘要:
自己开发一套配置型爬虫,前2日一直对效率不高有极大疑惑,为什么不高!网速肯定是一方面的原因,但自身程序也肯定是有一方面的原因。原来是并发请求一个网站惹的祸。在设计的时候,追求完美,一个进程(主进程)里会启动多个子进程(每个配置的网站的抓取进程),每个子进程可配置多个线程,想法就这样。所有功能都实现以后,发现有的网站很爱给我返回错误页面,而有的网站正常。于是检查原因,对经常出现错误的网站又进行断点测试,又在服务器上新配置特殊抓取,总也发现不到错误,一切正常啊,为什么在生产环境就错误。查日志对方服务器返回503错误。各种403,404的错误,爬虫开发我早已不信这些个返回码了,很多人喜欢欺骗开发爬虫 阅读全文
摘要:
缘起:以前一直喜欢用scrapy做爬虫,并且实践效果也很好,后来由于单位让自己写一套分布式爬虫(python实现),替代公司原有的爬虫(php实现),大致用于实践后,发现效果是比原来的效果好,原来能做配置的网站20个里能配置10个,现在20个里能配置16个,分析原因,是架构设计方面有那么一点点扩充性,在大致架构不变的基础上,可进行有限的扩展,而其实实现的原理都是通过CURL来实现的。php的curl,是在php发布程序的ext文件中,作为一个php自带的支持,需要改写php的配置文件,修改php.ini,将;extension=php_curl.dll前的分号去掉。python的pycurl, 阅读全文
摘要:
scrapy默认是只支持http,https这些个下载,不支持ftp的(用ftp下载文件),但实际项目需求千变万化,以为http,https已经能满足99%的需求了,但遇到那1%的也必须处理的,怎么办? 好在scrapy提供插件支持,编写一个,就能搞定了。 先提供我编写的这个插件。 #! -*- encoding:utf-8 -*-#file is 'ftp.py', sys.path:'src.middleware.ftp.FtpDownloadHandler'__author__ = 'C.L.TANG'import urllib2from 阅读全文
摘要:
引言在看django和scrapy源码的时候,可以看见他会有一个模式,即先有一些模块文件,在他的源码中,当你使用他规定的命令的时候,就会复制这些文件,来生成你要的模板文件。这里就是用了python自带的shutil模块。回想曾经自己写过一个复制备份的模块,当时写的时候还觉得自己太NB了,还能兼顾linux,windows的兼容性,使用了windows的copy命令和linux的cp命令,用python来调用这些命令,现在想想挺搞笑,其实完全可以用shutil模块来,哎,没文化真可怕。不过开发的过程也是一个体会的过程,不是么,说不定shutil模块也是使用了这些命令呢, 当然,这是猜测,实际上不 阅读全文