自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猛禽的编程艺术

编程是一门艺术

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

原创 试了一把PCRE

虽然我在C++里用正则表达式已经有一些年头了,不过一直都是用的boost里那个库。坦白说,不是很好用。虽然我很早就知道PCRE,但一直都以为这是一个为PHP开发的库。实在是火星人啊。囧前两天在推土上提起这事时,火炬向我推荐说PCRE比boost里那个正则库好用,于是试了一下,结果可耻滴发现BCB自带了PCRE,只不过没有在文档里提到罢了。不过PCRE是一个C语言的库,用起来不够方便。虽

2009-07-13 09:54:00 4523 2

原创 从再见Borland说起

自从Borland把CodeGear剥离出去以后,我就基本上没有再关注过Borland,最多看看那些在CodeGear的熟人如李维或DavidI(David Intersimone)有什么新消息。在此之前,关于Borland的最“新”消息就是美国时间5月6日Borland被MicroFocus公司以7500万美元的价格收购——想当年Philippe Kahn执掌Borland的巅峰时期

2009-06-02 09:30:00 10907 31

原创 Hook与AOP

前几天MK开始弄JAVA,在群里讨论AOP的相关话题,我在搜索相关话题时看到wu_yanan2003兄06年写的一篇关于hookapi的文章《delphi下AOP技术( hookapi full source)》。对于其中关于AOP的观点,我觉得有必要与他讨论一下。首先是思想与实现技术的区别。我在《用Delphi实现动态代理(2):设计说明》一文里已经说过,AOP本身是一种思想,或

2009-05-28 21:03:00 4549 3

原创 用RTTI处理程序配置信息

一般来说,程序多少都会有一些自己的配置信息要保存,不论是通常用的保存到INI还是注册表,或者是XML甚至YAML,总归是要写不少代码处理的。问题的麻烦在于,程序中实现操作配置信息通常并不需要关注它是保存在什么地方,以什么格式保存,但是传统的方法不论是调用TIniFile还是TRegistry或者是DOM,都是需要开发者花一些时间精力浪费在这上面。我前一阵写个小程序,不高兴弄配置这些麻烦事,

2009-04-27 16:15:00 3361 5

原创 担心的不止是崩溃

老白评论了一下SaaS说《是系统总会崩溃》。当然,他说的有一点是没错的:自家运维的系统崩溃了,你可以惩罚或fire一些人,而google或salesforce崩溃了,你没什么地方可以出气。准确地说是出气出得不爽。因为要出气也是可以的,打电话去把他们的客服人员骂一顿,威胁他们要解除合同之类,但是远没有把IT人员叫到面来骂那么爽,而且可以把员工fire掉,却不太可能与SaaS Provid

2009-03-05 14:45:00 2228 3

原创 各司其职——我对《VCL已死,RAD已死》的理解

SD2C大会后,爱民兄意犹未尽地写了《VCL已死,RAD已死》系列。而在这个系列中,我认为核心部分就是那段插播的《与Shaofei Cheng的MSN聊天》。当时在SD2C大会上我就觉得爱民兄的观点很有意义,但是估计很难被大多数开发人员和开发管理层所接受。Shaofei Cheng的观点应该说就是一直以来在开发人员中流行的乐观主义想法的体现。他们还没有真正认识到Brooks所说的“没有银弹”是

2009-02-16 11:58:00 3786 6

原创 SD2C之三种Python的Web框架

在SD2C上的另外一些收获来自于Web应用方面。一个是董洵的GAE讲座,一个是钱宏武关于大型WEB应用的讲座。钱宏武有一个观点谈到关于技术选型一定要选择那种久经考验资源丰富的解决方案。比如对于WEB应用来说,PHP就是这样一种靠谱的方案。这个我很赞同,像ASP就是在过去一些年里未能通过考验而可耻滴被淘汰的技术——傍上MS又如何,现实是残酷的,连MS自己也放弃了ASP。一个朋友有一个ASP做

2009-01-13 10:09:00 5356 2

原创 SD2C之网格与云计算

这次的SD2C大会中,云计算无疑是最风光的技术话题(没有之一)。相比之下,曾经风光的网格技术就只有Oracle还在提了。回来以后在BT妓术群及FB饭局上跟令狐他们讨论过这个话题,令狐仍然对网格技术充满期望——《网格网络的设想》。如果单纯从技术角度说,云计算从某种意义上的确是退步了,从网格的平等分布式应用重新变成了集中式集群应用。不过我后来进一步思考以后发现二者的根本区别并不是在技术上——至少不是主

