Groovy
MirComp: computer music composition framework
Groovy shines to produce DSLs. This is a great example; an open source Computer Music Software for assisted and algorithmic music composition.
Using the Inject Method
@mrhaki explains:
Groovy has some features and methods we can categorize as functional programming. The inject() method is a so called higher-order function. Other languages call it a fold, reduce or accumulate. The inject() method processes a data structure with a closure and builds up a return value.
Preview of Groovy 3
This blog post was originally posted in Chinesse by @daniel_sun.
Highlights:
- Improves in the loop statement
- Do-while statement example
- Supports Lambda expressions
- Support method reference (reference) and constructor reference (constructor reference)
- Support for try-with-resources statements
- Support for code blocks
- Support Java-style array initialization
- Support interface default method (default method)
- New Operators. Consistency operato, Elvis assignment ...
- Support for secure retrieval
- Supports runtime Groovydoc and saves Groovydoc as metadata in the AST node
Grails
Multitenancy, Grails and me
@lucastex gives an introduction about Multitenancy support in Grails across different versions.
Currently, GORM hibernate implementation offers a multitenancy solution out-of-the-box. He illustrates with an example a common use case for SaaS solutions:
one schema for all customers and using a column in each table to discriminate tenants
Using HAL with JSON Views
Last week Grails Guide, shows JSON Views HAL capabilities:
The purpose of HAL is make APIs "discoverable" - it defines a set of conventions that allow consumers of your API to follow links between resources, as well as providing pagination and other convenience features for "exploring" an API
Grails + Javascript
Grails Angular Profiles
If you were using Grails Angular profiles, this blog post by @Schlogen is a must read for.
Grails 3 Angular profiles have been renamed in order to be consistent with the Angular teamโs guidelines on naming conventions.
The goal of this change was to make determining which profile/scaffolding plugin should be used less confusing in the future.
Comment
Groovy Calamari is two years old ๐๐. 17th of April 2015, I sent the first issue of this newsletter.
Thanks to every reader and most importantly thanks to every content author who makes this newsletter possible.
Groovy 2.x already empowers amazing DSLs (see link below for such an example). However, I am looking forward to see what you guys are capable to built with Groovy 3 (see link below).
Sergio del Amo