花钱的年华

江南白衣,公众号:春天的旁边

SpringSide公告集

| Filed under 技术

SpringSide4.0 GA的例行Encore返场,一个纯bugfix的版本。然后4.1版就在路上了, 大家希望见到什么新演示请留言。   2012-12-16

 

经过漫长的7个月和6个RC版本后,SpringSide 4.0的稳定版终于赶在黄石公园爆发前上画了。《一代宗师》还是留给外星人看吧!! 2012-10-7

深受PlayFramework 2.0刺激的SpringSide4.0 RC4发布了,更简洁清新的Todo-List示例,按个回车就快速重载应用的Jetty Server,简简单单如在大学城里踩单车才是正经事。 2012-8-28

以中央电视台播音员的沉闷语调宣布:“各位观众请注意,Springside 4.0 RC3版,已于前夜凌晨发布完毕,感觉良好。” 2012-5-1

三周一个迭代的时间到了,SpringSide 4.0 RC2发布。虽然是一个人为所欲为的Solo项目,但还是喜欢这种固定节奏的优雅。 2012-3-26

(Caption: 西班牙王妃和法莫道不消魂国第一夫人,节奏)

我也过上云上的日子了。JenkinsHosting.com在亚马逊云上的Jenkins服务,开源的项目有免费的午餐。2012-2-29

(Caption: 《云上的日子》剧照 )

SpringSide迁移到GitHub了, 好高端,好洋气。感谢@开源中国 友情客串的域名跳转。 2012-2-29

技术电子书

| Filed under 技术

昨晚在一个不道德的网站上逛了一圈,翻回来几本书,<Cloud Architecture Patterns>,这书名,Cloud、Architecture、Pattern占全了。<REST API Design Rulebook> 这书名也不弱。<Selenium 2 Testing Tools>,Selenium2的文档简约又凌乱,原来有这书在等着。

by calvin | tags : | 0

技术数则

| Filed under 技术

JavaEE 7.0快出来了, 看着一堆新规范的名字, 才察觉Java还是有些好东西的:JMS 2.0, JAX-RS 2.0, Batch, JSON, JCache, WebSocket, JPA 2.1, Bean Validation 1.1.

(Caption: Since 1999)

JSR 352: Batch Applications for the Java Platform最好玩,论坛上有人吐槽,原本担心IBM会塞一堆它的又笨又重的私货进去,把规范翻完才发现,原来丫是个Spring Batch。

(Caption: 表面下的...)

 

ZooKeeper三个最耀眼的功能:全局的配置文件,分布式锁(同一时间里集群只有一台服务器做某样事情),还有节点的crash监控周知,貌似用手上这个破破的Hazelcast Cache也能做出来呀。传说中的咸菜做出烧鹅味。

(Caption: 继续动物园...)

by calvin | tags : | 0

SpringOne

| Filed under 技术

SpringOne快开了,InfoQ的同学说有没想问的,“有啊,Spring 3.0的主项目看着无所事事的样子,不如在IOC之上整把模块化?OSGI好是好,但就像Gucci的包包,要打个一折才用的起呀。”

by calvin | tags : | 0

技术人生

| Filed under 技术

夜读RFC 3261,对SIP Header里Request-URI, Via, Contact, Route, Record-Route 混乱的不伦关系有了 B级的了解。出门一趟,学会了SIP和Diameter,回来终于是个一身黑衣表情严肃的电信工程师了。

(Caption: 黑衣的工程师)

一个好的架构师要有一双dirty hands。

(Caption: dirty hands)

by calvin | tags : | 0

技术数则

| Filed under 技术

JPA2令人失望,尤其是那个所谓Type-Safed的Criteria API, Gavin King都被怎样一群学院派的大叔包围着啊。这时候,又是Spring站了出来。Spring-Data-JPA,可以让大家各自写了一遍又一遍的BaseJpaDao退散了。

(Caption: Spring-Data-JPA , JPA2 , Gavin King... )

 

JSON也不是在每一个地方都能战胜XML,比如Schema、比如XPath,json-schema也好,jsonPath也好,都非标准化,都缺粉丝。

by calvin | tags : | 0

SpringSide专访

| Filed under 技术

CSDN & JavaEye,为SpringSide做了个专访,昨晚睡眼惺忪的写完,醒来就头版头条了。

内容备份如下:

先做个自我介绍吧!

肖桦,网名江南白衣,"花钱的年华"博主。曾是千禧年互联网创业者,失败的那种。现在是爱立信里一个依然在磨练Craftsmanship的Coding Architect。

SpringSide是什么?为什么要发起这个项目?

SpringSide是以Spring Framework为核心的,Pragmatic风格的JavaEE应用参考示例,是Java世界中的主流技术选型,最佳实践的总结与演示。因为基于Spring也因为对Spring理念的认同,项目起名SpringSide,另外还有个好记的中文名字——“春天的旁边”。

想起做这个项目,是在六七年前元旦辗转反侧的夜晚,想着自己应该为世界留下点什么。写一本书还是做一个开源项目呢? 总感觉书印出来了就没法改了,对我这种完美主义者有点难受。而开源项目,就可以永远年轻,永远生长,永远重构……

