Sponsored Link
GR8Conf Early-Bird
This year I am lucky enough to come back to GR8Conf as a speaker. I will be talking about Grails multi project builds and Mapping a tree with Grails.
If you don't have tickets yet, Early Bird tickets are still on. You get a 25% discount if you are Early Bird!!
Use the voucher EARLYBIRD
Geb
Geb Best Practices
@marcinerdmann is Geb project lead. As a Geb enthusiast, attending his talk at Greach was a privilege.
The talk is an advanced Geb talk, and it is full of tips and best practices to get your Geb game to the next level.
Grails
Grails Anti-Pattern: Everything is a Service
@tvinke warns you about an issue you are going to face in any medium to big size Grails project:
You are going to have a lot of Services.
He advocates placing classes such as Builders, Factories, Helpers in src/main/groovy. Then register those classes as Spring Beans. s
He shows how to declare Spring Beans two ways: in resources.groovy or with Component Scanning.
If you don't want to get rid of your services, consider at least two things: A good naming convention across your team (I like suffixes, e.g. GormService ...) and proper packaging.
Grails Anti-Pattern: Locally Optimized Dynamic Finders Everywhere
Dynamic finders have a clear advantage. They are easy to understand, they are readable.
@tvinke cautionary tale encourages you to centralized them in Services.
if all of the queries are in a neat, well-defined place for everyone to see and go to, the most likely it is that team members will default to basic human behaviour follow the defined path, and color within the nicely defined lines of that part of the codebase
Grails Spring Security Core Plugin Custom Authentication
This week we published a Grails Guide about the development of a custom authentication mechanism.
Spring Security Core probably the most used plugin in the ecosystem allows for a big degree of customisation. Explore what it is possible.
Gradle
Making the most of your gradle build
@aalmiray's talk at Greach is full of links to interesting Gradle plugins and tips such as:
- Invoke Gradle anywhere with Gdub
- Define dependencies version numbers in gradle.properties.
- Master your Gradle -Jacoco integration
Comment
Happy Easter 🥚
This issue contains two blog posts about Grails anti-patterns, an advanced Grails Guide to learn more about Spring Security Core, a Gradle talk and a link to my favourite Greach Talk: A Geb 💎
Sergio del Amo