- 浏览: 39383 次
- 性别:
- 来自: 西安
最新评论
-
wxy5001:
弱弱的问一下,webkit是什么?
破解弱Captcha……只需26行多点Groovy代码 -
robertliudeqiang:
murainwood 写道weihong0427 写道tott ...
Groovy的相关帖子怎么就成了隐藏贴了? -
murainwood:
weihong0427 写道tottichen 写道楼主发错地 ...
Groovy的相关帖子怎么就成了隐藏贴了? -
robertliudeqiang:
引用有没有好的意义,不是一个人说了算的,既然这里讲究一言堂.. ...
Groovy的相关帖子怎么就成了隐藏贴了? -
weihong0427:
tottichen 写道楼主发错地方了···最多只能发到入门讨 ...
Groovy的相关帖子怎么就成了隐藏贴了?
文章列表
总是有伙计不愿看英文的文档,这里针对这些仁兄推出了Grails 1.2参考文档速读,有兴趣可以看看,很不错的学习材料,当然是中文的喽!
Grails 1.2参考文档速读(1):第1、2章
Grails 1.2参考文档速读(2):配置基础和环境
Grails 1.2参考文档速读(3):日志配置
Grails 1.2参考文档速读(4):第3章剩余内容
Grails 1.2参考文档速读(5):第4章
Grails 1.2参考文档速读(6):GORM基础和关系建模
Grails 1.2参考文档速读(7):GORM建模的其余事项及持久化基 ...
总是有伙计不愿看英文的文档,这里针对这些仁兄推出了Grails 1.2参考文档速读,有兴趣可以看看,很不错的学习材料,当然是中文的喽!
Grails 1.2参考文档速读(1):第1、2章
Grails 1.2参考文档速读(2):配置基础和环境
Grails 1.2参考文档速读(3):日志配置
Grails 1.2参考文档速读(4):第3章剩余内容
Grails 1.2参考文档速读(5):第4章
Grails 1.2参考文档速读(6):GORM基础和关系建模
Grails 1.2参考文档速读(7):GORM建模的其余事项及持久化基础
G ...
您的帖子:今天你Groovy了没有 被JavaEye用户投票评为隐藏帖帖,积分-30分。
让我去javaEye站务圈子申诉!我还就发在这里了!继续隐藏继续扣分!或者干脆把这个账户给封了!
是不是JavaEye眼睛里就容不下其他的技术,试问管理员:
1.我这个帖子有灌水的嫌疑么?
2.Groovy/Grails不是基于Java的么?
3.JavaEye是不是讨论技术的地方?
4.看来这个网站是看着某些领导的脸色在运营吧!?
原先还以为这个网站还算有些内容,看来不是了!你稍微说话路数不对,就要扣分,或者直接账户被封,怎么作风跟某些领导有一拼啊?!
TNND!!!简直没有公理!
GPars的SafeVariable(0.8版之前叫做SafeVariable,0.9之后就叫Safe了)类的创作灵感来自Clojure中的Agents,它接收代码(函数)并运行之以修改Agent内部变量。
本质上,agents只允许一个单个agent管理的线程(agent-managed thread)修改其内部状态,从而获得安全性。agent内部的可变变量不能从外部直接访问,相反,需求(处理代码)要被发送给agent,由 agent代表调用者确保依次处理需求。
GPars提供的SafeVariable包装了一个可变状态引用,保持在一个内部属性中,然后其用"<<&qu ...
数据驱动测试和xUnit有自己的优点,但是它们有一个无法回避的问题:不完善的错误定位。如果出现测试失败,你会收到一个错误提示,说明某个方法是产生这个失败的罪魁祸首......但是,如果这个方法里面运行了50~60个assert,哪一次的assert才是幕后黑手呢?数据驱动测试几乎给不出明确的答案。这个时候你能做的就是单步执行,等待错误的重现。好的测试是能够明确的指出失败点并且不会重复自己的执行。这就是Spock推出@Unroll的原因,可以很清楚的找到失败点。
@unroll的具体用法,参见Spock的@Unroll:准确定位测试的失败点
What?Groovy?手机上可以运行Groovy么?Stefan Armbruster在他的博文中给出了回答:可以!
Stefan Armbruster希望在他的至爱手机Nokia N900上运行Groovy,实现步骤很简单。
* 需要手机专用的JDK和JRE,可以从这里下载;
* 将现在的文件解压,放到N900的目录下;
* 下载Groovy;
* 设置环境变量;
export JAVA_HOME=<jdk-dir>
export GROOVY_HOME=<groovy-dir>
...
今天你Groovy了没有
- 博客分类:
- Groovy用户组
正所谓“技多不压身”,Groovy/Grails已经诞生有些年头了,目前Groovy1.7,grails 1.3 M1已经出来了。Groovy/Grails属于那种用了就会爱上的那个“人”。
虽然目前国内使用的人数称不上海量,但是想想Struts、Hibernate、Spring、Rails等工具当年的流行之路,Groovy/Grails的前景还是非常让人期待的。
那我们就来了解一下Grails的工作趋势。
为了更好的活学活用actors,GPars User Guide提供了一些Actor技巧及经典样例,对于有意使用GPars actor的读者来说,这一部分原文一定要读。
原文参见:
GPars(9):Actors技巧及经典样例
Cloud-Foundry是企业级Java云阵营中的一个新兵,开发者可以凭借其在公共的云环境下部署并管理Spring、Grails以及Java应用。那么如何通过CloudFoundry管理 AWS(Amazon Web Services)实例上的多个应用程序,Soeren Glasius在他的CloudFoundry系列博文中给我们讲述了这个过程。这是本系列的第一篇,以Grails的应用为例,向大家讲述了如何部署一个单一的应用程序。
嗯......步骤很简单!
具体步骤请参见原文:Cloud-Foundry让你的网站转起来!
为了易于编写和理解,GPars还提供了一些特殊的Actor。
动态派发Actor
DynamicDispatchActor类是一个池管理的actor,是消息处理代码的另一种形式。通常 DynamicDispatchActor会反复扫描消息,并将收到的消息派发给其某个onMessage(message)方法(类似事件处理的写法),或更简单的使用when handler。DynamicDispatchActor利用了Groovy的动态方法派发机制。下例是onMessage和when混合使用的例子:
代码参见原文
反应式(reactive) Actor
ReactiveActo ...
什么?!还有专门负责测试数据准备的插件?至于么,这个任务应该太简单了!没错,从单个测试来讲,准备测试数据的确简单,但是如果你拥有大量测试用例的时候,事情就变得不那么简单了。前面忘了说一声,这里所指的测 ...
是否考虑过使用Groovy操作Word、Excel等这些Office程序?你很可能会以怀疑的眼光看着我:“Groovy连这也可以?”。说得没错,Groovy确实可以,但是它建立在COM/ActiveX之上的。在这篇Blog中,Kartik Shah使用Scriptom 产生了一个OutLook的报表。
在很多场合,我都在工作时使用MS Outlook Calendar来安排会议、日历等。使用Outlook 2007,你可以在日历上把每个会议/时间块分类。因此,你可以把每个会议分为设计、架构、学习等。使用Groovy Scriptom模块,你可以完成平常用VBScript做的工作。Scr ...
Actors的原理在前一篇“Actors概览”中已有所提及。Actors共享了一个线程池,其中的线程是在actors需要react消息时动态分配的。在消息处理完之后,线程会归还至池中,actor则空闲等待更多消息到来。Actors与底层线程分离,使得很小的线程池即支持多至无限的actors。
用actors创建异步服务
actor为非线程安全代码提供线程安全保证
Actor生命周期方法
线程池管理
避免在actor还没接收到消息之前,主程序就结束了
具体请看原文:
GPars(7):Actors原理
Captcha最常用的一个作用就是防止网站的垃圾评论,但是有人只用26行多点的Groovy代码就实现了一个破解程序,当然这是对那些强度不大的Captcha而言。
作者的意图也很有趣:
我最近读到一篇有趣的文章,讲的是如何使用Python和开源软件来破解某种特殊的Captcha实现。我想看看用Groovy完成同样的事情有多难。
作者以3个图为例进行了说明,使用的是Tesseract-OCR,一个开源的OCR引擎。这似乎预示着什么……看看整个步骤:
1. 读入图片
2. 删除背景噪音
3. 修改图片尺寸
4. 把图片转换成TIF文件
5. 使用Tess ...
GPars支持actor的灵感来自Scala的Actor类库,但不只这些。
Actor是一种基于消息的并发模型,由相互交换消息且没有可变共享状态的独立活动对象构建而来。Actor能够使开发者避免死锁、或锁或饿死等共享内存典型并发问题,同时还利用到了当今硬件的多核特点。
Actor保证了某一时刻actor体至多只有一个线程处理,每次线程被分配共一个actor时内存已经得到同步。因此在actor体中修改actor的状态是安全的,没必要载使用额外(同步或锁)。理想情况下,actor的代码不应该直接从外部调用,actor类的代码只是用来执行处理最后收到的消息,因而actor代码的线程安全是隐含的。如果 ...