然后,做什么项目呢?那时候,淘宝们还没有开始大规模开源自己的技术。国内的原创框架更多是在自娱自乐。所以SprinSide选了一条更低端的路线,将那时候已经太多而不是太少的开源项目粘合在一起,用好,也算是一桩功德了。

SpringSide包含哪些演示项目? 这些项目采用或演示了哪些技术?

SpringSide里含有QuickStart 与 Showcase 一小一大两个示例项目。

QuickStart是一个迷你的TodoList应用,浓缩了一个普通JavaEE应用所需的柴米油盐各种基础技术,从典型的CRUD界面,到赶时髦的Rest API,以及最基础的用户管理功能,可以作为很多项目的初始骨架。

Showcase 则一个五花八门的JavaEE技术大杂烩大派对,如安全、缓存、日志、消息中间件、定时任务等等等等。

SpringSide 4和之前版本相比,有哪些较大改进?

SSH 与 SSH2 发展到高潮后,Spring也进入了一个后Spring的时代,受到各种新兴语言与框架如Play! Framework的围攻。SpringSide 4,演示的就是这个后Spring时代的演进,如何使得avaEE依然是个体面的选择。

一些变动包括 DAO框架转用Spring Data JPA + Hibernate, MVC框架转用Spring MVC 3, Restful框架转用Spring MVC + Spring RestTemplate, CSS框架转用Twitter Bootstrap,安全框架转用Apache Shiro 等等,Selenium升级到WebDriver。

所有变动的目标,都是在代码越来越简单的同时,也保持对工业化大规模开发的支持。比如有些新兴语言框架,高手自己可以写得很快,但不一定适合很多普通程序员一起合作开发与维护。所以有些过度简化的演进,比如完全抛弃XML纯用Annotation的ApplicationContext定义方式,SpringSide并没有使用。

如何基于SpringSide创建新的项目?

SpringSide也是利用Maven的Archetype插件来创建新项目的,在每次版本发布时都会把前面所说的QuickStart项目打包成一个模板项目。用户只要用标准的maven archetype指令,就可以基于QuickStart项目生成自己的项目。

SpringSide采用什么开源协议?对商用有什么限制?

用的是所知最开放的Apache License2,任何的Copy&Paste都是欢迎的。如果有哪个更开放的告诉我吧,因为实在对靠开源赚钱没有过任何想法。

有没有其他开发者参与贡献?

4.0这个大版本暂时只有我一个在主导。不过github真的是一个非常社交化的开源平台,没有了sourceforge、google code那种固定的开发团队的概念。现在谁都可以闯进SpringSide来,改它几行代码,然后向我发起一个Pull Request就可以了。题外话,像Nutz那样精细的贡献者记录,真是值得表扬又让人羡慕的事情。

SpringSide的发布周期?未来的发展方向?

项目坚持了六七年,四个大版本,期间服务器迁徙数次,也有过多次跳票的不良记录。所以很难说出一个固定的发布周期来。最近自己比较希望能做到与白天的项目一样,固定三周一个的迭代,但也并不总能如愿。希望大家能相信我的人品,项目或迟或早,总是会发布的……

至于未来的发展方向,一方面会继续做细JavaEE普通应用的演示,使它与一般的玩具型演示项目有更显眼的区别。一方面会展示更多互联网项目的新潮技术,如NoSQL、ZooKeeper等,毕竟这看起来更有趣。

技术数则

| Filed under 技术

ActiveMQ 和 Solr 都用了ZooKeeper做自己的集群管理和配置服务(这里http://t.cn/hDJx6c ,这里http://t.cn/zlbv5jJ )。这年头,家里没个ZooKeeper,都不好意思说自己在做Scalable的应用。

(Caption: ZooKeeper,动物园管理者)

Twitter Bootstrap快要看到想吐了,像当年的ExtJs。人人都穿一样的衣服,年轻时只知道班尼路和S&K,现在变成优衣库和H&M。

(Caption: 不一样的衣服)

JMeter 2.8发布, 更高效的内存使用,预编译的JSR223脚本。值得奇怪的是,为什么开源的压力与稳定性测试工具,就JMeter一棵独苗?

(Caption: 压力测试)

 

by calvin | tags : | 0

差点做了主持

| Filed under 技术

荣幸的被@霍泰稳 抓来做了#QCon杭州2012#的主持人,负责<Java 20年>这个听名字就很酷的Session。可惜到头来那时刚好不在国内,错失了,放下手中凌乱的代码,去到美丽的杭州,淘宝的杭州,懒洋洋的充上三天电的机会。

(Caption: 泛舟西湖)

 

Node.js初战

| Filed under 技术

Node.js被说得那么好,一直用不上,恨得牙痒痒的。今天忽然想起,可以用来写南端服务器的简单模拟器啊,理论上,写起来快,跑起来更快,多好。马上动手.....半小时后......怎么从XML消息中提取点内容出来都这么难啊。

(Caption: 不要使用Node.js做复杂的模拟器)

by calvin | tags : | 0