自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dynamic Life

静若处子 动若脱兔

原创 回归

一晃多年,看到2008年7月最后一篇博文,真有点唏嘘的感觉,从今天起,回归我的博客。 分享,改变世界 :)

2012-06-19 10:20:25 13209 15

原创 《Python源码剖析》上架

经过几年的打磨,在博文视点的大力支持下,《Python源码剖析》终于上架了。当年开始剖析Python源码的时候,对于出版,心里只有一个朦朦胧胧的梦想,甚至可以说是幻想,现在幻想成真,回想一下,其间的跌宕也真让人感慨。只要坚持,梦想终会成真。很多书籍出版的时候都会说,自此书以后,学xxx技术的可以分...

2008-07-21 11:03:00 27373 38

原创 在调试时自动输出变量名

在Python中,最好的debug方式是什么?毫无疑问,是print,但是print有时候显得有点笨拙,比如考虑下面的代码:def f(value):    a = value    print af(3)我们通过print输出a的值,方便debug,但是如果你的代码里有十几个变量需要这样的方式来...

2008-04-25 12:49:00 11301 9

原创 Decorator的另一种实现方式

这一切都源自python-cn邮件列表上的一个话题,这个话题中,leopay给出了另一种实现decorator的方式:一般decorator都是写一个嵌套函数,def A(func):    def new_func(*args, **argkw):        #做一些额外的工作       ...

2008-04-19 23:46:00 17237 3

原创 Cobra —— 编译结果数据与名字空间数据的展示

终于又有点时间来推进Cobra了,sign~~,已经放下很久了。目前的进展有两个,第一是添加了Python虚拟机服务器端到客户端的状态传递机制,这样当Python虚拟机处于不同状态时,Web端的工具栏会根据不同的状态enable不同的按钮。同时,完善了虚拟机端和Web端的通信机制,使得现在的Cob...

2008-04-12 12:28:00 15198 6

原创 Cobra —— 字节码指令的动态定位与展示

这几天花了点时间完善Cobra,目前又有了新的进展。对于“下一步”功能,之前实现了对运行时栈的展示,目前,又进一步完善了“下一步”的展示功能,实现了对当前字节码的动态定位和展示。 当提交了一个待观测的文件之后,Cobra会自动定位到第一条字节码指令,并高亮显示,同时在“字节码”区域中展示字节码指令...

2007-10-13 18:09:00 14925 0

原创 Cobra —— 迈进Ajax时代

公司目前正在积累Web2.0的相关技术,正好就拿Cobra来练练手。以后的Cobra将放弃基于wxPython的GUI方式,而是改用基于DHTML+Ajax的技术。在GUI上做出动态的视觉效果实在是一件很繁琐的工作,但是利用Javascript + DOM就能很容易地做到。目前仅仅将显示反编译结果...

2007-08-19 10:49:00 16121 14

原创 Cobra —— 用于显示当前执行字节码的GUI部件

最近忙于公司项目上线,Cobra的进度有点慢了,不过今天有了新的成果了,一个展示反编译结果并能高亮显示当前正在执行的GUI部件——pySrcPanel。下图展示了基于pySrcPanel构建的一个demo。 可以看到,python的源代码和源代码的反汇编结果以大家熟悉的python缩进格式显示出来...

2007-07-20 14:23:00 15586 1

原创 Cobra —— 对Python源文件进行完整反汇编

不论是Python标准库中自带的dis,还是我们之前看到的sdis,都只能一次对一段代码进行反汇编,对于Cobra来说,这还不是很方便。为了在Cobra的GUI界面中显示对一个.py文件完整的反汇编结果,我们还需要一个比sdis更加强大的反汇编工具,这就是disassemble。disassemb...

2007-06-30 15:00:00 22866 1

原创 Cobra —— super dis

在Python的标准库中,有许多库是用于Python的编译和反编译(呃,确切地说,是反汇编)。在Python自带的文档中“Python Library Reference”的“Python Language Services”一部分中,列出了这些库。dis是其中一个,官方的描述是“disassem...

2007-06-22 14:24:00 17206 0

原创 Cobra——client与server通信

Cobra的基本框架有了一个雏形,Cobra的client和server之间的通信能够实现,同时,也能够使Python虚拟机在client的控制下运行。由于client需要向server传递两类独立的信息:1、待执行的py源文件;2、控制虚拟机执行的指令。所以cobra server在两个端口分别...

2007-06-17 15:12:00 17813 0

原创 Cobra —— 可视化Python虚拟机

开始着手一个项目,Cobra(眼镜蛇),希望可视化Python虚拟机的内部运行状态,初步的想法Cobra分为下面两方面:1、 Cobra Server:修改Python源代码,通过socket和client通信,使Python虚拟机能够支持单步执行、断点设置等功能,还能向client传回Pytho...

2007-06-16 21:15:00 21182 0

原创 监控Python中的引用计数

问题缘起于python-cn邮件列表的一个问题:http://groups.google.it/group/python-cn/browse_thread/thread/758891b4342eb2d9/92c12bf6acd667ac 有趣的是,为什么在Python2.4中sys.getref...

2007-06-12 18:34:00 33803 0

原创 重读《Python Tutorial》

最近在重新阅读刘鑫翻译的《Python Tutorial》,发现Guido真是字字珠玑啊......

2007-06-08 10:18:00 15658 0

原创 Python源码剖析[15] —— 最简单的Python实现:Small Python

[绝对原创 转载请注明出处]Python源码剖析——Small Python本文作者: Robert Chen (search.pythoner@gmail.com ) 1.      Small Python在详细考察了Python中最常用的几个对象之后,我们现在完全可以利用这些对象做出一个最简...