2008-12-23 14:01:00 3399 4

原创 SD2C大会流水帐

看在价值1680的大会通票份上,这回我可是自掏腰包在这个大冬天里跑到北京郊区去待了三天。幸好果然是有收获的。先记一个流水帐,技术话题另外写。四号到北京后先到朋友zhboy那里安顿下来,正好他和同事也搞到了第一天的票,便一块儿到公主坟搭10点钟的班车去会场。没想到在班车那接客的居然是伴水,后来打听才知道他现在在CSDN混了。可惜今年未能见到老妖。第一天的会议主要是一帮达人轮番上台讲话,算...

2008-12-16 16:26:00 2884 11

原创 Genshi笔记(续)

前文见《Genshi笔记》。这一年多来做了几个小的WEB应用,都是用的Genshi,总体感觉还不错,不过真要系统地写点什么,貌似也写不出来,只能做点笔记了。一、输出XHTML:Genshi默认是输出HTML的,作XHTML校验时不能通过,但Genshi是支持输出为XHTML的。在TurboGears里的设置是在 app.cfg 配置文件里:tg.defaultview = "genshi"gens

2008-11-03 16:20:00 4724 1

原创 升级惊魂

昨天闲来无事就试着把Ubuntu7.10升级到8.04,前面的步骤都挺顺利的,花了一个小时不到的时间就下载了741M的升级包——用国内的镜像源速度就是快啊。然后开始自动安装,不过提示信息把我雷到:“大约还需要1天30小时才能完成升级”。囧,为什么不说是“两天六小时”呢?后来才知道是汉化过程的BUG,而且早就存在,实际上是指“1小时30分”。好吧,我承认这次实在是大意了,我没有在升级前去

2008-10-06 09:55:00 2814 2

原创 放宽技术的视界

之所忽然在CSDN上重发《身份验证——谈谈OpenID》这篇旧文,是因为上次在CSDN上海英雄会上Google的那个讲座提到了OpenID,然后就有人在叽歪上问什么是OpenID。OpenID不是什么新技术,出来也两年多了,会关注Google讲座的人多少应该是跟Web应用开发沾点边的,居然不知道OpenID我是觉得有点意外。当然,类似的问题并不止发生在OpenID上。比如动态语言,早在05年的《程

2008-09-19 10:32:00 3976 7

原创 身份验证——谈谈OpenID

说明:此为06年11月写的旧文,还没在CSDN发过,补发一下。听说今年的网志年会上有一个讨论OpenID的专题。对于网站的身份验证问题不算一个新话题,自从当年MS推出并热炒passport的时候就已经开始了。即使是OpenID也出来有一阵子了。不过我是看了前一段ZOLA对OpenID的大力推广之后,才开始去了解这个技术。虽然OpenID有自己很大的优势,但同样存在着一些目前不可克服的困难。首先简单

2008-09-12 21:57:00 4982 2

原创 第二届CSDN英雄会上海站

昨天去参加了传说中的第二届CSDN英雄会上海站——半年前没去成北京站这回上海站可算是赶上了。关于这次活动,同去的令狐记录得完整而全面,参见《2008 CSDN上海英雄会》。基本上我的体会差不多,最有价值的就是Jacobson的演讲,其次是Google的。至于令狐觉得一般般的自助午餐我倒觉得还好了,可能是因为这种会议餐吃得多了,知道大致就是这样的,有一回在希尔顿吃的还不如这次华亭的。我就发图好了。这

2008-09-06 14:27:00 3341 2

原创 单元测试的规划

令狐写了一篇《单元测试》,源于我们上周的一次关于测试的讨论。TR说到的原子性、独立性、正交性的确也都是值得讨论的问题。不过我比较关注的是粒度和覆盖度。讨 论是缘起于我们几个最近在合作的一个基于Pylons开发的小项目。Pylons本身是一个基于MVC的WEB框架,我们的应用可以简单地分层为: Controller, Function, Model 这样三层。Model里都是表结构的定义,没有什么好

2008-06-12 10:51:00 4481 2

原创 绿毛乌龟

