All About Soft
文章平均质量分 86
iteye_9173
这个作者很懒,什么都没留下…
展开
-
内外兼备的企业blog
几天前,我从laolu的space上看到了一篇题为《企业blog的用处》的文章,而我也第一次听说了企业blog的概念。从laolu的文章追本溯源,也就找到了与企业blog相关的两篇文章:How blogging can help your business以及Business blog applications,其中的观点也颇有见地。其实,企业blog的概念在国外乃至国内都不是什么...2006-07-19 13:55:00 · 109 阅读 · 0 评论 -
Portal应用点滴(二) —— Portlet简介
在昨天的Post中,偶已经对Portal进行了简单的介绍,不知道各位对Portal是不是有一点点认识了呢?如果还是云里雾里的话也没有关系,毕竟Portal所涵盖的内容是很广博的,掌握它需要时间,了解也是需要时间的。在初步介绍了Portal的概念之后,今天我们来探讨一下Portal的核心——Portlet。 首先,Portlet在表现形式上就是我们所看到的页面上一个个小...2005-09-23 17:22:00 · 91 阅读 · 0 评论 -
继续探索动态代理
在昨天的Post中,三言两语把动态代理(Dynamic Proxy)大致介绍了一下并给出了一个例子,我想大家应该和我一样对Dynamic Proxy有一定认识了吧。然而Dynamic Proxy这个宝藏的底蕴是深厚的,三言两语又怎能发掘到精华呢?于是,偶带着很多疑问,对Dynamic Proxy来一次更全面的探索。 在Dynamic Proxy中,最有意思的应该是Pr...2005-09-02 23:30:00 · 75 阅读 · 0 评论 -
三言两语话动态代理
在之前的一篇关于Decorator模式的Post中,曾经提到了动态代理(Dynamic Proxy)简化了Decorator模式的实现。作为例子的代码很容易理解,但这个简化的背后仍包含着很多值得去发掘的内容。 首先我们来明确一下动态代理的定义:一个动态代理类在运行期implements一组interface,使得interface实现类的方法调用被分派至其他的类(另外的i...2005-09-01 23:28:00 · 74 阅读 · 0 评论 -
关于Metaclass Programming (一)—— 动态创建Class
前几天写Python中的Class这篇Post的时候,犯下了一个十分低级的错误,让我感觉十分惭愧。看来还是得继续努力,坚持大胆假设,细心求证的基本原则哦,呵呵~~~ 言归正传,Qiangning Hong兄的Feedback不仅纠正了我犯下的错误,也促使了我去作进一步的思考。我原本希望通过Google去搜索Python中关于函数重载的内容,却很意外地发现了这样一个与...2005-08-30 23:53:00 · 88 阅读 · 0 评论 -
Python中的Class
尽管Python在Function Programming中有着其他语言难以企及的的优势,但是我们也不要忘了Python也是一门OO语言哦。因此我们关注Python在FP上的优势的同时,还得了解一下Python在OO方面的特性。 要讨论Python的OO特性,了解Python中的Class自然是首当其冲了。在Python中定义class和创建对象实例都很简单,具体代码...2005-08-25 23:06:00 · 192 阅读 · 0 评论 -
关于J2EE Tranaction的几个基本概念
Transaction不管在J2EE还是.NET领域中都是相当重要的一个组成部分。尽管很多与Transaction相关的概念在两个不同的平台中都是相通的,但是它们在Transaction的实现方面却有着很多的不同。想对.NET下的Transaction有更深入了解的朋友,可以参考idior兄写的Transaction in ADO.net 2.0。在以下的篇幅里面,我就J2EE中与...2005-08-16 22:12:00 · 129 阅读 · 0 评论 -
Cached JSP引发的问题与思考
在最近的Project中遇到了一个表面上看起来蛮奇怪的问题。具体问题是这样的,在Project中,所有跨模块的constant都会定义在一个名字叫Constants的interface中,然后在JSP里面,我们也会相应地使用到这些constant。 每当更改了Interface里面某一个constant的值的时候,在JSP中并不会反应出来,从而引起了很多混淆。由于Constants是...2005-07-15 18:59:00 · 113 阅读 · 0 评论 -
可爱的Ant——利用Ant获取文件列表
提到Ant,你一定会想到它在自动构建方面有着举足轻重的地位,于我而言,也仅仅是将其作为一个自动构建的工具来使用。由于各个流行的IDE都内部集成了对Ant的强大支持,因此,我使用Ant的方式就真的简单得不能再简单了:在网上找一个build file,然后针对自己的project稍作修改。这样,我就可以在IDE窗口中拖动鼠标点两下,就可以很方便地完成 project的构建了。真的太简便...2005-07-15 14:47:00 · 400 阅读 · 0 评论 -
体验模式的乐趣(二)—— 连接池与Decorator模式
在《深入浅出Hibernate》的第一章中,作者讨论了设计一个面向应用的持久层所涉及到的方方面面,其中一个重要的方面就是ConnectionPool(连接池)的使用。以JDBC为例,当你需要对数据表中的数据进行操作的时候,你必须通过Driver去建立与Database的Connection。由于建立Connection的过程的开销是相当可观的,如果仅仅是在执行了几个简单的SQL...2005-06-30 22:26:00 · 72 阅读 · 0 评论 -
美妙的Python又来了
今天继续去了解小蟒蛇的可爱特性,在函数定义和调用方面,有三个地方让我觉得蛮有意思的。 第一个有意思的地方是缺省实参, 也就是在Python中定义函数,你可以为参数设定缺省值(默认值),这个特性在C和C++中也是有的,但是在Java中却没有,至于C#中有没有,就不清楚了。如下所示: def test(a, b, c=3): print a, b,...2005-06-22 02:08:00 · 110 阅读 · 0 评论 -
Openning Day
在Java的世界里,Open并不是一个新鲜或者是很Hot的词语了,那么在操作系统方面呢?6月14日这一天,OpenSolaris的横空出世,无疑在操作系统领域中投下了一枚重磅的炮弹。让我们来看看引自TechNewsWorld网站的一段话吧: Sun Microsystems has officially released the source code of its Solari...2005-06-17 01:28:00 · 121 阅读 · 0 评论 -
MySql与Tomcat的两个小Tips
第一个Tip是与数据库有关。通常,数据表在创建了之后都不可避免的需要增加或者删除表中的列(Column),那么我们通过什么方式去做呢?重新创建一张表再将数据导入恐怕是一个很笨的办法了,费时又费力。事实上,只要使用一句简单的SQL就能实现我们所想要的了,这个就是ALTER TABLE。ALTER TABLE的功能很强大,它几乎可以改变与表结构相关的一切信息,譬如增加删除列,修改列名,...2005-06-04 00:38:00 · 88 阅读 · 0 评论 -
体验模式的乐趣(一)—— Command模式
模式是什么?说实在的,对于模式,我了解得很少。但是,我知道,模式是用来解决软件设计问题的,是用来增加软件设计的灵活性和可维护性的,总之,它应该是程序员经过大量开发工作之后,对于解决问题的经验总结;模式不是用来生搬硬套的,也不是拿来故弄玄虚的,它是用来解决问题,从而让我们更加享受编码的乐趣。我无意直接去讲解什么模式,因为我还没有那样的实力,我能够讲的就只有模式给我带来的顿悟了。咦,怎...2005-01-08 23:53:00 · 108 阅读 · 0 评论 -
Java基础知识的十个盲点
连续三天的Java Language Fundamental Knowledge培训,整体是会让那些有经验的Java程序员哈欠连天的。原本也想坐到Training Room的后排敷衍了事,不过想想自己的基础,最后还是选择了坐到第一排。 三天的课程平淡无奇,讲的无非是任何一本Java语言速成类的书籍都会讲到的内容。不过,当面对着这么多纷繁复杂的基础知识时候,我还是发现不...2004-12-25 11:57:00 · 112 阅读 · 0 评论 -
GDI+实践之路(二)
在上一篇post中,我们已经通过建立一个简单的程序对GDI+有了一些初步的了解。接下来,为了能够提高开发效率,我打算将GDI+的API进行封装,提高代码的重用性。结果,我遇到了一个极其讨厌的问题。通常,我们都需要将class的定义写在.h头文件中,那么很明显就要将gdiplus.h包含在头文件中了,但是,不知道为什么,我认为OK的代码却编译不过,例如: #include <...2004-10-25 22:42:00 · 71 阅读 · 0 评论 -
GDI+实践之路(一)
当我写下这个标题的时候,你是不是会觉得我很花心呢?一项技术都没有摸透,就去看其他的技术了。我又何尝不想专注于一个方面呢?不过,跟着需求走就意味着“一日看尽长安花”了,目不暇接无所谓,脑袋瓜跟上了就好,你说呢? 实践之路的第一步是急着动手去做吗?不是的,应该对GDI+有个概括的了解才行。GDI+是GDI(Graphic Device Interface)的扩展版本,也是...2004-10-19 01:33:00 · 98 阅读 · 0 评论 -
自动更新功能的实现尝试 之 更新
随着网络的极大发展和普及,很多软件都增加了自动更新的功能,首当其冲的就是Windows了,对于网络游戏的客户端更是必不可少。最近要为一个软件实现自动更新的功能,正好有机会去思考一下这个功能实现起来需要做什么。 光从字面上看,自动更新至少包含两个方面:一个是更新,一个就是自动了。那么更新的话,我们可以认为是客户端通过HTTP、FTP或者其他连接从服务器上获得需要的资源。...2004-10-15 23:58:00 · 150 阅读 · 0 评论 -
Portal应用点滴(三) —— Pluto与HelloWorld Portlet
在上一篇Post中,我提到要开始实践了,但是酝酿一篇与实践密切相关的Post还真的很费劲。毕竟建立一个portlet的方法有很多种,而且还会因使用的工具不同而方法迥异。平常在工作当中都是使用IBM提供的Portal Toolkit进行Portlet开发,打开Create New Portlet Wizard,跟着提示点几下按钮,一个漂亮的Portlet就在弹指之间完成了。如果我把这...2005-10-13 10:41:00 · 206 阅读 · 0 评论 -
关注WebWork(一)
大约一年前,我为一个小型项目选择框架的时候,WebWork第一次进入了我的视野,它优美的设计以及强大的功能,再配以平缓的学习曲线深深打动了我。在一番比较过后,我毫不犹豫地选择了WebWork并用它顺利完成了这个项目,并且在开发过程中写了不少总结性的文章。尽管WebWork有着这样那样的优势,但是它本身仍然存在着诸多的不足,社区不够活跃,更新速度太慢,最糟糕的就是文档太少且质量参差不...2005-10-21 23:57:00 · 126 阅读 · 0 评论 -
关注WebWork(二)
时间过得真快,重新关注WebWork已经有一个多月了,那篇极具潜力的Post——WebWork初体验也终于如我所愿,爬上了阅读排行榜的榜首,而《WebWork In Action》的翻译工作也进行到了第三章。在这段时间里,我收到了不少朋友热情的回复以及诚挚的建议,在这里向各位表示我最衷心的感谢了! //Bow~~~ OK,鞠躬完毕,我要继续耍嘴皮子了,各位朋友准备豆腐板砖啦!:) ...2005-11-10 18:22:00 · 74 阅读 · 0 评论 -
所谓气质
昨天TerryLee的文章如一石激起千层浪,引发了大家对技术重视问题的讨论,而自己写了一篇文章以附和之,回复也是很多。可见,这个问题在大家心目中占据着重要的位置或者说大家都感到了这个问题的严重性,也有了不少的思考。其实,网络上不乏类似的文字,而今天在网上晃荡的时候,也再次看到了国内外之间的比较,不过这次不是对技术重视程度的比较,而是气质。 这篇题为《TMT评论:有关...2006-07-17 23:22:00 · 124 阅读 · 0 评论 -
Google的使命与信息组织
说起Google,可以说是无人不知,无人不晓了,那么Google的使命呢?如果您是Google的忠实拥趸,就不仅仅对Google各色各样的新产品望眼欲穿,图个一试为快,而且应该对Google的盈利模式、发展史等等各个方面了如指掌,说起Google的使命,自然也能够说出个所以然来。那么,您是Google的拥趸吗? 为什么要强调Google的使命呢?因为使命代表着...2006-07-06 23:53:00 · 1067 阅读 · 0 评论 -
eBay Wiki 的启示
早在6月14日,eBay Wiki就已经上线了。当时我通过chedong.com了解到这个信息,感到非常的开心与兴奋。因为像eBay这样一个全球最大的电子商务网站能够使用wiki促进会员之间的交流以及交易,这在很大程度上是对wiki在行业应用中的一个肯定。一直以来,包括Blog、Wiki、Tag与RSS在内的多种Web 2.0技术虽然引人注目,发展也是如日中天,但是它们并没有什么切...2006-07-02 23:59:00 · 141 阅读 · 0 评论 -
思考Web 2.0
Web 2.0的概念在一年前悄然降临人间之后就一直吸引着无数人的眼球,一直受到无数风险投资的追捧。时至今日,Web 2.0的发展如日中天,众多的网站都给自己贴上了Web 2.0的标签,很多数码产品甚至是日用品也迫不及待地想沾沾财气,纷纷贴上2.0的铭牌。在整个互联网都为Web 2.0狂的时候,传统的媒体也没有错过机会,于是各种各样的相关报道也时常见于报端。这不,2006年6月26日...2006-06-30 15:05:00 · 105 阅读 · 0 评论 -
浅谈HTTP的无状态性
HTTP是Hyper Text Transfer Protocol的缩写,顾名思义,这个协议支持着超文本的传输。那么什么是超文本呢?说白了就是使用HTML编写的页面。通常,我们使用客户端浏览器访问服务器的资源,最常见的URL也是以html为后缀的文件。因此,我们可以说超文本是网络上最主要的资源。 既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传...2006-06-28 23:52:00 · 468 阅读 · 0 评论 -
事事总关“搜”
最近在看《搜》这本书——The search的中文版,书不算厚,内容本身很吸引我,而翻译也相当到位,阅读起来自然也就赏心悦目了。这本书的内容,我想就不需要作什么介绍了,估计十个朋友有九个都能猜出这本书大致的内容。对,就是一本讲述Google的书。Google的事业如日中天,与Google扯上关系的出版物也不在少数,像《搜主义:Google持续成长的秘密》和《Google成功的七堂课...2006-06-27 11:19:00 · 89 阅读 · 0 评论 -
使用Word2007发布Post
看了dudu的新的体验:通过Office 2007发布Blog,心里一直痒痒的,想尝试一把。于是,今天早上把电脑开着download了一天,终于把Office2007给下完了。 Office2007安装完成之后,第一件事情当然是使用Word2007发布Post啦。首先是点击界面左上角的office图标,就会出现一个操作菜单,然后将鼠标的箭头移至Pub...2006-05-30 21:08:00 · 154 阅读 · 0 评论 -
Google NoteBook发布了
发现自己越来越喜欢Google了,不仅因为Google功能强大的搜索,更是因为层出不穷的小玩意。在Google Trend盛装发布之后,Google NoteBook也于昨天下午发布了。早上在公司浏览网站的时候,我看到了这个小工具。当时我真的很兴奋:这不正是我想要的吗?可惜在公司无法下载.exe后缀的文件,到了晚上才能用上它,一用就真的爱不释手,忍不住到博客上推荐一番了。 ...2006-05-17 22:18:00 · 82 阅读 · 0 评论 -
近期关注 & 博客推荐 - 2006年4月号
[写在前面]:在博客园中,除了写写Post之外,还喜欢四处晃悠晃悠——或浏览其他朋友的文章以增长见识;或关注一些讨论激励的Post,不仅凑凑热闹,还能感受各种精彩纷呈的观点。在过去近两年的时间里,我写了一些文章,跟园子的朋友们分享了很多成熟或不成熟的想法。但与此同时,我觉得更多的是收获,是提高,因为园子里有很多技术能力超群而且经验丰富的牛人。更重要的,他们很乐意将自己独到的见解与大...2006-04-05 12:13:00 · 78 阅读 · 0 评论 -
努力做个Pragmatic Programmer
在公司里,由于整个开发流程相对规范,整天都是拿着文档做开发,动脑筋也不太多了,久而久之难免会感到厌烦,还好有一些不需要循规蹈矩的小task可以调和一下。事实上,对于这些小task,Leader通常都会很头痛,因为都是一些如果手工完成都会让人抓狂的,繁琐而无聊的工作。每每接到这些看似很无聊的task,我都会考虑用较为聪明的方式将其完成。虽然俺的劳动力低廉,但是也不想被这些无聊的工作坏...2006-03-31 15:35:00 · 79 阅读 · 0 评论 -
如何让WSAD的设置Workspace对话框重见天日
这个问题已经被问到不下N遍(N > 5)了,鉴于只是一个小问题,我没有准确地记下解决的办法,只是知道解决的途径而已。但是,当我再次被问到相同的问题而我又无法马上给出答案时,我想:是不是该将解决办法记录一下呢? 每个用过IBM WSAD5.x的朋友都可能会遇到以下这个问题。通常,我们打开WSAD的时候,会有一个用于设置Workspace对话框弹出来,然后你就可以随...2006-03-16 10:06:00 · 145 阅读 · 0 评论 -
Python备忘录
使用Python编程有一段时间了,但是Python并不是我最常用的编程语言,更重要的是Python与诸如Java、C#这类典型的OO语言在很多方面存在着差异。因此我那糟糕的记忆力总让我在编写Python程序的时候,不得不搜肠刮肚,挖空心思。俗话说得好:好记性不如烂笔头。因此,还是为我如漏斗般的记忆开个备忘录吧!Part 1 与OO概念相关 1、如何构造类实例? ...2006-02-28 23:52:00 · 305 阅读 · 0 评论 -
无聊之胡思乱想 —— 关于CMM和CMMI
春节长假结束之后回到公司,我参加了有关CMMI的training。整个课程总有7个部分,涉及的内容十分广泛:从基于风险的项目管理到软件生命周期,再到项目计划和跟踪等等。而到上个星期为止,课程已经过半,而我对于CMMI有了一点点的认识,也引发了一些思考。 还是先从认识开始吧。当你第一次看到CMMI这个名词的时候,或许你会不由得想起CMM。是的,CMMI就是CMM Int...2006-02-27 16:43:00 · 421 阅读 · 0 评论 -
关注WebWork(五) —— 配置之美
看到这样的题目,看到“配置”这个key word,你的脑海中是不是会呈现出一堆堆的XML、properties文件呢?是的,我说的配置,就是各位平常在做项目的时候经常碰到的配置文件。在一个项目中,配置文件是很重要的,不管它是简短的还是冗长的。配置文件指出了一个系统中可变化、可设定的部分,也就是说一个系统将其中一部分信息独立出来,将设定这些信息的权利交给了用户,这样用户就可以根据自己...2006-01-17 13:43:00 · 81 阅读 · 0 评论 -
Sharepoint Newbie's Diary - 1st Entry
Hey,everybody. This is my first English entry for my blog. Although I read some English articles everyday, my English is still not good enough to let me express all my thought. Anyway, Rome was bu...2005-12-12 23:59:00 · 151 阅读 · 0 评论 -
关注WebWork(四)
时间过得很快,《WebWork In Action》第三章的翻译工作也接近尾声了。这一章的标题是Setting up WebWork,主要讲述了与WebWork紧密相关的配置以及如何运用这些配置让我们的应用程序组织得更为模块化,让我们在设计上可以更加灵活机动。 在这一章中,我了解到了很多之前并不熟悉的配置,而这些配置所带来的影响,我不得不为之赞叹。以action为例,...2005-11-23 15:11:00 · 69 阅读 · 0 评论 -
关注WebWork(三)
在昨天所写的关注WebWork系列的第二篇中,留下了一个问题:在使用WebWork自定义UI标签的时候,为标签的属性赋值是否要加上单引号。现在这个问题有了答案。在讲述这个问题之前,我不得不再次为自己不严谨、不细心做一个自我检讨,但愿下次不要在犯这样的错误了。 其实,这个问题的解决方法很简单,书中的代码也没有问题,而且我使用的单引号方式也没有错。让我迷惑的根本原因是我漏...2005-11-11 12:20:00 · 96 阅读 · 0 评论 -
Mysql的数据备份问题
几乎一切的Web应用程序都离不开数据,而数据库又是数据的集中地,其健壮性和安全性是十分重要的。如果把整个应用程序比作大脑,那么数据库就像是大脑的记忆一样,一旦完全失去了记忆,大脑无疑也就瘫痪了。为了保证数据的安全性,一个健壮的Database Server是十分必要的,但是,再健壮的server也难免会有crash的时候,从而导致数据丢失,在这个时候,及时而有效的数据备份也显得格外...2004-10-05 13:54:00 · 96 阅读 · 0 评论 -
关于测试和调试
没有想到《数据结构、算法与应用》一书如此之强调测试,曾经以为只有在Kent Beck的书中,才会将测试摆在一个极其重要的位置。尽管书中对于测试与调试的讲述并不是太多,却将要点讲述得特别的清楚,让自己对于测试和调试有了些许的顿悟。 测试是为了尽可能的发现错误,这个是一定要牢记的。为了实现这个目标,测试数据的选择就显得尤为重要了。毕竟能够作为一个函数的输入条件的数据集合实...2004-09-26 23:59:00 · 176 阅读 · 0 评论