摘要: 在Java中調(diào)用存儲(chǔ)過(guò)程是一件比較繁瑣的事情,為了提高開發(fā)效率,我寫了一個(gè)針對(duì)Oracle存儲(chǔ)過(guò)程調(diào)用的DSL。用法和代碼如下所示:
閱讀全文
posted @
2008-05-24 18:12 山風(fēng)小子|
編輯 收藏
各位Grails開發(fā)者和愛好者,大家好!
??? Graeme用Grails實(shí)現(xiàn)了
grails.org官方網(wǎng)站,并提供
源碼供大家學(xué)習(xí)。目前Groovy的性能已經(jīng)達(dá)到了
令人滿意的程度。相信Grails也會(huì)隨著grails.org不斷完善而變得越來(lái)越成熟!
山風(fēng)小子
附:
朝花夕拾——Groovy & Grails
posted @
2008-05-19 21:10 山風(fēng)小子|
編輯 收藏
摘要: 利用Groovy與生俱來(lái)的動(dòng)態(tài)特性,創(chuàng)建DSL(Domain Specific Language)是一件十分容易的事情。
下面通過(guò)一個(gè)例子,向大家展示一下用Groovy創(chuàng)建DSL的優(yōu)雅之處:
閱讀全文
posted @
2008-05-17 00:38 山風(fēng)小子|
編輯 收藏
摘要:
閱讀全文
posted @
2008-05-13 22:57 山風(fēng)小子|
編輯 收藏
在Groovy 1.6.0 BETA 1中引入了@Bindable這一新的Annotation,該Annotation在Swing編程中使用起來(lái)尤為方便,下面給出一個(gè)實(shí)例供大家參考。其內(nèi)部的實(shí)現(xiàn)原理應(yīng)該是基于Observer模式的。
點(diǎn)擊‘update’按鈕,隨機(jī)更新label的值。請(qǐng)注意,我們僅僅設(shè)置了myBean的屬性prop的值,未對(duì)label進(jìn)行任何的顯式操作(比如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,?山風(fēng)小子']
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
posted @
2008-05-03 16:35 山風(fēng)小子|
編輯 收藏
摘要: Groovy 1.6.0 BETA 1終于發(fā)布了,除了一些BUG修正外,最令人興奮的是,Groovy的運(yùn)行效率有了顯著的提升。官方用Great Language Shootout的基準(zhǔn)測(cè)試得出Groovy 1.6.0 BETA 1的性能相比Groovy 1.5.6 GA,提升了150%~460%。
我利用Groovy 1.6.0 BETA 1將下面解決八皇后問(wèn)題的代碼執(zhí)行10次,結(jié)果如下:
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
經(jīng)過(guò)計(jì)算,Groovy1.6.0BETA1的性能相比Groovy1.5.6GA,提升了542.5%。
閱讀全文
posted @
2008-05-03 11:52 山風(fēng)小子|
編輯 收藏
摘要: 去年即2007年Groovy贏得了JAX一等獎(jiǎng)之后,今年Grails贏得了JAX二等獎(jiǎng)。
這不論是對(duì)Groovy語(yǔ)言還是Grails框架都是一種肯定...
閱讀全文
posted @
2008-04-27 16:17 山風(fēng)小子|
編輯 收藏
摘要: Groovy1.5.6GA是繼Groovy1.5.5GA之后的又一個(gè)bug修正版。該版本除了修正一些bug外,還有一個(gè)很重要的改進(jìn),那就是行號(hào)問(wèn)題。Groovy現(xiàn)在已經(jīng)能夠更好地提供行號(hào)信息了,所以我強(qiáng)烈建議所有的Groovy開發(fā)者都升級(jí)到這個(gè)版本,尤其初學(xué)者。
閱讀全文
posted @
2008-04-26 12:10 山風(fēng)小子|
編輯 收藏
摘要: 寫一個(gè)算法生成n位編碼的編碼串(結(jié)果有多種,任意一種都可以接受)并且符合如下條件:相鄰的兩個(gè)編碼之間有且只能有一位不同,并給出時(shí)間與空間復(fù)雜度
比如 2位的二進(jìn)制的編碼生成的編碼串:00 01 11 10
比如 3位的二進(jìn)制編碼生成的編碼串:001 011 111 101 100 110 010 000
閱讀全文
posted @
2008-04-20 21:13 山風(fēng)小子|
編輯 收藏
Groovy1.5.5不僅是一個(gè)bug修正版更是一個(gè)編譯器性能提升版,Groovy1.5.5的編譯速度要比以前快3~5倍,這對(duì)Grails這樣的項(xiàng)目來(lái)說(shuō)尤為重要,Grails開發(fā)者們都知道Grails支持auto-loading,即修改程序后無(wú)需重啟應(yīng)用服務(wù)器便可生效,而修改生效之前訪問(wèn)應(yīng)用會(huì)感覺比較慢,這是因?yàn)镚rails正在編譯之前修改的程序,所以編譯速度越快,那么修改生效的延遲就越短。
而Groovy1.6.0的第一個(gè)beta版也將在未來(lái)幾個(gè)星期內(nèi)發(fā)布,Groovy1.6.0帶來(lái)不僅僅是編譯方面的性能提升,更是執(zhí)行速度的提升,在Groovy1.6.0中引入了callsite緩存技術(shù),可以大幅提升Groovy1.6.0的執(zhí)行速度,十分值得期待!
下載地址: http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.5.zip
附:
朝花夕拾——Groovy & Grails
posted @
2008-04-15 20:23 山風(fēng)小子|
編輯 收藏
摘要: Grails中的GORM是一個(gè)基于Hibernate開發(fā)出來(lái)的嶄新ORM框架,其優(yōu)點(diǎn)就是無(wú)需任何配置。但早期的GORM有個(gè)不太方便的地方,就是如果想Grails自動(dòng)創(chuàng)建的表名和字段名是由自己制定的,那么我們就不得不使用hibernate的映射文件,這樣就又用回hibernate了。幸好 Grails1.0提供了讓我們DIY表和字段的DSL,使我們可以徹底擺脫XML配置文件的陰影。
遵循“Groovy輕松入門系列”的一貫做法,下面還是以一個(gè)實(shí)例來(lái)說(shuō)明GORM DSL到底是怎么回事,它會(huì)帶給我們多大的便利。
閱讀全文
posted @
2008-04-04 00:53 山風(fēng)小子|
編輯 收藏
摘要: grails-cache插件項(xiàng)目發(fā)起于2007年7月,由于James和我兩人都很忙,中間中斷過(guò)一些時(shí)間。
幾個(gè)星期前,我將整個(gè)grails-cache重寫了一下,這周末將我們Team新成員Bakhtiyor所寫的另外一個(gè)插件的一些功能整合進(jìn)來(lái),并作了一些小重構(gòu)。
現(xiàn)在對(duì)該插件的功能做一些介紹:
閱讀全文
posted @
2008-03-30 23:16 山風(fēng)小子|
編輯 收藏
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
posted @
2008-03-12 20:42 山風(fēng)小子|
編輯 收藏
摘要: Grails1.0.1是Grails1.0發(fā)布以來(lái)的第一個(gè)bug修正版本,主要解決了編碼問(wèn)題和日志問(wèn)題。
閱讀全文
posted @
2008-02-19 20:08 山風(fēng)小子|
編輯 收藏
摘要: Ant的威力在Java界無(wú)人不知,無(wú)人不曉。可惜想在Ant的build.xml中處理邏輯很不方便,幸好在Groovy界出現(xiàn)了Gant (Groovy + Ant),使我們能夠像寫普通程序那樣編寫腳本。本文講解了如何將您所擁有的Ant知識(shí)應(yīng)用到Gant中,并利用Gant大大提高開發(fā)效率。
閱讀全文
posted @
2008-02-16 17:58 山風(fēng)小子|
編輯 收藏
摘要: 片名:金枝欲孽
影片語(yǔ)言:國(guó)語(yǔ)
主演:張可頤 佘詩(shī)曼 黎姿 鄧萃雯 林保怡
影視介紹:
清嘉慶十五年,上承康 、 雍 、乾三代盛 世豐績(jī),再加惡吏和已誅,朝野內(nèi)外一片升平景象。然而,皇帝的后宮中,千百年來(lái),仍是一片了無(wú)休止的爭(zhēng)斗光景,比諸於政壇上男 人們的角逐,更見動(dòng)魄驚心,血肉模糊。此間,六宮之首雖為皇后鈕鈷祿氏,但得寵當(dāng) 道者,實(shí)為另一鈕鈷祿氏如妃。時(shí)值三年一 屆選秀入宮,秀女玉瑩為貴族之後,姿色過(guò)人,遂成為同屆佳麗針對(duì)對(duì)象。另有秀女爾 淳,實(shí)乃內(nèi)務(wù)府徐萬(wàn)田所策動(dòng),話說(shuō)昔日和 貪污成風(fēng),牽動(dòng)朝野上下,萬(wàn)田亦為個(gè)中好者,十?dāng)?shù)年前嘉慶怒斬和,萬(wàn)田膽顫心驚, 只怕追溯株連,想出以美色保命之計(jì),十年 內(nèi)自民間收養(yǎng)姿色卓越之稚女,加以聲色藝訓(xùn)練,以其他朝一登龍門,代為美言,但因 六宮中派系林立,敵我難辨,萬(wàn)田唯有隱密 行事...
↓請(qǐng)右鍵使用“迅雷”下載↓
閱讀全文
posted @
2008-02-12 13:41 山風(fēng)小子|
編輯 收藏
摘要: 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.
閱讀全文
posted @
2008-02-11 16:41 山風(fēng)小子|
編輯 收藏
經(jīng)過(guò)數(shù)月努力,Grails Team終于發(fā)布了Grails1.0Final,Grails0.6之后新增了如下特性:
? ? * 用于遺留數(shù)據(jù)庫(kù)高級(jí)映射的ORM DSL
? ? * 方便地使用過(guò)濾器(Filter)
? ? * 支持內(nèi)容協(xié)商(Content Negotiation)
? ? * 支持REST
? ? * 支持JNDI
Grails0.6之后,新增的特性不多,這是因?yàn)镚rails Team將主要精力放在了消除BUG方面,以確保Grails1.0的穩(wěn)定性!
羨慕RoR的Java開發(fā)者們,現(xiàn)在我們也有穩(wěn)定敏捷的full-stack框架了,
大家不妨體驗(yàn)一下Grails高效開發(fā),
Groovy輕松入門——Grails實(shí)戰(zhàn)基礎(chǔ)篇(更新于2008.02.05)下載地址:
http://dist.codehaus.org/grails/grails-bin-1.0.ziphttp://download.postgresintl.com/grails-bin-1.0.zip附:
朝花夕拾——Groovy & Grails
posted @
2008-02-05 19:57 山風(fēng)小子|
編輯 收藏
摘要: Groovy1.5.2是Groovy1.5.0發(fā)布后的第二bug修正版本(類似于JDK1.5update2),旨在進(jìn)一步提高Groovy的品質(zhì),除了Groovy1.5.1和Groovy1.5.2這兩個(gè)bug修正版本外,還有最后一個(gè)bug修正版本Groovy1.5.3。
最近Groovy Team正致力于提升Groovy的性能,他們研發(fā)出了call site緩存技術(shù),能顯著提升Groovy的整體性能,
部分測(cè)試顯示Groovy的性能提升了2~4倍,這與應(yīng)用場(chǎng)景相關(guān)。
這些優(yōu)化我們將在Groovy1.6中便可體驗(yàn)到 :)
下載:http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.2.zip
下面是Groovy1.5.2修正和改進(jìn)的內(nèi)容:
閱讀全文
posted @
2008-01-30 21:50 山風(fēng)小子|
編輯 收藏
摘要: 利用Groovy對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作是極其方便的,有時(shí)為了熟悉數(shù)據(jù)庫(kù)中的表,需要將表結(jié)構(gòu)導(dǎo)出,并保存為EXCEL格式。
下面所展示的源代碼就能夠很好的滿足我們的需求。(這段代碼依賴jxl和Oracle的jdbc驅(qū)動(dòng))
功能保持不變的條件下,代碼做了一些小調(diào)整,利用Groovy中的強(qiáng)大特性Mixin,使代碼更優(yōu)雅。
導(dǎo)出效果:
閱讀全文
posted @
2008-01-26 20:05 山風(fēng)小子|
編輯 收藏