周六CSDN开大会,我手里有一张价值200元的门票。因为这回没人管路费,我就不去了,送给一个在北京的朋友。提前九天我就从邮局寄了挂号信过去,并为此支付了5.40元人民币。但是九天过去了,仍然没有到。一封挂号信居然走了九天还没有到,这是什么速度?在这个从上海到北京搭飞机来回用不了一天的时代,这就是乌龟的速度。开会前一天,朋友说还没收到时,我还特地上网搜了一下,想看看能不能查到邮件的当前状

2008-03-31 09:46:00 3819 1

原创 预祝CSDN第二届大会成功

今年没上黑名单,只上了灰名单,所以没有包路费,不去了。BTW:门票已经送人。再BTW:广告一下——诚招软件开发人员一名,有一定的Windows服务器和MS SQLServer维护经验,学习能力强,有意向SAP方向发展。工作压力不大,待遇面议。有意者请给我发Email——LOOK页面旁边的公告。 

2008-03-25 11:18:00 2770 2

原创 分布式版本控制(完)

本篇作一个简单的总结。先看一下DRCS与传统SCM之间的比较。虽然DRCS有很多优势,但是完全取代集中式的SCM还是不太可能的,毕竟是两个完全不同的思路。我 曾经乐观地认为DRCS会取代传统SCM,但这只是我个人的体会,我可以很轻松地把SVN换成Mercurial,但是并不表示这对所有人都是合适的。令 狐就指出,在他们公司,因为在VSS的基础上有一整套自己的管理工具和规范,即使明知有更好的

2008-03-13 13:38:00 3755 1

原创 分布式版本控制(三)

本篇介绍Mercurial。因为这是我现在用得最多的SCM——最近一个月来几个程序都在用它——所以会说得详细一些。我是从云风的BLOG里看到关于Mercurial的介绍,他在文章中介绍了常用的几种DRCS,他个人推荐的是Darcs,但我却看中了Mercurial。Mercurial 的优点在于功能强大并且速度超快(相对Bazaar而言,与SVN相比似乎也快一些),看源码Mercuria

2008-03-07 09:29:00 5791 1

原创 分布式版本控制(二)

本篇介绍Bazaar我知道Bazaar是从livid那里看到的,他这篇介绍基本上就是翻译Bazaar官方的一个快速入门文档,强烈推荐参考一下。Bazaar的优点在于功能强大并且安装使用很方便。因为是用Python写的,只要在安装了Python之后,再安装一下Bazaar就可以使用了。需要注意的是,它的SFTP功能使用了两个包: pycrypto和paramiko。这是需要额外安装一下的。刚

2008-03-04 09:47:00 7320 3

原创 分布式版本控制(一)

虽然我使用传统SCM(软件配置管理,或者叫RCS——版本控制系统)软件已经有很多年,从那个垃圾一般的VSS到功能强大的CVS和SVN都用过 一段时间,短则半年(VSS),长则数年(SVN)。但是对于分布式版本控制系统(DRCS),我也是刚接触不久,发现它们的确很不错,相比传统SCM来 说,是一种质的变化。所谓DRCS是相对于传统集中式的SCM而言的。对于传统SCM来说,Repository是集

2008-02-29 16:44:00 9584 3

原创 跨平台中文文件名乱码的解决

事情的起因是这样的~~在很久很久以前——大约是2年多年前,我整了一台P3的机器装了FreeBSD做服务器,经常用Filezilla的SFTP往里面备份本地的文件,当然也包括一些中文名的文件。一切都很正常,上传下载都没问题,即使是用 SSH连过去用Tar打包再Gzip压缩以后下载下来解开都没问题。但是好日子在前几天到头了。我前一阵又弄了一台P3的机器装了Ubuntu。问题出现了:首先是在

2008-01-23 10:53:00 14007 6

原创 GCC的BUG研究(Rev.3)

Solidot报道GCC在Linux平台下有一个BUG。但是原文中说只有Linux平台有这个问题是不正确的,经过令狐的实际测试,在HP-UX(GCC 4.0.2),LINUX(UBUNTU,GCC 4.1.2),WINDOWS(GCC 3.4.5)下都存在在这个问题。为了调查研究一下这个问题究竟是如何造成的,我们一帮人展开了一番讨论,经过对汇编代码的分析,结果看来是GCC的代码优化实现有问题。

2007-11-19 17:29:00 7093 7

原创 不用模式的理由

