摘要: 在Java中调用存储过程是一件比较繁琐的事情,为了提高开发效率,我写了一个针对Oracle存储过程调用的DSL。用法和代码如下所示:
阅读全文
各位Grails开发者和爱好者,大家好!
Graeme用Grails实现了
grails.org官方网站,并提供
源码供大家学习。目前Groovy的性能已经达到了
令人满意的程度。相信Grails也会随着grails.org不断完善而变得越来越成熟!
山风小子
附:
朝花夕拾——Groovy & Grails
摘要: 利用Groovy与生俱来的动态特性,创建DSL(Domain Specific Language)是一件十分容易的事情。
下面通过一个例子,向大家展示一下用Groovy创建DSL的优雅之处:
阅读全文
摘要:
阅读全文
在Groovy 1.6.0 BETA 1中引入了@Bindable这一新的Annotation,该Annotation在Swing编程中使用起来尤为方便,下面给出一个实例供大家参考。其内部的实现原理应该是基于Observer模式的。
点击‘update’按钮,随机更新label的值。请注意,我们仅仅设置了myBean的属性prop的值,未对label进行任何的显式操作(比如setText)
import groovy.beans.Bindable
import groovy.swing.*
import javax.swing.*
import java.awt.*
class MyBean {
@Bindable
String prop
}
def rand = new Random()
def greetings = ['hello, world', 'hello, Groovy', 'hello, 山风小子']
def myBean = new MyBean(prop:greetings[2])
def swing = new SwingBuilder()
def frame = swing.frame(title:'Bindable Demo', location: [100, 100], size:[300, 100]) {
panel(layout: new GridLayout(1, 2)) {
label(text:bind(source:myBean, sourceProperty:'prop'))
button(action(name:'update', closure: {myBean.prop = greetings[rand.nextInt(3)]}))
}
}
frame.setVisible(true)
附:
朝花夕拾——Groovy & Grails
摘要: Groovy 1.6.0 BETA 1终于发布了,除了一些BUG修正外,最令人兴奋的是,Groovy的运行效率有了显著的提升。官方用Great Language Shootout的基准测试得出Groovy 1.6.0 BETA 1的性能相比Groovy 1.5.6 GA,提升了150%~460%。
我利用Groovy 1.6.0 BETA 1将下面解决八皇后问题的代码执行10次,结果如下:
Groovy1.5.6GA : 1360 1156 969 1000 1063 1110 938 1046 1031 954 1062.7
Groovy1.6.0BETA1: 187 171 141 109 187 156 172 141 203 187 165.4
经过计算,Groovy1.6.0BETA1的性能相比Groovy1.5.6GA,提升了542.5%。
阅读全文
摘要: 去年即2007年Groovy赢得了JAX一等奖之后,今年Grails赢得了JAX二等奖。
这不论是对Groovy语言还是Grails框架都是一种肯定...
阅读全文
摘要: Groovy1.5.6GA是继Groovy1.5.5GA之后的又一个bug修正版。该版本除了修正一些bug外,还有一个很重要的改进,那就是行号问题。Groovy现在已经能够更好地提供行号信息了,所以我强烈建议所有的Groovy开发者都升级到这个版本,尤其初学者。
阅读全文
摘要: 写一个算法生成n位编码的编码串(结果有多种,任意一种都可以接受)并且符合如下条件:相邻的两个编码之间有且只能有一位不同,并给出时间与空间复杂度
比如 2位的二进制的编码生成的编码串:00 01 11 10
比如 3位的二进制编码生成的编码串:001 011 111 101 100 110 010 000
阅读全文
Groovy1.5.5不仅是一个bug修正版更是一个编译器性能提升版,Groovy1.5.5的编译速度要比以前快3~5倍,这对Grails这样的项目来说尤为重要,Grails开发者们都知道Grails支持auto-loading,即修改程序后无需重启应用服务器便可生效,而修改生效之前访问应用会感觉比较慢,这是因为Grails正在编译之前修改的程序,所以编译速度越快,那么修改生效的延迟就越短。
而Groovy1.6.0的第一个beta版也将在未来几个星期内发布,Groovy1.6.0带来不仅仅是编译方面的性能提升,更是执行速度的提升,在Groovy1.6.0中引入了callsite缓存技术,可以大幅提升Groovy1.6.0的执行速度,十分值得期待!
下载地址: http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.5.zip
附:
朝花夕拾——Groovy & Grails
摘要: Grails中的GORM是一个基于Hibernate开发出来的崭新ORM框架,其优点就是无需任何配置。但早期的GORM有个不太方便的地方,就是如果想Grails自动创建的表名和字段名是由自己制定的,那么我们就不得不使用hibernate的映射文件,这样就又用回hibernate了。幸好 Grails1.0提供了让我们DIY表和字段的DSL,使我们可以彻底摆脱XML配置文件的阴影。
遵循“Groovy轻松入门系列”的一贯做法,下面还是以一个实例来说明GORM DSL到底是怎么回事,它会带给我们多大的便利。
阅读全文
摘要: grails-cache插件项目发起于2007年7月,由于James和我两人都很忙,中间中断过一些时间。
几个星期前,我将整个grails-cache重写了一下,这周末将我们Team新成员Bakhtiyor所写的另外一个插件的一些功能整合进来,并作了一些小重构。
现在对该插件的功能做一些介绍:
阅读全文
Hi Groovy & Grails fans,
Agile boy has established a site for us which focuses on Groovy & Grails technology, the link of the site is
http://www.chinagroovy.org/forum/index.phpIf you have any question to ask or ideas to share with others, ChinaGroovy is a good platform for you, welcome to join us!
By the way, I have been developing the grails cache plugin in the recent weeks, which is re-written for better performance and maintainance.
grails-cache v0.1 will be released in a month or two.
Cheers,
Daniel.Sun
摘要: Grails1.0.1是Grails1.0发布以来的第一个bug修正版本,主要解决了编码问题和日志问题。
阅读全文
摘要: Ant的威力在Java界无人不知,无人不晓。可惜想在Ant的build.xml中处理逻辑很不方便,幸好在Groovy界出现了Gant (Groovy + Ant),使我们能够像写普通程序那样编写脚本。本文讲解了如何将您所拥有的Ant知识应用到Gant中,并利用Gant大大提高开发效率。
阅读全文
摘要: 片名:金枝欲孽
影片语言:国语
主演:张可颐 佘诗曼 黎姿 邓萃雯 林保怡
影视介绍:
清嘉庆十五年,上承康 、 雍 、乾三代盛 世丰绩,再加恶吏和已诛,朝野内外一片升平景象。然而,皇帝的后宫中,千百年来,仍是一片了无休止的争斗光景,比诸於政坛上男 人们的角逐,更见动魄惊心,血肉模糊。此间,六宫之首虽为皇后钮钴禄氏,但得宠当 道者,实为另一钮钴禄氏如妃。时值三年一 届选秀入宫,秀女玉莹为贵族之後,姿色过人,遂成为同届佳丽针对对象。另有秀女尔 淳,实乃内务府徐万田所策动,话说昔日和 贪污成风,牵动朝野上下,万田亦为个中好者,十数年前嘉庆怒斩和,万田胆颤心惊, 只怕追溯株连,想出以美色保命之计,十年 内自民间收养姿色卓越之稚女,加以声色艺训练,以其他朝一登龙门,代为美言,但因 六宫中派系林立,敌我难辨,万田唯有隐密 行事...
↓请右键使用“迅雷”下载↓
阅读全文
摘要: The Grails team and G2One, the Groovy/Grails professional services company, have just released the final 1.0 version of Grails, the agile web application development stack, built on best of breed Open Source components such as the Groovy dynamic language, the Spring framework, and the Hibernate ORM solution.
阅读全文
经过数月努力,Grails Team终于发布了Grails1.0Final,Grails0.6之后新增了如下特性:
* 用于遗留数据库高级映射的ORM DSL
* 方便地使用过滤器(Filter)
* 支持内容协商(Content Negotiation)
* 支持REST
* 支持JNDI
Grails0.6之后,新增的特性不多,这是因为Grails Team将主要精力放在了消除BUG方面,以确保Grails1.0的稳定性!
羡慕RoR的Java开发者们,现在我们也有稳定敏捷的full-stack框架了,
大家不妨体验一下Grails高效开发,
Groovy轻松入门——Grails实战基础篇(更新于2008.02.05)下载地址:
http://dist.codehaus.org/grails/grails-bin-1.0.ziphttp://download.postgresintl.com/grails-bin-1.0.zip附:
朝花夕拾——Groovy & Grails
摘要: Groovy1.5.2是Groovy1.5.0发布后的第二bug修正版本(类似于JDK1.5update2),旨在进一步提高Groovy的品质,除了Groovy1.5.1和Groovy1.5.2这两个bug修正版本外,还有最后一个bug修正版本Groovy1.5.3。
最近Groovy Team正致力于提升Groovy的性能,他们研发出了call site缓存技术,能显著提升Groovy的整体性能,
部分测试显示Groovy的性能提升了2~4倍,这与应用场景相关。
这些优化我们将在Groovy1.6中便可体验到 :)
下载:http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.2.zip
下面是Groovy1.5.2修正和改进的内容:
阅读全文
摘要: 利用Groovy对数据库进行操作是极其方便的,有时为了熟悉数据库中的表,需要将表结构导出,并保存为EXCEL格式。
下面所展示的源代码就能够很好的满足我们的需求。(这段代码依赖jxl和Oracle的jdbc驱动)
功能保持不变的条件下,代码做了一些小调整,利用Groovy中的强大特性Mixin,使代码更优雅。
导出效果:
阅读全文