- 浏览: 159764 次
- 性别:
- 来自: 北京
最新评论
-
Sasoritattoo:
GFS.fs.remove(name)新版本不支持这个接口了, ...
Python 分布式文件系统 Mongodb GridFS -
itdazhu:
嘿嘿。柳哥想不到这么细腻
我目前的创业心得 -
fx999:
听起来真的不错,尤其是文档化方面比ROR好多了,才发布就有两本 ...
构建于Rails之上的Hobo 1.0 -
huaywang11:
想创业没有好的项目。。。。
我目前的创业心得 -
mimicom:
没看懂........
Python 分布式文件系统 Mongodb GridFS
文章列表
在调试PIL的扩展Agg中对python的c扩展感到了好奇,所幸研究了一下python的c扩展。
并自己根据例子写了一下效果还不错,以下代码供大家学习:)
我本人对c不大了解,欢迎大家,分析install 流程 :)
执行结果:
编写代码spam.cxx
/*
How to use :
import spam
status = spam.system("ls -l")
dome is C++ Extension
*/
#define VERSION "1.2a3"
#if defined(_MSC_VER)
#de ...
LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编译表,然后用编译表中的字符的索引来替代原始文本文件数据中的相应字符,减少原始数据大小
第一次实现的时候是用C# 和js用于数据压缩 ,当时刚毕业,是根据伪码写的,当时挺痛苦的,后来想想还是挺有意思的:)
#encoding = utf-8
import string
def lzw_compress(s="ababcbababaaaaaaa"):
"""
进行lzw 压缩
"""
...
方案见附件,欢迎大家回帖讨论 :)
之前在学习python的时候,看过python的八荣八耻,之后发现python 神奇之处,import this
import this
>>>
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
漂亮的代码要比丑陋的代码要好得多。
Explicit is better than implicit.
明确的定义比 隐式定义更好。
Simple is better than complex.
简单比负责要好。
Complex is better than complica ...
Vistor 模式:
Vistor 模式常常用于将访问数据,支持传入不同的数据访问器(或是处理器),上例子
def visit(directory, visitor):
for root, dirs, files in os.walk(directory):
for f in files:
ext = os.path.splitext(f)[-1][1:]
if hasattr(visitor,ext):
a = getattr(visitor,ext) ...
1.最受不了的就是django和template了,可以说是,慢的不行了
解决方案是使用 jinja2 语法和django相似,性能很好,如图:
2.跟踪你的运行程序
2个方法 Profile 和 Sql跟踪,使用django.middleware方法实现:
cProfile 比Profile高效,代码如下
#encoding = utf-8
import sys
import cProfile
from cStringIO import StringIO
from django.conf import settings
class ProfilerMiddlew ...
1.xrange and enumerate
enumerate:enumerate is useful for obtaining an indexed list
xrange: generates the numbers in the range on demand. For looping, this is slightly faster than range() and more memory efficient.
根据性能比较还是xrange 好一点,如果数据量不大,用哪个都可以,哪个更符合要求您就可以使用哪个,而且enumerate和xrange同样使用的是next() ...
下面和大家分享一下tornado 如何实现异步处理
下面的程序只能支持多线程的异步处理方式,扩展性一般,如果,可以改进为进程的方式扩展性会好很多 :)
之所以使用tornado 是因为,tornado 性能比较乐观,
具体比较请看下面的文章:http://programmingzen.com/2009/09/13/benchmarking-tornado-vs-twisted-web-vs-tornado-on-twisted/
Client 端代码
>>> import socket
>>> d = socket.socket(socket.AF_INE ...
今一段时间好久没有发文了,也很少上javaeye,都是因为工作太忙,大脑处于集中状态,没闲下来,项目就要发布了,有时间将以前编写的程序和大家分享一下 :)
以下是使用HTML5特性 Canvas 编写的程序,后台使用 rails 因为是很久之前写的,rails版本比较老 , : )
IDC url :http://9536.ipc.la/day.htm 实时数据好了,雷达数据还未好:)
下载代码:
(代码见附件,源代码压缩后10m,下载可能有点慢,请耐心等待 )
运行方式:
ruby script/server -p3001
访问本地: http://localho ...
围脖你好
瞅瞅 新生事物
窥窥 别人的隐私
爽爽 自个的粉丝
晒晒 自个的心情
对微博来说,或是微博对我来说,比较陌生,知道最初是twitter
搞滴,并且火了,对于web2.0
时代的网站,什么东西 ...
不用多言,请见附件 :)
上slideshare view -> http://www.slideshare.net/edisonlz/ppt-4395676
补充,不使用分词的,很简单,但效果一般的排重算法如下:
#encoding = utf8
import re
import sys,os
import re
chars = []
def generate_chars(strList):
"""
创建字典
"""
for sr in strList:
...
用法:
python bencher.py threadcount duration hitfile
TEST SUMMARY
============
21 REQUESTS in 3s (7.00/s)
7.00 CYCLES in 3s (2.33/s)
http://www.tl50.com/ status_count: 200=9 (avg 1338ms/req)
http://www.google.com.hk/ status_count: 200=6 (avg 671ms/req)
http://www.baidu.com/ status_count: 200=6 ...
Hobo
是一个Ruby on Rails扩展的工具包,这些扩展可大大提高Rails开发的效率。这个工具包近期将要发布1.0
版。InfoQ就这个里程碑式的版本采访了项目创始人Tom Locke:
我们现在已经停止添加新特性,将精力转向文档完善和程序 ...
连接如下:
http://v.163.com/video/2010/5/E/8/V66K93AE8.html#sd=V66K93AE8&ld=V661IGBQL&nvp=v.163.com/video/2010/5/E/8/V66K93AE8
CDN
之前听同事或是什么其他做讲座的说,CDN..CDN的对其也就是个字面上的理解,听得多了,就对其产生了困惑,接下来学习一下 :)
CDN的全称是
Content Delivery Network
,即内容分发网络。是通过在现有的 Internet
中增加一层新的网络架构,将网站的内容发布到最接近用户的网络 " 边缘 " ,使用户可以就近取得所需的内容,解决 Internet
网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,造成的用户访问网站的响应速度慢的问
题。
通过用户就近性和服务器负 ...