{"product_id":"groovy-in-action-2-e-pcovers-groovy-2-4-p","title":"Groovy in Action, 2\/E","description":"\u003cp\u003e\u003cspan class=\"a-text-italic\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-style: italic\u003eGroovy in Action, Second Edition\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e is a thoroughly revised, comprehensive guide to Groovy programming. It introduces Java developers to the dynamic features that Groovy provides, and shows how to apply Groovy to a range of tasks including building new apps, integration with existing code, and DSL development. Covers Groovy 2.4.\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003ePurchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan class=\"a-text-bold\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-weight:\u003eAbout the Technology\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003eIn the last ten years, Groovy has become an integral part of a Java developer's toolbox. Its comfortable, common-sense design, seamless integration with Java, and rich ecosystem that includes the Grails web framework, the Gradle build system, and Spock testing platform have created a large Groovy community\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan class=\"a-text-bold\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-weight:\u003eAbout the Book\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan class=\"a-text-italic\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-style: italic\u003eGroovy in Action, Second Edition\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e is the undisputed definitive reference on the Groovy language. Written by core members of the Groovy language team, this book presents Groovy like no other can—from the inside out. With relevant examples, careful explanations of Groovy's key concepts and features, and insightful coverage of how to use Groovy in-production tasks, including building new applications, integration with existing code, and DSL development, this is the only book you'll need. Updated for Groovy 2.4.\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003eSome experience with Java or another programming language is helpful. No Groovy experience is assumed.\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan class=\"a-text-bold\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-weight:\u003eWhat's Inside\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e\u003c\/span\u003e\u003c\/p\u003e\u003cul class=\"a-unordered-list a-vertical\" style=\"box-sizing: border-box; margin: 0px 0px 0px 18px; color: rgb(15, 17, 17); padding-right: 0px; padding-left: 0px; font-family: \" amazon ember arial sans-serif font-size:=\"\"\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eComprehensive coverage of Groovy 2.4 including language features, libraries, and AST transformations\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eDynamic, static, and extensible typing\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eConcurrency: actors, data parallelism, and dataflow\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eApplying Groovy: Java integration, XML, SQL, testing, and domain-specific language support\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: disc; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eHundreds of reusable examples\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e\u003c\/span\u003e\u003cbr style=\"box-sizing: border-box;\"\u003e\u003cspan class=\"a-text-bold\" style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size: font-weight:\u003eTable of Contents\u003c\/span\u003e\u003cspan style=\"box-sizing: border-box; color: rgb(15, 17, 17); font-family: \" amazon ember arial sans-serif font-size:\u003e\u003c\/span\u003e\u003c\/p\u003e\u003col class=\"a-ordered-list a-vertical\" style=\"box-sizing: border-box; margin: 0px 0px 0px 20px; color: rgb(15, 17, 17); padding-right: 0px; padding-left: 0px; font-family: \" amazon ember arial sans-serif font-size:=\"\"\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\n\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003c\/span\u003e\u003ch5 style=\"box-sizing: border-box; padding: 0px; margin: 0px; font-weight: 700; font-size: 14px; line-height: 20px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box;\"\u003ePART 1 THE GROOVY LANGUAGE\u003c\/span\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eYour way to Groovy\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eOverture: Groovy basics\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eSimple Groovy datatypes\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eCollective Groovy datatypes\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWorking with closures\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eGroovy control structures\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eObject orientation, Groovy style\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eDynamic programming with Groovy\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eCompile-time metaprogramming and AST transformations\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eGroovy as a static language\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\n\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003c\/span\u003e\u003ch5 style=\"box-sizing: border-box; padding: 0px; margin: 0px; font-weight: 700; font-size: 14px; line-height: 20px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box;\"\u003ePART 2 AROUND THE GROOVY LIBRARY\u003c\/span\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWorking with builders\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWorking with the GDK\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eDatabase programming with Groovy\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eWorking with XML and JSON\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eInteracting with Web Services\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eIntegrating Groovy\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\n\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003c\/span\u003e\u003ch5 style=\"box-sizing: border-box; padding: 0px; margin: 0px; font-weight: 700; font-size: 14px; line-height: 20px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003e\u003cspan style=\"box-sizing: border-box;\"\u003ePART 3 APPLIED GROOVY\u003c\/span\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eUnit testing with Groovy\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eConcurrent Groovy with GPars\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eDomain-specific languages\u003c\/span\u003e\u003c\/li\u003e\n\u003cli style=\"box-sizing: border-box; list-style: decimal; overflow-wrap: break-word; margin: 0px;\"\u003e\u003cspan class=\"a-list-item\" style=\"box-sizing: border-box;\"\u003eThe Groovy ecosystem\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Manning Publications","offers":[{"title":"Paperback","offer_id":50506255237190,"sku":"9781935182443","price":5318.0,"currency_code":"INR","in_stock":true},{"title":"E-Book","offer_id":50506255269958,"sku":"9781935182443-2","price":5121.0,"currency_code":"INR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0754\/2797\/1142\/files\/koenig2.png?v=1790324343","url":"https:\/\/cb-india.com\/products\/groovy-in-action-2-e-pcovers-groovy-2-4-p","provider":"Computer Bookshop (India) Pvt Ltd","version":"1.0","type":"link"}