周日去找sunway看他的半冰箱胶卷及扫描仪,一起吃完晚饭出来时,我想起reallike说过的一句话:不要跟sunway谈模式。于是趁机challenge了一下,结果还是比较有收获的。关 于模式的问题我曾经跟令狐有过多次的讨论。sunway并不能算是一个严格的模式反对者,他只是反对在自己项目中采用模式。为此他举了很多的例子,基本上 我还是比较认可的。例子我就不一一列举了,有过一定的编程实践经验

2007-09-20 14:34:00 6166 9

原创 语言及其应用

我本来就《C++不是万能的》一文写了一个续篇,令狐提醒我说:C++作为一种语言,它拥有任何特性都是没有问题的,并不存在什么“多余的特性”一说。从这个角度上说,C++标准委员会的一切努力都是有意义的。因为它们是在完善C++语言本身。 但是,作为项目开发来说,开发语言并不是唯一的决定因素。没有必要将语言限制在仅使用C++上。在这种背景之下,其它几种语言的组合,可能会比单一使用C++,来得更好。尤其

2007-09-17 17:00:00 5744 5

原创 C++不是万能的

除了模式,上周日我和sunway还谈到了C++的问题——结果周二就看到Linus Torvalds就C++的话题跟人吵架,引发了国内C++圈里的大讨论——孟岩版,云风版,刘未鹏版。我也来扯一篇吧,不过层次肯定比这帮职业C++高手差多了。云 风最近一次从C++回到C我是知道的,还曾经因为C是不是需要提供GC的问题跟他有过讨论。那天sunway跟我讨论的主要观点跟云风及Torvalds 差不多,其

2007-09-12 23:32:00 23513 52

原创 在VCL应用中运用MVC模式

