{"id":16333,"date":"2014-12-12T04:59:17","date_gmt":"2014-12-11T23:29:17","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=16333"},"modified":"2015-07-02T17:45:36","modified_gmt":"2015-07-02T12:15:36","slug":"groovy-grails-exchange-2014-london-day-1","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/groovy-grails-exchange-2014-london-day-1\/","title":{"rendered":"Groovy &amp; Grails eXchange 2014, London: Day 1"},"content":{"rendered":"<p>The day finally arrived for which we crossed couple of continents. The onening day of the GGX conference went beyond our expectations and had just the right blend of enthusiasm from the presenters and the audience alike. All the while we were travelling to the venue, we had an inkling that something new was about to be experienced.. and we were not dissapointed.<\/p>\n<div id=\"attachment_16334\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"\/blog\/wp-ttn-blog\/uploads\/2014\/12\/MG_3468.jpg\"><img aria-describedby=\"caption-attachment-16334\" decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-16334\" src=\"\/blog\/wp-ttn-blog\/uploads\/2014\/12\/MG_3468-300x200.jpg\" alt=\"Gods of Grails \" width=\"300\" height=\"200\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2014\/12\/MG_3468-300x200.jpg 300w, \/blog\/wp-ttn-blog\/uploads\/2014\/12\/MG_3468-1024x682.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-16334\" class=\"wp-caption-text\">Gods of Grails<\/p><\/div>\n<p>The opening key note talk was delivered by <strong>Guillaume Laforge<\/strong>, who talked about the <strong>latest\u00a0happenings\u00a0in the world of Groovy<\/strong>. Starting with the similarity between lambda expressions and closures, he moved on to Groovy Traits. While discussing, Laforge also explained how you could easily achieve multiple inheritance using Groovy Traits and how the well known Diamond problem of multiple inheritance has been negated. Many other\u00a0powerful annotations were also talked about like @Builder, @Sortable and @BaseScript.<\/p>\n<p>All in all, a perfect start to the day.<\/p>\n<p>In the second session of the day,<strong> Schalk Cronje <\/strong>convinced on how\u00a0easily one\u00a0could manage I\/O operations on a remote server using <strong>Groovy VFS<\/strong>. Removing all the boiler plate code and replacing it with an easily useable and readable DSL, performing a long listing(ls) on a remote server\u00a0seemed absolutely easy<\/p>\n<p>[groovy]<br \/>\nvfs{<br \/>\n ls &quot;SOME_REMOTE_SERVER_URL&quot; {<br \/>\n   println it<br \/>\n}<br \/>\n[\/groovy]<\/p>\n<p>A similar easy syntax can be found for copy, move and mkdir commands among others. Not being limited to just the base language, a Gradle extension is in the beta stage\u00a0along with a command line utility for the same.<\/p>\n<p>Another eye opener of a session was presented by <strong>Lari Hotari<\/strong> who discussed how dividing your application in &#8220;Vertical Slices&#8221; would be more beneficial in the long run as opposed to the traditional horizontal division of Presentation, Services &amp; Persistence. Ranging from the basic concepts of Coupling and Cohesion to the cost ratio of a monolithic architecture against a microservice driven back-end, Hotari also gave an insight on\u00a0how to effectively transition from a monolithic to a microservice driven architecture.<\/p>\n<p>Among the other sessions presented were<\/p>\n<ul>\n<li>Groovy AST Transformation by <strong>Jeff Brown<\/strong><\/li>\n<li>Feed your Grails Karma by <strong>Vladimir Orany<\/strong><\/li>\n<li>Stateless Authentication for MicroServices by <strong>Alvaro Sanchez<\/strong><\/li>\n<li>Spoctacular Testing by <strong>Russel Winder<\/strong><\/li>\n<li>Groovy for Java developers by <strong>Peter Ledbrook\u00a0<\/strong><\/li>\n<li>Gpars 2014 by <strong>Russel Winder<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>As the day came to an end, it was finally\u00a0wrapped up with a panel discussion consisting of Graeme Rocher, Jeff Brown, Guillame LaForge and Russel Winder in which they took on questions from the audience and a really energetic Peter Ledbrook <a href=\"http:\/\/www.tothenew.com\/grails-application-development\">on the future of Grails<\/a>, how Groovy stacks up against the latest developments in Java 8 and much more.<\/p>\n<p>You had to be here\u00a0to experience it all. If not, Day\u00a02 is\u00a0still an upcoming opportunity to be utilized !!!<\/p>\n<p>Chandan Luthra<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The day finally arrived for which we crossed couple of continents. The onening day of the GGX conference went beyond our expectations and had just the right blend of enthusiasm from the presenters and the audience alike. All the while we were travelling to the venue, we had an inkling that something new was about [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1},"categories":[7],"tags":[1251,4840,9,1574],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/16333"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=16333"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/16333\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=16333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=16333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=16333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}