摘要: 1.protobuf实例-PHP版http://blog.hucde.com/2011/07/20/180protobuf简介protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持php、java、c++、python等语言环境。通过将这些类包含在项目中,可以很轻松的调用相关方法来完成业务消息的序列化与反序列化工作。protobuf在google中 阅读全文
posted @ 2013-12-31 14:21 Django's blog 阅读(1336) 评论(0) 推荐(0) 编辑
摘要: 调试通常采用两种方式,打印日志调试以及运行时实时跟踪调试。一.打印日志:1. print不要看不起print,这是一切调试的起点,即便是调试Java或者C这种巨麻烦的编译语言,print仍然是常用工具。当然,我们讲的是Python,是比Java和C要方便100倍的动态解释语言,因此这个print就更有力了。至于语法如何,不用我讲了吧。2.logginglogging是一个远比print更强大的调试工具。Python的logging模块非常强大,任何一个严肃的Py开发人员都应该学会使用这个模块。建议大家从Python的文档入手,学习这个模块。这里我就不多讲了。二.实时跟踪调试1.IDE跟踪调试推 阅读全文
posted @ 2013-12-30 14:43 Django's blog 阅读(1057) 评论(0) 推荐(0) 编辑
摘要: 1.下载chardet-2.2.1.tar.gz(md5) https://pypi.python.org/pypi/chardet#downloads2.解压至C:\Python27\Lib\site-packages3.cd到该目录,运行python setup.py install 阅读全文
posted @ 2013-12-30 14:23 Django's blog 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 转载:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。 一、准备工作-下载所需软件Apachehttpd-2.2.22-win32-x86-openssl-0.9.8t.msiPHPphp-5.3.10-Win3.. 阅读全文
posted @ 2013-12-27 16:39 Django's blog 阅读(200) 评论(0) 推荐(0) 编辑
摘要: problem:faild to install service or service already installedsolve:以管理员身份运行cmd,然后执行memcached.exe -d install 阅读全文
posted @ 2013-12-27 13:14 Django's blog 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1.memcached server端下载:memcached.exe安装:以管理员运行cmd,执行:memcached.exe -d install运行:memcached.exe -d start2.memcached客户端,支持多种语言。python:pylibmc 和 python-memcached。java: xMemcached安装python-memcached:1)下载并安装:setuptools for win32下载地址:http://pypi.python.org/pypi/setuptools 选择:setuptools-0.6c11.win32-py2.7.exe版 阅读全文
posted @ 2013-12-27 12:02 Django's blog 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 1.远程linux机器。修改环境变量LANG。例如在~/.bash_profile里面添加exportLANG=zh_CN.UTF8 2.本地windows机器。修改SecureCRT的设置。找到“全局选项”->“默认会话”->“编辑默认设置”:“外观”->"字符编码"->"UTF-8" 阅读全文
posted @ 2013-12-26 17:01 Django's blog 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1.replace into:是insert into的增强版,不用判断数据库中是否存在然后再进行插入。REPLACE INTO tableA(id, update_time) values(1, now());2.update更新UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson' 阅读全文
posted @ 2013-12-25 13:58 Django's blog 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1.if __name__ == '__main__':直接运行myModel.py时,当前模块的名字是main;import myModel然后运行的时候当前模块的名字是myModel。2.eval:eval 函数的功能是将字符串生成语句并执行。3.frommoduleimportclass/funcmodule对应*.py文件,里面可以有class、func。class下还可以有func4.利用set去重:links = [link for link in set(links)]5.利用正则表达式匹配之后,根据组名取出值:(?P\d+)是一个分组,item_count是组名 阅读全文
posted @ 2013-12-23 17:36 Django's blog 阅读(478) 评论(0) 推荐(0) 编辑
摘要: linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。2)ps -A 显示所有程序。3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。4)ps -e 此参数 阅读全文
posted @ 2013-12-23 17:19 Django's blog 阅读(1781) 评论(0) 推荐(0) 编辑