[Mental Studio]猛禽[Blog](这篇文章始作于两年前,当时本来是想以我为备份自己的BLOG而写的一个小程序为例来说明我的这一想法。不过因为那个程序缺乏通用性,后来没有再去完善它,结果 这篇文章也就被放下了。然后又有很长一段时间忙于别的事情,没有接触原生应用开发。直到最近才因为在研究SQLite时,写了个简单的程序,并且在其中运用了两 年前的这一思路,故决定以新程序为例把这篇

2007-08-17 11:26:00 8289 10

原创 TurboGears的Widget

首先B4一下令狐,想当年偶用Django的时候,他向偶推荐TurboGears,结果现在他自己要做Web开发了,却用起了Django。嘿嘿。8 过偶还是喜欢TG,因为它提供了更多的选择——我这两天又去看了一下Django的文档,并没有看到有关可以自已选择改用SQLAlchemy(ORM) 或是Genshi(WebTemplate)的说明,看来传说中的“支持”并非官方选项,而是为专家准备的。不过

2007-07-20 14:05:00 4611 1

原创 [小工具](10+2)*5

 

2007-07-18 20:35:00 5001 2

原创 创建一个MDB文件

昨天令狐说需要用到Access数据库,又不想装Office,在群里征求办法。我建议的办法是用DELPHI/BCB自带的SQL Explorer通过BDE over ODBC连接Access数据库,这样就可以修改库结构,及使用SQL语句进行大部分数据库操作。但是有一个问题就是不能创建一个空的数据库文件,只能连接已有的MDB文件。不过这个问题好解决,用ADOX不过是几行代码的问题,如果会V

2007-06-14 10:55:00 8670 3

原创 在TCX中使用SQLite3

我早就鼓吹过:SQLite是最好的本地文件型数据库。在Windows下,它只要一个几百K的DLL就可以驱动,管理工具也只是一 个几百K的EXE程序就行了。相比之下,ACCESS庞大得令人生厌,即使是一个OLE-DB驱动也有至少10M以上的size,更不用说Foxpro, Paradox……那一大堆的表文件了。当然,SQLite的性能还不能跟那个BT的BerkeleyDB相比——BDB根本不能算

2007-05-15 10:06:00 13887 6

原创 我对开源的理解

王开源事件把有关开源的话题又炒了起来。不过炒炒也好,因为对开源(本文中未特别说明的“开源”系广义的开源,泛指FS和OSS)的误解实在太多了。事 实上与开源相关的有三个方面:商业软件(Business Software)、自由软件(Free Software)和开源软件(Open Source Software,此处为狭义的开源,以下简称OSS)。它们之间的根本区别并不是在是否收费上——这是国内

2007-04-21 15:27:00 7843 10

原创 在BCB中使用Lua

(2007-03-06)由于想要在一个原生应用里提供脚本功能,而Python的发布不能不说是一件麻烦事。因为所需要的脚本功能很简单,所以决定试试传说中的Lua。第一步,下载源码。虽然Lua有提供二进制版本下载,但是因为我是用Turbo C++ Explorer(即C++Builder的免费版),所以我决定还是自己编译一下源码。下载位置当然是Lua的官方网站:http://www.lua.o

2007-04-20 11:43:00 5299 3

原创 CSDN软件英雄会流水帐

5号傍晚下班赶到虹桥机场,顺利地拿到票办登机过安检,到达B11登机口时,离起飞还有半小时。结果刚坐下就看到一个美女过贴了一张布 告——两年前在虹桥机场看到过这种布告,不过当年是别的航班,这回终于还是轮到偶了。据说飞机延误是很正常的事情,偶坐了这么多年飞机这才头一回碰到,已 经算是运气不错的了。到国宾宾馆时已经是十 一点半了,找到CSDN的查美女时,巧遇aawolf——当年他在BCB版的一个帖子

2007-04-09 18:08:00 6035 11

原创 最恨你们这些做Spyware的

(2007-03-03)因为一个Spyware,浪费了我两天时间才搞定。其实是两个……哦,不,是三个。不过在其中一台机器上的那个昨天已经被我干掉了,但是在另一台机器上这两个真是折腾S偶了。:(还好最后总算都干掉了。这两个Spyware分别是:ssqpq.dll和tuvsqol.dll。症状是有几个:1、机器忽然不能从网络访问,到机器上登录也失败,报错:“系统无法让您登录

2007-03-16 13:55:00 4498 5

原创 人人都需要一台服务器

自打上次BCB版聚时,TR老大谈起他家里整了一台服务器的事后,令狐也心痒想整这么个东东,我则是把自己的一台闲置电脑弄成服务器用。但是我们这些解决方案都不够好——比如成本高,耗电大,稳定性差。所以我设想了一种专用解决方案:用集成主板,最好是笔记本主板,耗电会省一些。用笔记本专用CPU,也是为了省电。内存硬盘光驱最好也都用笔记本版本的。机箱可以考虑用1U的服务器机箱,主要是要处理好散热

2007-03-05 10:10:00 5922 10

原创 Web Desktop App(修订版)

年前忽然想到一种桌面应用的模式——用Web方式实现。从表现方式上说,类似.net的XAML,但是基于现有技术实现,并且可以不受平台限制。比如可以用这样的方式实现一个资源管理器这样的东东。甚至可以按这种模式开发出一种类似于DesktopWebOS这样的东东,挂在不同的OS平台上。基本的结构是这样:用TurboGears(或者简单一点就直接用CherryPy)一类的技术实现一个WebSer

2007-03-05 10:00:00 5135 3

原创 Genshi笔记

正式决定从KID改到Genshi。虽然Jinja的性能的确好,但是Script风格的Web template毕竟还是不如XML风格的好看和规范。试了一下发现,Genshi与KID的差别也不是很大,迁移过来还是很方便的。Genshi是一个日文词汇“原糸(げんし)”——咋又是日本人整出来的捏?啥时国人能整出点像样的东东来,别只会弄些烧香的熊猫之类,一点建设性都木有——它的设计目标就是修改KID以提

2007-02-25 17:33:00 4041 1

原创 选择的自由

(倪可的父亲说)“……你 经常挂在嘴边的萨特笔下的自由,只是‘选择的自由’,一种有前提的自由。”——卫慧《上海宝贝》前一段一直在BLOG上讨论服务器OS的选择问题,还有语言的多样性问题。其实归根到底就是关于选择的自由问题。其实根本没有所谓绝对的自由,我们能得到的自由只能是选择的自由,差别只在于可供选择的东西或多或少而已。Windows固然有千万般的好处,但它并不是没有问题的,在很多时候

2007-02-07 20:55:00 3807 1

原创 语言的缺陷

前几天在《好的服务器系统》一文后讨论的时候,edguo兄建议我开一个关于DELPHI问题的话题来讨论一下,正好最近关于C的死活问题在圈子里讨论得很热闹,我也八了一篇《不值一驳》掺和了一把。现在正好抽空把两个话题整一块,就语言的问题来说一说吧。其实早在两年前,我就曾经就语言的问题发过几篇文章《强大的DELPHI RTTI--兼谈需要了解多种开发语言》、《语言的特性如何取舍》、《有必要把什么都加到

2007-01-16 13:34:00 5066 17

空空如也

空空如也

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

TA关注的人

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