华子的代码空间

逆水行舟,不进则退。 关注系统编程、网络编程、并发、分布式。

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页

2012年9月14日

使用内存磁盘加速linux

摘要: 将~/.cache和~/.mozilla和/tmp挂在到内存磁盘上,可以显著提高chrome和firefox的运行速度在/etc/fstab中加入:1 tmpfs /home/max/.cache tmpfs mode=1777,noatime,user 0 0 2 tmpfs /home/max/.mozilla tmpfs mode=1777,noatime,user 0 0 3 tmpfs /tmp tmpfs defaults,user 0 0使用命令:1 mount -a或者重启系统即可生效,可以使用命令df -h观察内存磁盘的占用情况。 阅读全文

posted @ 2012-09-14 21:39 华子的代码空间 阅读(569) 评论(0) 推荐(0) 编辑

2012年9月5日

python logging 模块完整使用示例

摘要: 支持文件、屏幕打印、电子邮件、TCP、UDP、syslog本地、syslog远程、windows事件、http server方式记录日志: 1 #!/usr/bin/python 2 import os 3 import sys 4 import logging 5 import logging.config 6 from logging import handlers 7 8 DEBUG = True 9 10 SYSLOG_HANDLER_HOST = 'localhost' 11 12 LOG_PATH = '../server.log' 13 14 MA 阅读全文

posted @ 2012-09-05 00:14 华子的代码空间 阅读(3140) 评论(0) 推荐(0) 编辑

2012年8月16日

[转]伟大的程序员是怎样炼成的

摘要: 英文原文:What makes a great software engineer? 原文发布于 2009-8-21 近几周,一份反映Netflix公司企业文化的报告在网上广为流传。 这份报告里列举了很多Netflix公司里令人称赞的做法,包括这个公司是如何的招聘和辞退员工的。 里面有大量的信息是描述Netflix公司是怎样对待员工的,这使Netflix公司变成了一个很有吸引力的工作场所。报告里面提到过有一个关于员工所期望的内容的清单,但没有把清单列出来。 报告的开始部分就谈及了企业价值问题,而且是按照员工的立场角度写的,可惜并没有把这个问题展开。 我并不在Netflix工作 —— 你也... 阅读全文

posted @ 2012-08-16 15:52 华子的代码空间 阅读(237) 评论(0) 推荐(0) 编辑

RabbitMQ手册翻译 - Hello World的例子

摘要: Hello World介绍:RabbitMQ 是一个消息经纪人。它主要的目的很简单:接受并且发送消息。你可以想到一个邮局:当你把一封邮件放到发信箱的时候,你确定邮差先生最终会把信件送达到收件人。把RabbitMQ比喻为发信箱、邮局和邮差。RabbitMQ和邮局的主要区别是,RabbitMQ接受消息,存储并且转发二进制数据(消息),而不是用纸张。RabbitMQ中使用一些概念:1. 生产者 只是发送消息。一个发送消息的程序是一个生产者,用P来表示它。2. 队列 就像信箱一样。它位于RabbitMQ的内部。虽然消息流经过RabbitMQ和你的程序,但是他们只能被存储在队列中。一个队列没有任何限制, 阅读全文

posted @ 2012-08-16 11:01 华子的代码空间 阅读(1504) 评论(0) 推荐(0) 编辑

2012年8月15日

RabbitMQ手册翻译 - RPC服务的例子

摘要: 远程过程调用(RPC)(使用pika 0.9.5 python客户端)在第二篇说明里,我们学习了如何在多个worker中使用Work Queues分配耗时的任务。但是如果我们想在远程机器上运行程序,并得到结果?那么,这儿有一个故事。它就被称作远程过程调用或者RPC。在这篇说明里,我们的目标是使用RabbitMQ建立一个RPC系统:一个客户端和一个可扩展的RPC服务器。当然我们没有任何需要耗时的任务需要分发。我们的目标是建立一个模拟的RPC服务,它只用来计算斐波那契数列并返回。客户端:为了举例说明什么是RPC服务,我们创建了一个简单的客户端类。它是这样的,一个叫做call的方法发送了RPC请求, 阅读全文

posted @ 2012-08-15 00:17 华子的代码空间 阅读(1385) 评论(0) 推荐(0) 编辑

2012年8月3日

python写的文件同步服务器

摘要: 服务端使用asyncore, 收到文件后保存到本地。客户端使用pyinotify监视目录的变化 ,把变动的文件发送到服务端。重点:1. 使用structs打包发送文件的信息,服务端收到后,根据文件信息来接收客户端传送过来的文件。2. 客户端使用多线程,pyinotify监视到文件变化,放到队列中,由另外一个线程发送。上代码:服务端:查看代码############################################################################################# ... 阅读全文

posted @ 2012-08-03 13:27 华子的代码空间 阅读(1961) 评论(0) 推荐(0) 编辑

python监视线程池

摘要: 先上代码:#!/usr/bin/pythonimport threadingimport timeclass Monitor(threading.Thread): def __init__(self, *args,**kwargs): super(Monitor,self).__init__() self.daemon = False self.args = args self.kwargs = kwargs self.pool_list = [] def run(self): print ... 阅读全文

posted @ 2012-08-03 13:18 华子的代码空间 阅读(1242) 评论(0) 推荐(0) 编辑

从外部调用Django模块

摘要: import osimport syssys.path.insert(0,'/data/cloud_manage')from django.core.management import setup_environimport settingssetup_environ(settings)from common.monitor import Monitorfrom django.db import connection, transaction前提就是,要新建一个django的project,这里我们新建了一个cloud_manage.这样不仅可以调用django自身的模块,还能 阅读全文

posted @ 2012-08-03 13:10 华子的代码空间 阅读(1106) 评论(0) 推荐(0) 编辑

2012年8月2日

About learning on the internet

摘要: 讀英文文檔,英文不好就練習用Google.com,Google.com.hk也不要用先翻官方文檔,再去社區。先搜索,再提問如果搜到了好的文章,或者有別的文章提到這個文章了,但是文章已經不存在了,就去web archive看看關注一些Conf,不能現場去聽但是大多都有slide或者video,這些東西未必能直接解決問題,但是提供了很多的思路。 阅读全文

posted @ 2012-08-02 10:28 华子的代码空间 阅读(203) 评论(0) 推荐(0) 编辑

2012年7月30日

gevent注意事项

摘要: 1. gevent.server.StreamServer 会针对每个客户端连接启动一个greenlet处理,要注意的是,如果不循环监听( 阻塞在read ),每个greenlet会在完成后立即退出,从而导致客户端退出( 发送FIN_ACK给客户端 )。这个问题折腾了一晚上,终于弄明白了。坑爹啊。。。2. 要非常仔细的检查,greenlet处理的代码,发现有可能阻塞IO的地方,尽量用gevent提供的库。3. 一些第三方库隐藏了自己的实现( 通常是直接封装C库),要使得gevent兼容它们,可以用monkey_patch,但不保证全部管用。4. 最后最后的一点,gevent的greenlet性 阅读全文

posted @ 2012-07-30 02:01 华子的代码空间 阅读(1019) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 下一页

导航