自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Phillip J.Eby 博客中文版

欢迎来到新Python技术专家Blog,倾听大师的声音!

  • 博客(39)
  • 收藏
  • 关注

翻译 从PyCon说起:被人误解的福音论

Saturday, March 26, 2005PyCon Mentions; Misplaced Evangelism 我的名字好象在不下五次的PyCon讨论会中都有被提到,包括Guido的报告。实际上,我自己只听到过两次,其它几次都是别人告诉我的。第五次是在Fred Drake演讲的笔记中发现的。我想我本应该只为我的名字是否被拼错而担心(这在口头讨论中根本不算个问题),但现在让我比

2008-06-10 00:11:00 7463 1

翻译 泛型函数的安全规则

Wednesday, January 05, 2005Security Rules with Generic Functions: Half the Code, Seven Fewer Interfaces 为了用泛型函数代替适配器(adaptation),我仅仅重构了peak.security的访问控制规则框架。结果代码量减少了一半还多(老版本480行,而现在140行),且仅用了一个

2008-06-10 00:09:00 5330

翻译 Proxima:一个面向表示的结构化文档编辑器

Tuesday, January 11, 2005Proxima : a presentation-oriented editor for structured documents 一篇有趣的论文里曾提到过,在未来,将有大量的应用软件会基于泛型编辑框架进行定义,就像这个一样。Proxima原型(prototype)是在Haskell下编写并使用wxHaskell创建GUI。它将一个

2008-04-28 01:00:00 8095

翻译 SCALE初现雏形

Sunday, September 04, 2005Made to SCALE 上周,我开始实现SCALE,即Syntax for Configuration And Language Extension(配置和语言扩展语法)。实际上我仍没有足够时间去实现它,但今晚我快速实现了它的低级解析器(low-level parser)。一经推出,该低级解析器就表现得惊人的好用。比如,当前的解析

2008-04-14 20:49:00 5518

翻译 Python和Endicia.com的打印费用

Thursday, July 05, 2007Printing Postage with Python and Endicia.com 随着我的“自助”生意的增多,我每个月都需要给会员们通过海路邮寄很多新闻信件和CD,这还不包括偶尔有一些其它产品的订单。去年,我通过USPS网站完成所有的递送业务,但当我增加了缴纳会费功能时,我转而使用先前在Joel软件上推荐的Endicia.com。

2008-03-23 23:00:00 7634

翻译 被极度夸大的谣言—Chandler终结了

Thursday, January 24, 2008Rumors of Chandlers Death Are Greatly Exaggerated        一般我不愿意在Blog上讨论客户方面的事,但对于这件事我要破例一次了。因为最近有很多人都在Blog说一些连他们都不知所云的话。这些人似乎都认为Chandler项目要么已经终止了、要么正要终结或以“失败”告终了。只不过

2008-03-10 20:00:00 14689 7

翻译 获得让事情变简单的勇气

Tuesday, January 18, 2005The Courage to do things Simply 在我第二份程序员的工作中,我有一个很有意思的老板。当召开设计会议的时候,我们围坐在一个白色书写板前,我的老板Roger提出一些需要完成的东西。我和其他的程序员则给出解决方案,然后Roger就会说,“真的吗?如果X(译者注:X表示某种解决方法)那会怎么样?”而X往往总是荒唐可

2008-02-18 00:40:00 8832 2

翻译 Reaping the Whirlwind

Wednesday, April 06, 2005Reaping the Whirlwind(旋风到来) 距上次PyCon已经过去两周了,我上一篇文章也发表一周多了。很多有意思的事情都快到来了。周五我和妻子要去拉斯维加斯参加国际女性内衣展(International Lingerie Show)。这并不是那种内衣秀,而是一个贸易展。在那里店铺老板们收集新款产品然后下订单。实际上不管怎样

2008-02-05 20:41:00 5403

翻译 EasyInstall —一个划时代的Python包管理器?

Saturday, May 28, 2005EasyInstall - A new era in Python package management? 新的EasyInstall命令行工具可以处理任意数量distutils源码包的URL(或本地filenames)、并使用.pth文件(也可不用)下载、构建和安装它们。当然也可轻松地升级、降级和/或卸载包,这和在运行时选择所需版本的包一样

2008-01-14 20:23:00 8644

翻译 静悄悄的革命

