只显示主题贴
在偶开始喷SOA之前,让偶们先来看看一段大家都熟悉的历史:
1. 1999~2001之间EJB被各大厂商热炒 (IBM, Bea, Oracle, etc...)
2. 广告铺天盖地, Transaction, Security, Spec, Architecture, Remote procedure calls, Code reuse, Assembly等等buzz word犹如苍蝇成天在你耳边绕
3. 大型项目设计,企业系统构建,言必称采用先进的EJB技术云云
4. 各个银行,证券,保险,大型企业项目都被挂上成功的EJB技术光环
但是后续的发展事实呢:
1. EJB规范1.0及其难用, ...
- 进入论坛 Java 版
儿子:爸爸,为什么太阳到了晚上就不见了呢
爸爸:因为地球!@#$%转动#$%!@
儿子:我们可以让地球不转吗?
爸爸:......
爸爸:我们可以做个太阳储存罐,让它晚上也可以看到:
儿子:酷呆了
材料:
1. 玻璃罐 (宜家有卖一种矮矮胖胖的厨房储物罐,效果不错)
2. 太阳能电池版
3. 蓄电池
4. 充电电路
5. LED
6. 光感探头 (2~6可以买一个草坪或者庭院太阳能灯,然后拆出来,也可以单独买零件,淘宝上都有卖)
7. 磨沙纸
组装:
将太阳能电池板固定在罐子盖上:
将充电电路,蓄电池,LED安装在电池板下方,光感探头放在电池板的旁边:
围好磨沙纸
这样一切O ...
- 进入论坛 海阔天空 版
Gesture是指利用肢体语言传递某种信息,FireFox的Gestures插件则可以让偶们利用鼠标动作来实现便捷的操作(貌似是从opera偷的想法)
http://optimoz.mozdev.org/gestures/index.html
举个例子,偶们可以通过按住鼠标右键然后把鼠标向左拖动来达到点击back按钮的效果:
同样的forward:
这个Gesture插件比较强大的一点是支持Javascript功能,偶们可以利用这个功能,来做很多好玩又好用的自定义鼠标轨迹,比如:
var document = window._content.document;
var l ...
- 进入论坛 海阔天空 版
偶用Freemarker做模本语言有一段时间了,列出几个和JSP或者Velocity相比起来比较方便的用途,目的是引诱更多的人跳上Freemarker这个贼船,:evil:
1. String内置的JavaScript转换: js_string
用途:用于JavaScript转义,转换',",换行等特殊字符
模板:
<script>
alert("${errorMessage?js_string}");
</script>
输出:
<script>
alert("Readonly\'s pet name is \"Cross Bo ...
- 进入论坛 Java 版
cjdbc ( http://c-jdbc.objectweb.org/ ) 是一个open source的数据库集群中间件,任何基于jdbc的应用都可以通过它透明地访问数据库集群,它可以进行各个节点之间的数据复制,并且可以实现各个节点的查询负载均衡。通过这样的软件,偶们可以方便的实现RAIDb - Redundant Array of Inexpensive Database 廉价数据库冗余阵列 (借鉴了RAID的想法,真的很cool) 。
先来看看以前偶们的系统是这个样子的:
是基于hibernate和mysql,虽然hibernate提供了cache, lazy load这些对于提 ...
- 进入论坛 Java 版
偶们经常会遇到一些用户需求, 需要实现一个区间类型的东东:
public class Entity {
private Date startDate;
private Date endDate;
private ......;
}
如项目的开始/结束时间, 人员的任职期间等等
但是如要比较这个对象和其他对象区间的关系, 就得写一些恶心的code:
if(this.startDate > that.startDate && this.endDate < that.endDate)
if(this.startDate < that.startDate ...
- 进入论坛 Java 版
ActiveWidgets ( http://www.activewidgets.com/ )是偶所知道的几个优秀open source javascript lib之一, 今天看到大家讨论UI这么热烈, 偶也来插一脚, 来介绍一下.
看主页上你可能仅仅以为它只是一个grid lib, 其实它的grid是架构在其基础的javascript lib之上, 它的基础lib做得很不错, 可扩展性较强.
偶们来看一下用它实现一个grid的代码 (http://www.activewidgets.com/documentation/tutorial/grid/data-xmlsimple.htm): ...
- 进入论坛 AJAX 版
在Java对象里面, 偶们知道一个良好的命名规范会采用大写单词的首字母, 比如订单项这个对象, 偶们会起名为OrderItem, 这样很容易就看出来这个对象是由Order和Item 2个单词组成的, 断词就很容易了, 而属性也是如此, 比如maxPrice, totalPrice等等.
但是如果按照同样的命名规范运到数据库的时候, 由于很多数据库对于表名, 字段名是大小写不敏感的, 所以最常见的策略是加下划线作为断词的依据:
OrderItem -> order_item
maxPrice -> max_price
这样运用Hibernate的时候, 偶们就得手工在mappin ...
- 进入论坛 Java 版
好像论坛上还没有人介绍过Hibernate的Interceptor的用处吧? 那么今天偶来介绍一下: (以下内容基本上和 http://www.hibernate.org/48.html 类似)
举个实际的例子, 偶们有时候会需要做Audit: 一条记录什么时候被谁创建, 以及最近由谁在何时更新, 以前的做法是在代码里面各处分散地写上:
[code:1]
entity.setCreated(new Date());
entity.setCreatedBy(userId);
session.save(entity);
...
- 进入论坛 Java 版
大家好, 偶又回来了, 继续嗡嗡作响的AOP之旅, 废话少说, 先来看看AOP号称给可以带给我们的第一个好东东:
1. Modularized implementation of crosscutting concerns
嘿嘿, 一堆buzzword呢: modularity, crosscutting, concern, 偶来用土话解释一下吧, 就是号称可以把原来需要在N处代码里处理的问题, 移到一处地方来处理.
为了解释这个好处呢, AOP的鼓吹者通常会拿一个日志的例子来说明 (因为它最简单, 最容易实现), 给各位举一个简单的银行帐户的例子:
package readonly. ...
- 进入论坛 Java 版







评论排行榜