- 浏览: 60613 次
- 性别:
- 来自: 杭州
-
最新评论
-
ppgunjack:
对脏读的理解是错的
事务如果都完全放弃了,就谈不上是什么数据库 ...
理想的分布式数据库 -
sdh5724:
smildlzj 写道ali在用Greenplum的。。。
...
理想的分布式数据库 -
sdh5724:
楼主的yy基本连边都没有靠上。而且又不少理解又错误的。 不好意 ...
理想的分布式数据库 -
eclipse2008:
lkj107 写道北京,全国的钱袋
一切向钱看
没事在51job上统计了一下各个主要城市的java职位 -
niuqiang2008:
楼主辛苦了
没事在51job上统计了一下各个主要城市的java职位
文章列表
开发效率和性能总是死敌。
一个技术,基本上要么开发效率低下但性能超好,或者开发效率提高但性能下降了。
je上最近的2个帖子,其实都是在讨论一个问题,到底是性能优先还是易用性优先。(rpc or norpc,hibernate or jdbc)
我看到很多人都选择性能优先。
其实这个问题很简单,选择性能优先的选择norpc,jdbc,甚至存储过程。
倾向开发效率的人往往选择rpc,hibernate。
同类的选择还有stateless or stateful.spring的作者rod johnson一开始也曾鄙视stateful ejb,理由是性能太差。不过后来他也承认stateful ejb有其 ...
对于ddd,曾经有很多的争论,到底该选择贫血,充血,还是失血?我看了N多帖子,似乎都没有结论,中庸的人说了各种模型的优缺点,似乎是没有答案。
昨日看Pro Spring一书,2005年版的,书中早已给出了答案。
原则就是domain对象不依赖非domain对象。
什么意思呢,即domain对象不能依赖service,DAO等对象。然后尽可能的把职责落实到domain对象。
比如save方法,不应该赋予domain对象,因为要调用DAO对象,所以赋予service对象就可以了.
addOrderItem(Item item)方法应该赋予domain对象,应为item参数也是domain对象。
遵 ...
狭义的序列化,我们认为是存在于object和字节流之间的。而字节流我认为有分为binary 和 string。文本文件或者xml文件就是字符串流。
所以,如果我说object和xml之间的转换也是序列化,没什么人会反对。
然后我想广义的理解序列化,比如HTML页面,既可以认为是字符串流,那么它对应的对象是什么呢?DOM。和XML一样,HTML也有Document Object Model.
再讲到asp.net里的webform呢?webform是比HTML DOM更加抽象的基于组件的界面模型。一个webform里的组件,可能是多个html tag组成的。这2者之间是什么关系呢?是不是也是序 ...
用Spring很久了,但是一直作为一个用户而已,未曾认真的研究其原理。说起来就是Ioc和AOP,外加很多集成工具。
今天碰到一个问题,发现调用自身的函数不会被AOP拦截。在javaeye找到一个帖子,说明了根本原因:spring的aop采用的是代理模式。所以调用对象自身(this.foo())的函数就避开了代理对象,所以aop失效了。我想Spring早应该把这一点写在文档里,而不是号称AOP如何如何。
记下来免得以后又忘记。
因为我自己要找工作,于是借用51job统计了一下java职位的分布,并用excel排序了一下。
顺便给广大IT民工做个参考。基本上分3个级别,我做了分隔。
city jobs
北京 4306
上海 3788
------------
广州 1323
深圳 1292
杭州 1291
------------
南京 625
成都 591
武汉 449
西安 377
大连 306
苏州 250
重庆 181
天津 138
长沙 132
宁波 63
这里只针对play的参数验证机制做讨论。
引用save(@Required String name,int age);
play框架里允许用annotation表达验证。
联想开来,任何类的方法其实都可以这么做,包括DAO,Service层。
我们可以发明各种annotation用于验证,比如:
引用
NotNull,
IntegerBetween(1,100)
RegExp("\d+")
。。。etc。
然后配合AOP。
这样一来,我们就不必在函数的开头写
引用
if(name==null)
throw new NullPointException();
if(a ...
刚刚看到一则介绍HTML5的近况的博文,显然比几个月前的情况又强大了许多。
引用
◆二维绘图API,可以用在一个新的画布(Canvas)元素上以呈现图像、游戏图形或者其他运行中的可视图形。
canvas, pixel draw
◆一个允许web应用 ...
- 2009-11-03 11:31
- 浏览 2030
- 评论(1)
当用户说要有增删改功能(前提是表结构已经设计好了)。
几乎所有的程序员都明白了这个需求的全部含义。然后埋头干活去了。往往开发的代码数量远远大于3行。可能做了30天。
为什么需求描述和实现的工作量如此不对称呢?
仔细分析之后,发现问题在于:需求里的词汇非常抽象,属于专业词汇。而开发平台是非常通用的,2者不在一个抽象层次。
假设存在一个相应的开发平台,那么,开发也就非常简单,简单到在增删改3个复选框上打勾而已。
用户的需求可能是任意的。这里的任意指抽象层次。比如在那个3字需求之上,又要求字体用宋体。或者又要求在内存256的机器上运行。……
显然,上述要求,或者说约束是属于不同抽象级别的。我们假想的 ...
本来我是不打算看这个《代码大全》的,同理,也不想看《effective java》的。总觉得我的目标是做个架构师,做设计。这2本书显然是以coder为对象的。
不知道为什么,我还是决定拿起来随便看看。才看了个头,就觉得很值了。
me ...
当然,我没有机会去亲历google io。我是从其网站上看的视频。
google依然很明显的表达着用web取代os作为客户端应用开发平台的野心。
1 其chrome浏览器最近能利用3d引擎,利用gpu,说明3d游戏可以在浏览器里开发了。
2 google和apple在推的html5。关键一点是将拥有画布元素。有了画布,一切将皆有可能。我们完全可以用js构建出一套又一套的组件模型框架,类似swing之类的东西。不必使用标准组件的同时,也失去了标准的好处。
3 我没有看到任何对web服务器方面的增强。
我觉得新增的几个tag,比如video,db,canvas,其实从技术上都不是什么新东西。这些 ...
今天在画类图的时候,想到一本书里讲过:“如果你要增加灵活性,就增加一层,反之亦然”。
它这句话的意思很好理解,比如:
A-B 2个实体对象是一一对应的,一旦你想增加灵活性,就在AB之间增加一个C。C是映射AB关系的实体。
上述的实体可以是表,对象,或者任何数据。
我觉得这句话真的很精辟。令我联想到我们身上的DNA。类图其实就是一种很类似DNA图的东西。我们搞计算机软件建模的人,最终都是要在内存里复制一个现实世界的无限接近版本。
所以,上述实体还可以是原子,分子,蛋白质,。。。
- 2009-05-06 17:25
- 浏览 753
- 评论(0)
最近眼看着老婆玩开心网玩得很投入。很多人半夜起来偷人家地理的花花草草。已经达到疯狂的境界。她和她的朋友们会在半夜以后的任何一个时间里起床上线。
作为一个有经历的老游戏迷,我告诉她,“你需要一个外挂,有了它,你就不必半夜起床了。”作为一个菜鸟,她不知道外挂是什么。我告诉她就像一个机器人,会自动帮你停车偷菜。我不知道现在是否已经有开心网的外挂产生了,但我很肯定有市场就有人去做。我只是没想到,开心网其实是一个网游。
然后,作为一个职业程序员,我竟然把外挂和自动化功能测试联系到了一起。只是2者的目的不同,但东西却是一样的。理论上,内挂被泄露出去,被用户用了,就是外挂了。
- 2009-05-01 06:27
- 浏览 1405
- 评论(0)
今天突然想到WEB开发还有一种方式似乎还没有人搞过。就是把客户端的DOM搬到server端,即java版的DOM。然后,就像ORM把数据库映射到java里。咱来个Object Markup Mapping(OMM)。然后,就像用jquery之类的办法去修改页面,得到需要的动态页面。
我详细一点说,就是:
先有一个静态的html文件。
然后有一个工具,把html解析起来,得到内存中的DOM。
然后,根据类似jquery的selector的思路,去调整页面的动态部分。
最后,这个DOM自然可以随时输出对应的html文本,返回到客户端。
如果由此基础上继续前进,很可能引入比DOM更高级的界面组件, ...
来JE也有一段时间了,基本上对这个论坛还是很满意的。
出于爱心,现提几点想法:
1. 论坛里设置的“赞同/反对”功能似乎很少有人使用。设置这个功能的初衷肯定是好的。为什么大家都不用呢?
2. 论坛的新帖似乎不多,老是拿一些老贴反复深入的探讨。
3. JE已经有了每月热点推荐,这很好,能不能更进一步,推出视屏版的专家点评呢?比如robin及其他专家高手大牛每月/每周,坐在摄像机前点评热贴。然后JER们去土豆或者下载来看。
我个人还是更喜欢树状结构的回帖。这样就少些引用,谁回复谁是很明白了。有了树状结构以后,大家是不是会更有意识去投“赞同/反对”票呢?我觉得很有可能。
以上想法基本是基于我对d ...
- 2009-04-17 16:16
- 浏览 1977
- 评论(62)
最近同事想通过自定义函数来输出国际化文字。比如:
${my:i18n('login.userid')}.
EL支持我们自定义这样的函数,问题是这个函数没法获取request对象,不知道当前页面的语言。
由此我想到threadlocal也许可以解决这个问题。
我的思路是 ...