Thursday, July 21, 2005The Quiet Revolution 现在到处都能看到Python Eggs了。很显然Trac项目将成为第一个以插件形式使用eggs的可扩展的开源Python程序(我以为Chandler了解其特点,但是看来要等上好几个月他才能真正有所掌握)。已经有了一些在OS X上有关eggs平台版本标签的Python Mac SIG方面的讨论了。Ia

2007-12-22 01:10:00 7257

翻译 一个“dirt simple”download-and-install CPAN的副本

Wednesday, May 25, 2005A "dirt simple" download-and-install CPAN clone 似乎CPAN副本(clone)要推迟发布了。昨天,Ian Bicking在这发布一则消息称他正在开发自动化下载工具。而今天便有了一个关于Uraga的Planet Python帖子—某些人正在开发的一个CPAN副本。于是我想到一个问题,这个东西

2007-12-15 00:45:00 5505

翻译 什么是Megaframework?

Saturday, September 17, 2005Whats a megaframework?        TurboGears看起来真的酷极了。不是因为这又是一个Python web框架,而是因为它是一个…大框架(megaframework)?好了,它不是一个框架,那么到底什么是大框架呢?       提醒一下,我没有更好的名字可起了。它的的确确是Python世界中

2007-11-14 20:36:00 5964

翻译 Chandler从XML幡悟过来

Saturday, August 13, 2005Chandler begins recovery from XML 官方版终于出来了。Chandler的parcel xml格式(parcel xml format) 如今遇到了批评声并将变得越来越多,而简单的Python API会彻底取代这种格式。有些人会回想到我以前在Python Is Not Java rant一文中曾说过像这样在

2007-11-07 21:35:00 5802 2

翻译 Eggs接近发布中…

 Sunday, May 22, 2005Eggs get closer to hatching... 我总算挤出一些时间来继续Python Eggs方面的工作,实际上自从我和Bob Ippolito用Pycon开始做的时候这方面工作就没有什么进展。其成果是这周末我完成了核心部分的依赖性分解引擎(dependency resolution engine),这是egg运行时的一部分,允许

2007-10-04 22:41:00 5033

翻译 优化的意外惊喜 (二)

 Sunday, February 06, 2005Optimization Surprises“然而,这仅是我的第一“惊”。下一步我将把新的基类和替代闭包的类引入Pyrex中,因为他们不再有不支持的结构。然后便运行性能测试程序,结果是其性能比我去掉闭包后产生的损失一样十分的糟糕!”现在,我已经知道了用Pyrex简单编译一个Python函数或类将不会使它更快。Pyrex

2007-09-05 11:32:00 4918

翻译 优化的意外惊喜 (一)

 Sunday, February 06, 2005Optimization Surprises优化的意外惊喜 本周末,我在为泛型函数common-case path的执行时间缩减几微秒上又作了一次尝试,并成功地将执行时间从13.2微秒降至仅为9.8微秒左右。(这相对于同一实验函数手工优化的Python版本多出了大概9微秒的负载。)然而,随着研究的深入,我有了一些关于Pytho

2007-09-05 11:25:00 4812

翻译 在Python2.2和2.3中使用2.4decorators

 Thursday, November 11, 2004Using 2.4 decorators with 2.2 and 2.3 在我昨天有关泛型函数的那篇Blog里,我说过你可以像在Python2.4中那样在Python2.2与2.3中使用PyProtocols的新decorators。可我忽略了一点,就是这只对于PyProtocols的“魔力(magic)” decorato

2007-07-28 20:53:00 4983

翻译 代码之梦

Thursday, January 25, 2007Dreaming In Code 出于一时自然而然的自指(self-referentiality),在这篇Blog之中我将谈及一本书,一本有提到本篇Blog的书。:)Scott Rosenberg的新书Dreaming In Code之中大部分写的是有关我在OSAF工作期间所参与的Chandler项目的事情。这本书提到了我写的

2007-07-23 12:44:00 6348

翻译 用Python恢复损坏的.wav文件

Thursday, October 12, 2006Recovering a corrupted .wav file with Python 昨晚,由于与Skype配合使用的PowerGramo录音软件的崩溃,我在Procrastination Cure 研讨班上存储的录音都丢失了。幸运的是,一个与会人员还留有一点使用Gizmo制作的录音,那是他们用来召集大家召开电话会议的。郁闷的

2007-07-18 00:14:00 11236

翻译 在你生活中的XP

Tuesday, October 03, 2006Like XP For Your Brain 时光倒流,我曾写过一篇名为《将“原理”转化为行动》(Turning "Stuff" into Action)的GTD文章,在那里面我预测了通过某种途径将测试驱动开发(Test-Driven Development)的准则应用到生活中将是大有好处的。大约一年半之后,当我在对Pathfind

