Gradle 1-2-3
上一篇提到了Gradle,没想到这么快就用上了。Twitter的Scala教程1基本看完之后,就开始看《Scala in Action》2了,作者在书的第二章给出了一个例子:用Scala写一个Http客户端,实现命令模式的REST请求交互,在例子中作者使用了Jetty/Maven构建后台的Java Servlet。我想这是一个学习Gradle的好机会,于是就有了Gradle的1-2-3作为入门篇。
上一篇提到了Gradle,没想到这么快就用上了。Twitter的Scala教程1基本看完之后,就开始看《Scala in Action》2了,作者在书的第二章给出了一个例子:用Scala写一个Http客户端,实现命令模式的REST请求交互,在例子中作者使用了Jetty/Maven构建后台的Java Servlet。我想这是一个学习Gradle的好机会,于是就有了Gradle的1-2-3作为入门篇。
正在学习Twitter的Scala教程,前面的基础部分就是复习,相对容易理解一些。一看到Advanced Types这一节,尤其是后面的部分就有点缺氧。终于熬着算是看完了这一节,心想:这下轻松了,看看SBT(Simple Build Tool),动手实验一下,没有那么多抽象概念了,多好!谁知道还是想错了,SBT并不简单。
花了两周左右的零散时间把这本书的免费部分(初级语法/A1 Level/共9章)读完了,同时也做完了比较有代表性的习题。感觉有些收获,起码对Scala语言有了基本的认识,并且通过上手操练,也积累了一些入门经验。不过,由于Scala的一些语法还是比较反直觉,并且语法规则、编程范式较多,因此距离真正掌握这门语言还差得远。本书中提到了Scala语言创建者Martin Odersky对于Scala开发技能的水平划分(见下图),我应该刚刚才达到A1水平。
春节这几天学习了一下Scala,因为每天时间都非常有限,也就平均1到2个小时的样子,所以只关注了两个资源,一个是Coursera上Scala语言发明者Martin Odersky的Functional Programming Principles in Scala课程,另一个是Typesafe上的电子书Scala for the impatient。
Coursera上的课程还是不错的,很正宗、原汁原味,对于深入理解Scala的函数式编程范式非常有帮助,但是后面的一些内容对于应用开发者来说应该是有点难了(呵呵,我自己感受啊),更适用于中高级应用开发或者库开发者,所以在看完了前5周的课程之后,为了能重新巩固基础,我使用了第二个资源,即Scala for the impatient。作为后续的学习计划,当然还是要学完Coursera,然后把课程中推荐的书看一下。
之前一直在Ubuntu Linux上写博客,不是很方便。今天抽空把Windows的环境也搭一搭。我自己电脑用的是Windows 8,不过本文对于大多数版本的Windows环境都适用。
首先,移步到Hexo的官方博客,找到Windows下部署的博文,先把基础环境搭好。博主写得很详细,而且通俗易懂,就不用我多废话了。如果你是刚开始用Hexo写博客,就直接用这个当向导就可以了,如果你像我一样是从Linux下迁移过来的,那么需要把Node.js和Hexo环境安装好,然后按照下面的步骤继续进行。
GORM是Grails中的一项关键技术,也就是Grails的ORM层,对底层的Hibernate进行了包装,提供了特定的语法,并兼容原有的数据>库查询方式如HQL等。
根据官方推荐的教程GORM Recipes,我们可以逐步了解如何使用GORM的方式进行
数据库表的操作(教程的例子中使用了两个表,是一对多的关系),并举例说明了如何执行常见的SQL查询。由于原来的test-bed代
码是基于Grails 2.0.4的,如果直接下载使用会报错,所以我用grails create-app
新建了一个项目,然后把相关代码导入到这个
新项目中就可以运行了。除了框架之外,实际上主要是BootStrap.groovy
和domain中的Artist.groovy
、Work.groovy
三个文>件作为支持代码。我把原来教程的脚本练习了一遍,并把联系的脚本源码放到scripts目录中,然后fork了一个repo,地址在:GORM Recipes for Grails 2.3.5,可供参考。
在Grails官方网站推荐的教程里,选择了一个初学者教程,看起来不费力。前面讲解一些理论知识如MVC、Groovy、ORM等,讲得不错,简明扼要;然后讲到GORM,这个还是需要动手实验一下的,但是文中的教程实操性不强,于是找到另一篇Grails/MySQL的使用指南做实验(官方没有这方面的详细教程)。