- 浏览: 229631 次
- 性别:
- 来自: 广州
最新评论
-
thebye85:
引用 另外一个需要注意的问题,就是SessionMap和隐藏对 ...
WebWork深度探索之Session -
lanxiaoshuang:
写的真好
说的都是概念——有关编程范式 -
lhz:
grep unique wc你需要的只是这么几个小工具而已
努力做个Pragmatic Programmer
文章列表
拐弯抹角了两篇Post,说了一下重要性和很常见的一个词汇:Metadata,终于都到言归正传的时候了。今天我们先来看看数据访问模式当中使用得很频繁的一种模式——Data Accessor(也称为DAO,数据访问器)。 不管你是用着ADO.NET还是JDBC,你都可以直接使用SQL(在ADO.NET中使用SqlCommand,JDBC则是使用Statement)去访问数据库。而且,在使用SQL之前,你还得建立与数据库的连接(Connection)。于是,像这些涉及数据访问的代码就会散布在应用程序当中,使得程序维护或是性能改善都难以实施。举个很简单的例子,如果在一个项目 ...
- 2005-07-25 18:34
- 浏览 863
- 评论(0)
[前言] 在这个系列的第二篇,我依旧不务正业,只字不提具体模式。元数据是一个很基本的概念,如果大家看到有关O/R Mapping的文章,都可能会看到元数据这个的名词。因此,在这篇中,还是先说说元数据吧。 提到元数据(Metadata),在IT行业中,应该是无人不知无人不晓了。即使你不是在IT行业里面耕耘,也会或多或少的元数据打过交道,因为在Web的世界中,元数据几乎是无处不在的。 说来也惭愧,作为一个程序员,对于元数据的了解还是十分的肤浅。纵使搜肠刮肚,也只能想出一个最简单的定义:元数据就是关于数据的数据。光看这样的定义,真的让人摸不着头脑。于是我在网 ...
- 2005-07-22 15:59
- 浏览 874
- 评论(0)
在企业级应用当中,数据是企业资源的重要组成部分。应用程序的开发也是围绕数据的组织和存储、数据的访问、数据的处理、数据的表示进行的。由于这几个方面为整个应用程序系统提供了服务(Service),因此我们可 ...
- 2005-07-21 18:23
- 浏览 892
- 评论(0)
看了Lu Feng兄写的4个程序员的一天以及很多朋友对此post的回复,不禁让我兴奋不已。因为我想起了Python,毕竟在Functional Programming方面又怎么能少了Python这条可爱的小蟒蛇呢? 偶没有Lu Feng兄那么强的表达能力,能够将语言的特性如讲故事一般娓娓道来,只能随手写两行代码来展示一下Python在Functional Programming方面的功底了。:)
首先,在Python中,Everything is object,所以function本身也是object,是当作一等公民(First
class citi ...
- 2005-07-20 12:33
- 浏览 1098
- 评论(0)
在最近的Project中遇到了一个表面上看起来蛮奇怪的问题。具体问题是这样的,在Project中,所有跨模块的constant都会定义在一个名字叫Constants的interface中,然后在JSP里面,我们也会相应地使用到这些constant。 每当更改了Interface里面某一个constant的值的时候,在JSP中并不会反应出来,从而引起了很多混淆。由于Constants是由我来负责的,每当我修改了constant的值,都会有同事问我,到底constant的值修改了没有,为什么JSP上面没有看到更新的值。一开始我也很迷惑,后来仔细一想,应该是由于Cached JSP引起的 ...
- 2005-07-15 18:59
- 浏览 915
- 评论(0)
提到Ant,你一定会想到它在自动构建方面有着举足轻重的地位,于我而言,也仅仅是将其作为一个自动构建的工具来使用。由于各个流行的IDE都内部集成了对Ant的强大支持,因此,我使用Ant的方式就真的简单得不能再简单了:在网上找一个build file,然后针对自己的project稍作修改。这样,我就可以在IDE窗口中拖动鼠标点两下,就可以很方便地完成 project的构建了。真的太简便了,简便得让我忽略了Ant的其他强大功能。不过,是金子总会发光的。这两天,我切实地体会到了Ant不仅仅可以极好地完成自动构建的工作,而且它还是一个十分顺手的工具,极大地提高工作效率。 事情 ...
- 2005-07-15 14:47
- 浏览 2810
- 评论(0)
在Web Application的开发测试当中,由于存在不同的访问终端——浏览器,因此需要在不同浏览器下运行应用程序,以检验应用程序在不同的浏览器下的外观及功能上是否保持一致。尽管现在的浏览器之间的兼容性已经是相当不错,但是在对Javascript的支持上就有相当大的区别。今天就在onfocus方法上碰到了钉子。具体的代码是类似这样的:
<html> <head> <script>
- 2005-07-12 22:01
- 浏览 1951
- 评论(0)
在非技术(二)——机会成本中,我们提到了机会成本这个概念,而另外一个概念——比较优势则被用来描述不同生产者的机会成本之间的差异。 正是因为比较优势的存在,贸易也就随之产生了。理性人会从事拥有比较优势的生产活动,然后通过贸易去获得其他生活必需品。在讨论比较优势之前,我们先来了解与比较优势相对的一个概念——绝对优势。 绝对优势是从投入方面去考量生产者的生产效率,如果一个生产者在生产一种物品所需要的投入总量少于另一个生产者的话,那么前者相对于后者在生产这种物品中拥有绝对优势。这样的描述似乎有点抽象了,我们来举个例子吧(例子引自曼昆《经济学原理》)。 假设世界 ...
- 2005-07-09 11:36
- 浏览 766
- 评论(0)
看了湘南和也写的程序编码应保持良好的规范(C#) ,我也忍不住要说上两句。这两年来,做了几个项目,技术没有长进多少,对于规范倒是有了不少的体会。 湘南和也提到的四点规范是比较重要的,我再补充几点。 1、常量的命名:常量使用大写字母,各个单词之间通过下划线的划分。譬如BASE_SALARY; 2、变量的命名:变量的首字母小写,之后的单词的首字母大写。譬如baseSalaryLow; 3、常量和变量的命名:两者都必须注意一个问题,就是单词的准确性。在一篇不错的代码中出现了单词拼写的错误,会让人感觉好像一锅好汤掉进了几颗老鼠屎; ...
- 2005-07-07 21:35
- 浏览 784
- 评论(0)
看了叙远兄写的.net中的魔字符串,还有birdsome的评论,颇有启发。 所谓魔数和魔字符串就是在代码中直接使用某一个数字或者字符串,而不是常量。譬如一个很简单的根据职位计算薪水的方法:
public int getSalary(String title, int grade) { if ("Programmer".equals(title)) return
- 2005-07-06 23:22
- 浏览 854
- 评论(0)
正所谓术业有专攻,随着社会的发展,现代的学科分支越来越来细,而每一个分支所涵概的内容浩如烟海,学科与学科之间的差别也越来越大。若要高屋建瓴地去发现学科之间的联系,触类旁通,唯有抓住万变不离其宗的思想了。譬如计算机领域中的很强调的抽象,在物理研究当中也是同样重要的,牛顿三大定律就来源于对现实世界的抽象。把握了思想,你会发现,现实世界中很多事物之间都是有联系的。软件开发中很多思想不仅能够让你所写的代码如艺术作品一样美妙,有时候这些思想更像是人生哲理,指导着你的言行。啊,Everything is object,这让我想到了唯物主义。呵呵~~ 瞎说了一通,还是回到主题上来吧。 ...
- 2005-07-05 00:09
- 浏览 854
- 评论(0)
在《深入浅出Hibernate》的第一章中,作者讨论了设计一个面向应用的持久层所涉及到的方方面面,其中一个重要的方面就是Connection
Pool(连接池)的使用。以JDBC为例,当你需要对数据表中的数据进行操作的时候,你必须通过Driver去建立与Database的
Connection。由于建立Connection的过程的开销是相当可观的,如果仅仅是在执行了几个简单的SQL语句之后,就把Connection
关掉的话,实在太可惜了。为了能够重用建立起来的Connection,减少系统的开销并提供性能,Conneciton Pool就应运而生了。
通常一个Co ...
- 2005-06-30 22:26
- 浏览 1046
- 评论(0)
今天在JavaEye论坛上看到了一篇帖子。现将链接发布于此,大家都去关注一下吧。 援助程序员王俊行动 希望各位能够伸出援手,献上自己的一份爱心。但愿王俊能够早日康复,重新投身于他所热爱的软件行业。 PS:dudu,这个暂时放在首页一天,谢谢!
- 2005-06-26 23:40
- 浏览 785
- 评论(0)
今天继续去了解小蟒蛇的可爱特性,在函数定义和调用方面,有三个地方让我觉得蛮有意思的。 第一个有意思的地方是缺省实参, 也就是在Python中定义函数,你可以为参数设定缺省值(默认值),这个特性在C和C ...
- 2005-06-22 02:08
- 浏览 972
- 评论(0)
IronPython0.7.6于6月14日发布了, 版本升级的速度确实让人满意啊! 然后再看看自己的鳞片系列的速度,真的好惭愧,看来得好好加把劲了。
这一次的升级动作可谓之巨大,至少我得把原来.NET Framework 2.0.40607.42卸载掉,装上最新的.NET Framework
2.0.50215.44,IronPythonConsole才能运行起来,否则它会抛出Exception。 这一次版本的升级除了利用了.NET
2.0的一些新特性,还修改了一些bugs,以下是最主要的几条: * Filtering of exception ca ...
- 2005-06-19 00:53
- 浏览 1015
- 评论(0)