 |
 |
 |
 |
 |
 |
alt.lang.jre: 感受 Groovy
虽然 Java 语言因其严密性和扩展性的承诺而在整整一代程序员中胜出,但是 Groovy 预示了 Java 平台上的一个编程新时代,这种语言是以方便性、适宜性和敏捷性为出发点定义的。在新的 alt.lang.jre 专栏的第二期文章中,Andrew Glover 对提议添加到 Java 平台的标准编程语言作了非正式的介绍。 |
|
|
|
2004年8月12日 |
|
| |
实战 Groovy: 用 Groovy 更迅速地对 Java 代码进行单元测试 不久以前,developerWorks 的作者 Andrew Glover 撰写了一篇介绍 Groovy 的文章,该文章是alt.lang.jre 系列的一部分,而 Groovy 是一个新提议的用于 Java 平台的标准语言。读者对这篇文章的反应非常热烈,所以我们决定开办这个专栏,提供使用这项热门新技术的实用指导。本文是第一期,将介绍使用 Groovy 和 JUnit 对 Java 代码进行单元测试的一个简单策略。 |
|
|
|
2004年11月29日 |
|
| |
实战 Groovy: 用 Groovy 进行 Ant 脚本编程 Ant 和 Maven 两者在构建处理工具的世界中占统治地位。但是 XML 却凑巧是一种非常没有表现力的配置格式。在“实战 Groovy”这个新系列的第 2 期中,Andrew Glover 将介绍 Groovy 的生成器实用工具,这个工具能够极其容易地把 Groovy 与 Ant 和 Maven 结合在一起,形成更具表现力、更可控的构建。 |
|
|
|
2005年1月10日 |
|
| |
实战 Groovy: 用 Groovy 进行 JDBC 编程
这个月,随着 Andrew Glover 向您演示如何用 GroovySql 构建简单的数据报告应用程序,您对 Groovy 的实用知识会更进一步。GroovySql 结合利用闭包(closure)和迭代器(iterator),把资源管理的负担转移到 Groovy 框架本身,从而简化了 Java 数据库连通性(Java Database Connectivity,JDBC)的编程。 |
|
|
|
2005年1月24日 |
|
| |
实战 Groovy: 使用 Groovy 模板进行 MVC 编程 视图是 MVC 编程的一个重要部分,而 MVC 编程本身又是企业应用程序开发的一个重要组件。在这篇实战 Groovy 的文章中,Andrew Glover 向您介绍了 Groovy 的模板引擎框架是如何用来简化视图编程的,并如何使您的代码更加经久容易维护。 |
|
|
|
2005年3月14日 |
|
| |
实战 Groovy: 用 Groovy 打造服务器端 Groovlet 和 GroovyServer Pages(GSP)框架都是建立在 Java Servlet API 基础之上。不过,与 Strut 和 JSF 不同,Groovy 的服务器端实现不意味着适用于所有情况。相反,它提供了一种快速而又方便地开发服务器端应用程序的简化方法。下面请跟随 Groovy 的鼓吹者 Andrew Glover,听听他如何介绍这些框架,并展示它们的应用。 |
|
|
|
2005年3月28日 |
|
| |
实战 Groovy: 用 Groovy 生成器作标记 Groovy 生成器让您能够利用诸如 Swing 这样的框架来模拟标记语言(如 XML、HTML、Ant) 任务以及 GUI。它们对于快速原型化非常有用,并且正像 Andrew Glover 这个月在“实战 Groovy”专栏中向您展示的那样,当您马上需要可消费的标记时,它们是数据绑定框架的一种便利的替代方案。 |
|
|
|
2005年4月25日 |
|
| |
实战 Groovy: 在 Java 应用程序中加一些 Groovy 进来 您有没有想过在自己相对复杂的 Java 程序中嵌入 Groovy 简单的、易于编写的脚本呢?在这一期 实战 Groovy 系列文章中,Andrew Glover 将介绍把 Groovy 集成到 Java 代码中的多种方法,并解释在什么地方、什么时候适合这么做。 |
|
|
|
2005年6月14日 |
|
| |
实战 Groovy: Groovy 的腾飞 随着 Groovy JSR-1(及其后续发行版本)的发布,Groovy 语法的变化已经规范化 ―― 这意味着如果以前没有对此加以注意,那么现在是开始注意它的时候了。这个月,Groovy 的常驻实践者 Andrew Glover 将介绍 Groovy 语法最重要的变化,以及在经典 Groovy 中找不到的一个方便特性。 |
|
|
|
2005年8月22日 |
|
| |
实战 Groovy: 用 curry 过的闭包进行函数式编程 本文中,作者介绍了如何对标准的闭包(例如闭包复合和 Visitor 设计模式)进行 curry 处理。curry() 方法是由 Haskell Curry 发明的,在 JSR 标准发布之前就已经在 Groovy 语言中了。 |
|
|
|
2005年9月21日 |
|
| |
实战 Groovy: 关于 MOP 和迷你语言 将耳朵贴到地上仔细听 ―― MOP 正在前进!了解一下元对象协议(Meta Object Protocol,MOP)吧,这是一种将应用程序、语言和应用程序构建为 语言的翻新方法。 |
|
|
|
2005年10月20日 |
|
| |
实战 Groovy: 美妙的操作符 Java 取消了操作符重载,但是新兴的 Groovy 又使之浮出水面。在实战 Groovy 定期连载的“Groovy 每日应用”的最后一期中,请随着 Andrew Glover 介绍的三类可重载操作符,重新寻回自己多年来失去的东西。 |
|
|
|
2005年12月5日 |
|
| |
实战 Groovy: 用 Groovy 减少代码冗余 Groovy 简洁的语法将开发人员从那种需要进行代码编译但却无助于表达什么是程序真正想要实现的典型的 Java 结构中解放了出来。在实战 Groovy 系列的这一复兴篇中,Groovy 开发人员兼特约专栏作家 J. Scott Hickey 带您进行一系列对常规 Java 代码和 Groovy 代码的比较,展示这门令人兴奋的语言如何将您解放出来,让您能够专注于编码的重要方面。 |
|
|
|
2006年10月17日 |
|
| |
精通 Grails: 用 Groovy 服务器页面(GSP)改变视图
|
|
|
|
2008年4月1日 |
|
| |
Groovy 使 Spring 更出色,第 1 部分: 集成的基础知识 Spring Framework 为 Web 和企业应用程序提供了坚实的基础。通过支持 Groovy 等动态语言,Spring 添加了一些功能,从而使应用程序架构更加灵活、更具动态性。在包含 2 部分的系列文章的第 1 部分中,您将学习将 Groovy 集成到 Spring 应用程序的基础知识。 |
|
|
|
2009年2月4日 |
|
| |
Groovy 使 Spring 更出色,第 2 部分: 在运行时改变应用程序的行为 Spring Framework 为 Web 和企业应用程序提供坚实的基础。通过支持 Groovy 等动态语言,Spring 添加了一些功能,从而使应用程序架构更加灵活、更具动态性。在这个
“通过 Groovy 使 Spring 更出色” 系列的第 2 期也是最后一期中,您将学习如何使用可动态刷新的 bean 在运行时改变 Spring 应用程序的行为。 |
|
|
|
2009年2月13日 |
|
| |
实战 Groovy: Groovy:Java 程序员的 DSL Groovy 专家 Scott Davis 将重新开始撰写 “实战 Groovy” 系列文章,该系列文章于 2006 年停止编写。作为开篇文章,本文将介绍 Groovy 最近的发展以及 Groovy 当前的状态。然后了解大约从 2009 年开始,使用 Groovy 是多么轻松。 |
|
|
|
2009年3月9日 |
|
| |
使用 Groovy 构建社交网络混搭(Mashup)应用程序 本文介绍如何构建一个 Groovy Mashup 应用程序,用户可以通过它使用 Twitter4J、Google 地图和一点 Ajax 来查看他们在 Twitter 上的好友的地图。 |
|
|
|
2009年4月17日 |
|
| |
实战 Groovy: for each 剖析 在这一期的实战 Groovy 中,Scott Davis 提出了一组非常好的遍历方法,这些方法可以遍历数组、列表、文件、URL 以及很多其它内容。最令人印象深刻的是,Groovy 提供了一种一致的机制来遍历所有这些集合和其它内容。 |
|
|
|
2009年6月5日 |
|
| |
实战 Groovy: 构建和解析 XML 通过本文,您将了解使用 Groovy 分解 XML 是多么地容易。在本期的实战 Groovy 中,作者 Scott Davis 演示了无论您是使用 MarkupBuilder 和 StreamingMarkupBuilder 创建 XML,还是使用 XmlParser 和 XmlSlurper 解析 XML,Groovy 都提供了一系列用于处理这类流行数据格式的工具。 |
|
|
|
2009年6月23日 |
|
| |
实战 Groovy: 使用闭包、ExpandoMetaClass 和类别进行元编程 进入到 Groovy 风格的元编程世界。在运行时向类动态添加方法的能力 —— 甚至 Java 类以及 final Java 类 —— 强大到令人难以置信。不管是用于生产代码、单元测试或介于两者之间的任何内容,即使是最缺乏热情的 Java 开发人员也会对 Groovy 的元编程能力产生兴趣。 |
|
|
|
2009年7月16日 |
|
| |
实战 Groovy: @Delegate 注释 Scott Davis 将继续有关 Groovy 元编程的讨论,这一次他将深入研究 @Delegate 注释,@Delegate 注释模糊了数据类型和行为以及静态和动态类型之间的区别。 |
|
|
|
2009年9月24日 |
|
| |
实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分 在这一期 “实战 Groovy” 中,Scott Davis 要讨论一个令大多数服务器端 Java 开发人员畏惧的主题:Swing。Groovy 的 SwingBuilder 可以让这个强大但复杂的 GUI 框架使用起来简单一些。 |
|
|
|
2009年11月17日 |
|
| |
精通 Groovy 本教程适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java 开发人员。了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习。最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 Java 代码。 |
|
|
|
2008年4月21日 |
|
| |
深入研究 Hierarchical Inherited Rule-Interpreted XML 使用名为 Hierarchical Inherited Rule-Interpreted XML 的 XML 新技术,您可以用动态 Java 属性来替代标准 Java 属性。它允许您使用简单的表达式甚至 Groovy 表达式来定义属性,这些属性的值可以基于应用程序的状态获得,它还让您可以将一个属性文件用于应用程序的多个实例。通过本文介绍的这个简单实用的替换 Java 属性文件的示例,了解如何应用此项技术。 |
|
|
|
2007年7月12日 |
|
| |
动态调用动态语言,第 2 部分: 在运行时寻找、执行和修改脚本 Java 脚本编程 API(Java scripting API)是 Java SE 6 中新增的,它向后兼容 Java SE 5,支持以一种简单且统一的方式在运行时从 Java 应用程序调用数十种脚本语言。本系列的第 1 部分介绍了这个 API 的基本特性。第 2 部分进一步讲解它的功能,演示如何在无需停止并重新启动应用程序的情况下,在运行时执行外部 Ruby、Groovy 和 JavaScript 脚本以修改业务逻辑。 |
|
|
|
2007年9月24日 |
|
| |
JSF 2 简介,第 1 部分: 流线化 Web 应用程序开发 随着 2.0 版本的发布,JavaServer Faces (JSF) 现在可以轻松地实现健壮的、Ajax 风格的 Web 应用程序。本文是共三部分的系列文章的开篇,JSF 2.0 专家组成员 David Geary 将展示如何利用 JSF 2 中的新特性。在这期文章中,您将了解到如何使用 JSF 2 流线化开发,您将使用注释和约定代替 XML 配置,简化导航,并轻松访问资源。并且您将看到如何在您的 JSF 应用程序中使用 Groovy。 |
|
|
|
2009年6月15日 |
|
| |
Java 开发 2.0: 您也可以租用 EC2 在本期 “Java 开发 2.0” 中,Andrew Glover 介绍如何针对 Amazon Elastic Compute Cloud (EC2) 进行开发和部署。了解 EC2 与 Google App Engine 的差异,以及如何使用 Eclipse 插件和简洁的 Groovy 语言在 EC2 上快速地建立和运行简单的 Web 应用程序。 |
|
|
|
2009年10月19日 |
|
| |
使用 Grails 快速开发 Web 应用程序 本教程介绍 Grails,这是一个搭建在动态语言 Groovy 之上的开源 MVC 快速 Web 开发框架。使用 Grails 可以提高 Web 开发的效率,降低 Web 开发的复杂度。本文从 Grails 自动生成代码入手,以示例为中心逐步增加深度与难度,对 Grails 开发进行演示。 |
|
|
|
2007年12月26日 |
|
| |
用 Gant 构建软件 Gant 是一个高度通用的构建框架,通过利用 Groovy 和 Apache Ant,它允许您在使用所有 Ant 功能的同时实现编程逻辑。在本教程中,Andy Glover 将一步一步地引导您了解 Gant 的基础知识。您将了解如何利用 Gant 灵活的特定于领域的语言在构建中定义行为,如何重用 Ant 特性,以及如何定义使构建更高效、甚至更具前摄性的函数。 |
|
|
|
2008年6月10日 |
|
| |
动态调用动态语言,第 1 部分: 引入 Java 脚本 API 我们不需要将动态语言编译为 Java 字节码就可以在 Java 应用程序中使用它们。使用 Java Platform, Standard Edition 6 (Java SE)中添加的脚本包(并且向后兼容 Java SE 5),Java 代码可以在运行时以一种简单、统一的方式调用多种动态语言。本系列文章共分两个部分,第 1 部分将介绍 Java 脚本 API 的各种特性。文章将使用一个简单的 Hello World 应用程序展示 Java 代码如何执行脚本代码以及脚本如何反过来执行 Java 代码。第 2 部分将深入研究 Java 脚本 API 的强大功能。 |
|
|
|
2007年9月14日 |
|
| |
精通 Grails: 构建您的第一个 Grails 应用程序 Java 程序员不需要放弃自己喜爱的语言和已有的开发基础设施就可以采纳一种新型的 Web 开发框架。在这个新推出的每月一期的 精通 Grails 系列的第一期中,Java 专家 Scott Davis 介绍了 Grails,并演示了如何构建您的第一个 Grails 应用程序。 |
|
|
|
2008年2月14日 |
|
| |
精通 Grails: GORM - 有趣的名称,严肃的技术 任何好的 Web 框架都需要一个可靠的持久性策略。在 “精通 Grails” 的第二期文章中,Scott Davis 介绍了 Grails 的对象关系映射(Grails Object Relational Mapping,GORM)API。在本文中将看到用 GORM 能够轻松地在 Grails 应用程序中创建表关系、实施数据验证规则、修改关系数据库。 |
|
|
|
2008年3月7日 |
|
| |
精通 Grails: 使用 Ajax 实现多对多关系 在 Web 应用程序中,多对多(m:m)关系很难处理。在精通 Grails 系列的这一期文章中,Scott Davis 将向您展示如何在 Grails 中成功实现 m:m 关系。了解如何通过 Grails 对象关系映射(Grails Object Relational Mapping,GORM)API 和后端数据库处理多对多关系。学习如何使用 Ajax(Asynchronous JavaScript + XML)流线化用户界面。 |
|
|
|
2008年5月15日 |
|
| |
精通 Grails: Grails 服务和 Google 地图 在精通 Grails 系列的这一期中,Scott Davis 向您展示如何使用免费的 API 和 Web 服务将地图添加到 Grails 应用程序。他仍将使用前面几期的 trip-planner 示例应用程序,并通过地理编码、Google Map 和 Grails 服务进行进一步改进。 |
|
|
|
2008年6月12日 |
|
| |
精通 Grails: Grails 与移动 Web 全球的手机用户已有 33 亿,并且呈上升趋势,而通过手机上网也越来越走俏。因此有开发移动 Web 的特殊需求。在本期的精通 Grails 系列中,Scott Davis 向您讲述了如何让 Grails 应用程序便于手机浏览。 |
|
|
|
2008年7月15日 |
|
| |
精通 Grails: Grails 与遗留数据库 在本期的精通 Grails 中,Scott Davis 探讨了 Grails 能够使用不符合 Grails 命名标准的数据库表的多种方法。如果您的 Java 类已经映射到了遗留的数据库中,Grails 允许您直接使用它们,无需做任何改变。您将看到将 Hibernate HBM 文件以及 Enterprise JavaBeans 3 注释与遗留 Java 类结合使用的例子。 |
|
|
|
2008年8月4日 |
|
| |
精通 Grails: Grails 事件模型 Grails 中的所有内容,从构建脚本到单个工件(比如域类和控制器),都会在应用程序生命周期的关键点抛出事件。在这篇精通 Grails 文章中,您将学习如何设置监听器来捕获这些事件,并且通过自定义行为做出反应。 |
|
|
|
2008年9月12日 |
|
| |
精通 Grails: RESTful Grails 我们生活在 mashup 的时代。创建能够给用户提供所需信息的 Web 页面固然是一个好的出发点,但是要是能够提供原始数据源,从而让其他的 Web 开发人员能够轻易将其与他们自己的应用程序相融合的话,这样岂不是更好。在本期的精通 Grails 中,Scott Davis 将介绍用 Grails 生成 XML 而不是通常的 HTML 的各种方法。 |
|
|
|
2008年10月7日 |
|
| |
精通 Grails: 测试 Grails 应用程序 Grails 可以轻松确保您的应用程序从始至终都远离 Bug。另外一个好处是,您可以利用测试代码生成一组永远是最新的可执行文档。本月由 Grails 的权威 Scott Davis 向您展示如何使用 Grails 进行测试。 |
|
|
|
2008年10月31日 |
|
| |
精通 Grails: 在企业中使用 Grails 在本期的精通 Grails 中,作者 Scott Davis 将解释为何 Grails 已经可以在企业中使用。您将看到如何将 Grails 与企业级库结合使用,包括 Java 管理扩展(Java Management Extensions,JMX)、Spring 和 log4j。 |
|
|
|
2008年12月16日 |
|
| |
精通 Grails: 用 JSON 和 Ajax 实现异步 Grails JavaScript Object Notation(JSON)和 Asynchronous JavaScript + XML(Ajax)是 Web 2.0 开发中的主要技术。在本期的精通 Grails 系列中,作者 Scott Davis 演示了 Grails Web 框架中包括的本地 JSON 和 Ajax 功能。 |
|
|
|
2008年12月23日 |
|
| |
精通 Grails: 改变 Grails 应用程序的外观 在这一期的精通 Grails 中,Scott Davis 演示如何通过使用层叠样式表(CSS)、模板、标记库(TagLib)等技术来对 Grails 应用程序的外观进行有趣的更改。 |
|
|
|
2009年2月17日 |
|
| |
精通 Grails: 用定制 URI 和 codec 优化 Grails 中的 URI 在精通 Grails 系列专栏的这期文章中,Scott Davis 为您展示了如何定制 Grails 为 Web 页面所生成的标准 Uniform
Resource Identifier (URI),从而在 URI 内可以用描述性更好的标题代替主键,这能够让用户以更容易记住且更有意义的途径来获得其寻找的资源。 |
|
|
|
2009年4月28日 |
|
| |
精通 Grails: 身份验证和授权 Grails 提供了组成安全 Web 应用程序所需的所有基本构建模块,包括从简单的登录基础设施到基于角色的授权等各种组件,在本期的精通 Grails 中,Scott Davis 帮助您通过动手操作保护 Grails 应用程序。您还将了解一些插件,可以帮助您以不同的方式扩展应用程序的安全功能。 |
|
|
|
2009年6月18日 |
|
| |
精通 Grails: 文件上传和 Atom 联合 在这一期的精通 Grails 中,Scott Davis 展示如何将文件上传到 Grails 应用程序,并设置一个 Atom syndication feed。完成最后这些部分之后,Blogito 便成为一个完整的博客服务器。 |
|
|
|
2009年7月6日 |
|
| |
精通 Grails: 了解插件 在这一期的精通 Grails 中,Scott Davis 将向您展示 Grails 插件的精彩世界。向应用程序中添加新功能将是一件再简单不过的事情。您将领略插件是如何具有如此魔力的,您还会在 Blogito 应用程序中使用一个插件来实现强大的搜索功能。 |
|
|
|
2009年8月24日 |
|
| |
精通 Grails: 创建自定义插件 在这个 “精通 Grails” 系列中,Scott Davis 将向您展示如何创建您自己的 Grails 插件。一旦您了解创建插件有多么简单,您就会明白为什么现在有 250 多个 Grails 插件可用,而且这个数字还在增加。 |
|
|
|
2009年10月23日 |
|
| |
memcached 和 Grails,第 2 部分:将 memcached 集成到 Grails James Goodwill 使用一个样例 Grails 应用程序和一个基于 Java 的 memcached 客户端完成了他的分为两个部分的 memcached 和 Grails 集成简介。了解如何将 Spymemcached 集成到您用 Grails 构建的联系人管理应用程序,然后尝试使用 memcached 缓存单独的请求结果。您还将使用第 1 部分介绍的 memcached 客户端命令来测试您的新缓存的效果。 |
|
|
|
2009年11月10日 |
|
| |
精通 Grails: 使用 Grails 进行单元测试 在本期精通 Grails 中,Scott Davis 向您展示如何利用 Grails 中包含的 GrailsUnitTestCase 和 ControllerUnitTestCase 类的内置模拟功能。 |
|
|
|
2009年11月23日 |
|
| |