2007-07-08 20:52:00 5193

翻译 模式分析和基于Python的DSLs的必要性

Saturday, July 15, 2006Schema Analysis and the need for Python-based DSLs 最近,我偶然碰到了一个有意思的项目:“Alloy分析器是由软件设计组(Software Design Group)开发的一个用来分析使用Alloy建立的模型的工具。Alloy是一个简单的基于一阶逻辑的结构建模语言。该工具可以生成不变式的

2007-06-24 23:27:00 2678

翻译 Python的Symbols

Wednesday, July 26, 2006Symbols in Python Jeff Shell继我的DSL那个话题接续道:有一些关于那方面的就像…很好.:all。在我的编辑器中,与字符串相比Symbols被着以不同颜色以示区分,使它们更加显眼。find :all,而非 findAll()、find(all=True)或find(all)的其中之一,可能会在Python

2007-06-12 22:58:00 11397 3

翻译 Zope和Python如影随形

Thursday, January 04, 2007Where Zope Leads, Python Follows  几个月前,Philipp von Weitershausen请我为新版用Zope3开发Web组件(Web Component Development with Zope 3)一书作序,这本书即将在美国面世。该序的原文如下。 Zope和Python如影随形(Wh

2007-06-03 22:52:00 4839

翻译 全部PEPping继续中...

Tuesday, May 01, 2007Whole Lotta PEPping goin on 昨天是Python3.0的Python改进建议(Python Enhancement Proposals,PEPs)最后截止日期。理论上讲,这是对PEPs进行评定的日子,但实际上,很多人(包括我)在最后一分钟还一直在提交PEPs,以确信他们都收到了。当然,设置一个截止日期的主要目的是

2007-05-28 10:37:00 2103

翻译 WSGI中间件是有害的

Saturday, February 10, 2007WSGI中间件是有害的(WSGI Middleware Considered Harmful) WSGI中间件对你的API“健康”是有害的。这是我说过的。我关于WSGI中间件的那个问题虽然实际不是出在WSGI本身,但看起来很多人认为问题是出在WSGI中间件。我所写的PEP 333其中一部分讨论了框架也许会在未来某一天成为

2007-05-21 21:07:00 5052

翻译 访问者模式归来

 Tuesday, November 16, 2004The Visitor Pattern, Revisited有时候,你需要针对一个包含很多不同类型数据的数据结构执行一个操作。但由于无法或者不愿每出现一个新操作就对每一个类进行修改,你又不想将操作嵌入到对象体之中。例如,你可能希望有如下操作:l          “完美地输出”一个复杂数据结构l          导出数

2007-05-20 12:34:00 3519 1

翻译 对泛型函数性能的拷机测试

Tuesday, January 25, 2005Torture-testing Generic Function Performance      由于我一直宣称我的PyCon表达在Python上面十分高效,我觉得在这个周末有必要对目前PyProtocols的泛型函数(generic function)执行的性能作一下实际测试。基于这个想法,我进行了一场拷机测试。我并没有以泛型函

2007-05-13 23:23:00 2544

翻译 CPAN Goodies for all

Sunday, June 05, 2005 在我考虑如何构建一个dirt-simple CPAN的副本(clone)的不到两周时间,除脚本以外所有东西都即将要用上了。现在,安装一个Python包简单的就如同键入"easy_install SQLObject",然后你可以就大声地宣布搞定了。干净地卸载或更新包也几乎是如此这般简单。EasyInstall目前的版本号为0.4a1,所以对于许

2007-04-22 15:20:00 2362

翻译 Nineteen Hundred Weekends

Sunday, October 17, 2004 这是一个简单的数学问题。一年有五十二周,我今年三十六岁半(译者注:笔者于04年发表这篇blog),这就意味着我已经度过了一千九百多个周末了。当你以周,月或年为单位来谈论人的一生时,那听起来挺长的。而要是以周末为单位,那似乎就变得非常之短了,因为周末这个概念听起来要精确的很多。我大概没怎么太重视我最开始的大约260个周末,即从零到五岁。而

2007-04-14 21:40:00 2630

翻译 Ruby Gems, Python Eggs, and the beauty of unittest

Saturday, August 13, 2005 阅读Ruby Gems项目文档是很有趣的,因为它与Python Eggs在某种程度上有着惊人的相似之处,恩,总之很像我对eggs所期望变成的样子。Eggs有着一大堆面向Python和面向插件(plugin-oriented)的特性,这些特性是gems所没有的。但是,gems却是十分精致:)。需特别指出的是,他们已经解决了基本的代码签名方法