2006-01-05 00:11:00 13258 3

原创 Python源码剖析[14] —— 字典对象PyDictObject(3)

Python源码剖析——字典对象PyDictObject(3)本文作者: Robert Chen (search.pythoner@gmail.com) 4         PyDictObject对象缓冲池前面我们提到,在PyDictObject的实现机制中,同样使用了缓冲池的技术: [dict...

2006-01-05 00:09:00 12405 1

原创 Python源码剖析[13] —— 字典对象PyDictObject(2)

[绝对原创 转载请注明出处]Python源码剖析——字典对象PyDictObject(2)本文作者: Robert Chen (search.pythoner@gmail.com) 3         PyDictObject的创建和维护3.1.1    PyDictObject对象创建[dict...

2006-01-05 00:08:00 18836 0

原创 Python源码剖析[11] —— PyListObject对象(3)

[绝对原创 转载请注明出处]Python源码剖析——PyListObject对象(3)本文作者: Robert Chen (search.pythoner@gmail.com ) 3.      PyListObject对象缓冲池还记得吗,刚才我们按下了一个有趣的话题。没错,就是那个缓冲池,fre...

2006-01-05 00:06:00 8623 0

原创 Python源码剖析[10] —— PyListObject(2)

[绝对原创 转载请注明出处]Python源码剖析——PyListObject对象(2)本文作者: Robert Chen (search.pythoner@gmail.com ) 2.      PyListObject的创建与维护2.1     创建Python中只提供了唯一一种创建PyList...

2006-01-05 00:04:00 8227 2

原创 Python源码剖析[9] —— PyListObject对象(1)

[绝对原创 转载请注明出处]Python源码剖析——PyListObject对象(1)本文作者: Robert Chen (search.pythoner@gmail.com ) 1.      PyListObject对象元素的一个群是一个非常重要的抽象概念,我们可以将符合某一特性的一堆元素聚集...

2006-01-05 00:03:00 2135 0

原创 Python源码剖析[8] —— 字符串对象(3)

[绝对原创 转载请注明出处]Python源码剖析——字符串对象PyStringObject(3)本文作者: Robert Chen(search.pythoner@gmail.com ) 5.      PyStringObject效率相关问题关于PyStringObject,有一个地球人都知道的...

2006-01-05 00:02:00 2048 1

原创 Python源码剖析[7] —— 字符串对象(2)

[绝对原创 转载请注明出处]Python源码剖析——字符串对象PyStringObject(2)本文作者: Robert Chen(search.pythoner@gmail.com ) 3.      Intern机制无论是PyString_FromString还是PyString_FromSt...

2006-01-05 00:01:00 2721 0

原创 Python源码剖析[6] —— 字符串对象(1)

[绝对原创 转载请注明出处]字符串对象,在任何一门主流编程语言中,都是整数对象之外使用最广泛的对象。它和整数对象犹如少林,武当,双峰对峙。本章将研究Python中的字符串对象的实现,同整数对象一样,字符串对象的实现中采用了很多额外的机制来保证性能的优化。 本章内容分为三个部分:1. 研究Pytho...

2006-01-05 00:00:00 2992 1

原创 Python源码剖析[5] —— 整数对象(3)

[绝对原创 转载请注明出处]Python源码剖析——整数对象PyIntObject(3)本文作者: Robert Chen (search.pythoner@gmail.com) 3         Hack PyIntObject现在,让我们荡起双桨,哦不对,让我们挽起衣袖和裤脚J,来和PyIn...

2005-12-31 22:10:00 2293 0

原创 Python源码剖析[4] —— 整数对象(2)

[绝对原创 转载请注明出处]Python源码剖析——整数对象PyIntObject(2)本文作者: Robert Chen (search.pythoner@gmail.com) 2         PyIntObject对象的创建和维护2.1       对象创建的三种途径 在intobject...

2005-12-31 22:09:00 5809 2

原创 Python源码剖析[3] —— 整数对象(1)

[绝对原创 转载请注明出处]作为Python中最简单的对象,整数对象是研究Python对象体系的一个非常好的切入点。直观上会认为整数对象的实现非常简单,如果单纯以整数对象而言,实现确实非常简单。然而在Python中,为了运行效率,实际上存在着一个以缓冲池为核心的整数对象的体系结构,实际上,Pyth...

2005-12-31 22:05:00 3505 2

原创 Python源码剖析[2] —— 对象机制

[绝对原创 转载请注明出处]Python源码剖析——对象机制本文作者: Robert Chen(search.pythoner@gmail.com) 1.      对象在Python的世界中,一切都是对象,一个整数是一个对象,一个字符串也是一个对象,更为奇妙的是,类型也是一个对象,整数类型是一个...

2005-12-31 22:01:00 8150 1

原创 Python源码剖析[1] —— 编译Python

[ 绝对原创,转载请注明出处] 注意 :第一部分Python总体架构采用了网络文档《The Architecture of Python》,这是网络上唯一可见的以剖析Python实现为己任的文档。可惜是作为一门课程的作业的结果,太简略了,有点“食之无味,弃之可惜”的感觉。这里借用其介绍Python...

2005-12-31 21:56:00 9699 6

原创 Python源码剖析[12] —— 字典对象PyDictObject(1)

[绝对原创 转载请注明出处]Python源码剖析——字典对象PyDictObject(1)本文作者: Robert Chen (search.pythoner@gmail.com) 1         散列表概述元素和元素之间通常可能存在某种联系,这种神秘的联系使本来绝不相同的两个元素捆绑在一起,...

2005-12-31 21:45:00 2650 1

提示
确定要删除当前文章?
取消 删除