2007-04-09 00:07:00 2735

翻译 Children of a Lesser Python

  Saturday, October 15, 2005许多年以来,人们期望提高程序的性能,尝试着为Python创建可选的虚拟机(alternative VM),然而无数次这样的努力都失败了。即使我们对那些犹如一只半死不活的、信奉巫术的部队一样仍蹒跚前行着的只完成一半的Python-to-Parrot翻译项目视而不见,而类似Mamba, Rattlesnake和 Vyper这些即将

2007-03-27 21:26:00 3984

翻译 Python Interfaces are not Java Interfaces

我的文章《Java is not Python, either》看起来引发了一些争议,回想一下我想是我的错。虽然我在文章中说,“一些像Zope, Twisted, and PEAK这样的框架都有接口,但由于他们并不是这些语言或者标准库中的一部分,对于Python开发人员来说它们就像不存在一样”,然而就像所有人都知道我在说什么一样我接着继续讨论它们。当然了!所以,让我们来看看我首先谈到的

2007-03-18 11:48:00 4155

翻译 用Python编写运行Hello World程序

简介         我们将看一下如何用Python编写运行一个传统的“Hello World”程序。通过它,你将学会如何编写、保存和运行Python程序。         有两种使用Python运行你的程序的方式——使用交互式的带提示符的解释器或使用源文件。我们将学习这两种方法。使用带提示符的解释器         在命令行的shell提示符下键入python,启动解释器。现在输入pri

2006-09-12 13:10:00 61996 3

翻译 linux下进行Python的安装

如果你正在使用一个Linux的发行版比如Fedora或者Mandrake或者其他(你的选择), 或者一个BSD系统比如FreeBSD,那么你可能已经在你的系统里安装了Python。要测试你是否已经随着你的Linux包安装了Python,你可以打开一个shell程序, 然后输入如下所示的命令python -V$ python -VPython 2.4.3 注意:$是shell的提示符。根

2006-09-12 10:29:00 3472

翻译 windowns下进行Python的安装

          Windows用户可以访问http://www.python.org/download, 从网站上下载最新的版本(在的时候,最新版本是python-2.4.3.msi)。它的大小大约是9.23MB,与其他大多数语言相比是十分紧凑的。安装过程与其他Windows软件类似。          需要注意的一点是:即便安装程序为你提供了不检查" 可选 "组件的选项,你也不要不作任何

2006-09-12 10:13:00 3517 3

翻译 Java Is Not Python, either...

                Java is not Python, either...       在我发表了"Python Is Not Java"这篇文章后,大家对此产生了热烈的响应,我想我确实也需要再拿出一些时间来阐述Java Is Not Python,either. Java是一个功能非常强大的语言,在JDBC、JNDI、OSGi等很多方面都制定了标准和规范.       当然,

2006-09-12 09:18:00 4189 2

翻译 You, Version 2.0 (Special Limited Edition)

    You, Version 2.0 (Special Limited Edition)现在你可以获得一本关于自我修养方面的书,里面全是来自从dirtSimple.org上的那些最棒的文章.它是那种6x9"版的,很轻便,容易阅读,平均每篇文章都低于$1.25!(共$29.95,需另加上运费和处理费)点击这里可以马上订购[http://ww5.aitsafe.com/cf/add.cfm?u

2006-08-09 16:06:00 3170 2

翻译 Python Is Not Java

                                         Python Is Not Java      最近我一直在看一个基于wxPython的GUI应用程序代码,大概45.5KLOC的左右,而且这还不包括它所用到的库(如Twisted)。代码是由那些对Python比较生疏的Java的开发者写的,所以它存在很严重的性能问题(如三十秒的启动时间)。在检查代码的时候,我发

2006-08-06 15:53:00 15673 22

翻译 Chandler摆脱了XML的困扰

  这已经成为了最终的共识。Chandler的XML打包模式正被诟病,并且将很快完全消失,整个被简单的Python APIs所代替。读者可能会由此想到我的那篇文章:Python Is Not Java rant,那篇文章中,我认为用XML做核心应用功能是不明智的。在the PyCon Chandler sprint,人们发现,Chandler的XML计划定义语言给开发者造成了巨大的困扰,所以,我用

2006-07-05 16:15:00 3666 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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