Розповість про те, що зараз для розробника недостатньо знати лише мову програмування, а потрібно ще знати інструменти для розробки, покращення якості коду, CI.
https://phpfriends.club/meetups-5.html
Розповість про те, що зараз для розробника недостатньо знати лише мову програмування, а потрібно ще знати інструменти для розробки, покращення якості коду, CI.
https://phpfriends.club/meetups-5.html
Introduction to GoLang by Amal Mohan N. This presentation is an introduction to GoLang - it's history, features, syntax, importance etc.
concurrency, go-routines, golang, google, gopher, introduction, programming
Thesis - LLVM toolchain support as a plug-in for Eclipse CDTTuononenP
Integrates LLVM toolchain tools to Eclipse CDT IDE. It allows build automation and configuration via GUI. The first and currently the only cross-platform and open-source IDE that supports LLVM via this plug-in.
JavaCro 2016 - From Java to Groovy: Adventure Time!Iván López Martín
Groovy is a dynamic language for the JVM and the natural evolution for a Java developer because its flat learning curve. If you want to know why developing with Groovy is an Adventure Time, this is your talk. You'll learn with examples the main characteristics that make Groovy a powerful and versatile language: dynamic typing, closures, lists and maps handling, power asserts, builders, metaprogramming, scripting, DSL's, AST transformations,... and many more.I can guarantee you that after the talk you'll want to learn more about Groovy and use it in your day at work.
PHP is one of the most commonly used programming languages in the world. Learn about the tools that help PHP keep up with its competitors in the world of web development. Hear about the tools that can be used to help with build and test automation on your PHP project, as well as demonstrations of the Composer dependency manager and PHPUnit.
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOULucas Jellema
Starting a Java application as fast as any executable with a memory footprint rivaling the most lightweight runtime engines is quickly becoming a reality, through Graal VM and ahead of time compilation. This in turn is a major boost for using Java for microservice and especially serverless scenarios. For a long time GraalVM seemed merely an exotic research project in an Oracle lab. However, things are moving fast now. A production ready GraalVM release is available – so we can start to leverage its goodness.
Microservice frameworks like Quarkus fully leverage GraalVM – and Spring is rapidly embracing it as well. The second major pillar of GraalVM is its polyglot capability: it can run code in several languages – JVM and non-JVM such as JavaScript/ES, Python, Ruby, R or even your own DSL. More importantly still: GraalVM enables code running in one language to interoperate with code in another language. Forget Rhino and Nashorn: Java to JavaScript interaction is so much better on GraalVM. Want to leverage Python libraries from Java? Or a C++ routine? GraalVM supports many and increasingly more forms of interoperability.
This session introduces GraalVM, its main capabilities and especially its practical applicability – now and in the near future. There are demonstrations of ahead of time compilation and use of Java based serverless functions with tiny run times and ultrafast startup. Quarkus and Apache Camel on Graal VM are shown and examples are presented of runtime interoperability of various non-JVM languages with Java.
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...corehard_by
Использование сторонних библиотек в языке C++ никогда не было простым - необходимо было правильно собрать их, имея дело с различными системами сборки, но с появлением пакетного менеджера conan.io процесс стал намного проще, так что теперь осталось только сделать пакеты для нужным библиотек, и в этом поможет команда bincrafter-ов.
Introduction to GoLang by Amal Mohan N. This presentation is an introduction to GoLang - it's history, features, syntax, importance etc.
concurrency, go-routines, golang, google, gopher, introduction, programming
Thesis - LLVM toolchain support as a plug-in for Eclipse CDTTuononenP
Integrates LLVM toolchain tools to Eclipse CDT IDE. It allows build automation and configuration via GUI. The first and currently the only cross-platform and open-source IDE that supports LLVM via this plug-in.
JavaCro 2016 - From Java to Groovy: Adventure Time!Iván López Martín
Groovy is a dynamic language for the JVM and the natural evolution for a Java developer because its flat learning curve. If you want to know why developing with Groovy is an Adventure Time, this is your talk. You'll learn with examples the main characteristics that make Groovy a powerful and versatile language: dynamic typing, closures, lists and maps handling, power asserts, builders, metaprogramming, scripting, DSL's, AST transformations,... and many more.I can guarantee you that after the talk you'll want to learn more about Groovy and use it in your day at work.
PHP is one of the most commonly used programming languages in the world. Learn about the tools that help PHP keep up with its competitors in the world of web development. Hear about the tools that can be used to help with build and test automation on your PHP project, as well as demonstrations of the Composer dependency manager and PHPUnit.
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOULucas Jellema
Starting a Java application as fast as any executable with a memory footprint rivaling the most lightweight runtime engines is quickly becoming a reality, through Graal VM and ahead of time compilation. This in turn is a major boost for using Java for microservice and especially serverless scenarios. For a long time GraalVM seemed merely an exotic research project in an Oracle lab. However, things are moving fast now. A production ready GraalVM release is available – so we can start to leverage its goodness.
Microservice frameworks like Quarkus fully leverage GraalVM – and Spring is rapidly embracing it as well. The second major pillar of GraalVM is its polyglot capability: it can run code in several languages – JVM and non-JVM such as JavaScript/ES, Python, Ruby, R or even your own DSL. More importantly still: GraalVM enables code running in one language to interoperate with code in another language. Forget Rhino and Nashorn: Java to JavaScript interaction is so much better on GraalVM. Want to leverage Python libraries from Java? Or a C++ routine? GraalVM supports many and increasingly more forms of interoperability.
This session introduces GraalVM, its main capabilities and especially its practical applicability – now and in the near future. There are demonstrations of ahead of time compilation and use of Java based serverless functions with tiny run times and ultrafast startup. Quarkus and Apache Camel on Graal VM are shown and examples are presented of runtime interoperability of various non-JVM languages with Java.
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...corehard_by
Использование сторонних библиотек в языке C++ никогда не было простым - необходимо было правильно собрать их, имея дело с различными системами сборки, но с появлением пакетного менеджера conan.io процесс стал намного проще, так что теперь осталось только сделать пакеты для нужным библиотек, и в этом поможет команда bincrafter-ов.
Fundraising in 2012. Half of the American population is active on Facebook, but is that the right channel to promote your nonprofit? Twitter has over 145 million users, but what type of content should you be posting? With so many new fundraising channels, how do you combine the old with the new? Join industry Internet thought leader, Frank Barry, to find out what is REALLY HOT and REALLY NOT when it comes to fundraising.
User Experioence - delivering great ux through great uiUday Shankar
Presented at Microsoft TechEd 2009 in June @ Parkcenter, Technopark, Trivandrum, Kerala - India.
I have 'borrowed' some slides/content from presentations created by leaaders on Slideshare. I have mentioned their names and ppt names in the Acknowledgement slide.
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising.
This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.
Geb is a browser automation solution.
Geb uses the power of Selenium WebDriver and more.
Geb + Spock API simplifies test automation using Given-When-Then Concept.
Griffon: Re-imaging Desktop Java TechnologyJames Williams
Griffon is a desktop framework for Java Swing leveraging the dynamic language Groovy and values convention over configuration.
Presented at Devoxx 2008
OSGi enRoute is an OSGi project to make OSGi as easy to use as some of non-java dynamic web development environments but still provide the benefits of OSGi's strong modularity. OSGi makes it easy to get started with OSGi by providing an integrated tool chain with several runtime environments, that uses OSGi as it always was intended to be used. By leveraging OSGi's powerful features like services and the powerful requirement/capability model, development of applications can be significantly simplified.
This presentation will provide an introduction to OSGi, the way it is used in enRoute, and then a demo of how to build an application with enRoute.
Bio:
Peter Kriens is an independent consultant since 1990.He currently works for the OSGi Alliance and Paremus. During the eighties he developed advanced distributed systems for newspapers based on microcomputers based on, at the time very novel, object oriented technologies. For this experience in Objects he was hired by a number of international companies, including Adobe, Intel, Ericsson, IBM, and many others. During his work at Ericsson Research in 1998 he got involved with the OSGi specification; Later he became the primary editor for these specifications. In 2005 he was awarded the OSGi Fellows title. After taking a sabbatical in 2012 to develop jpm4j he returned to the OSGi Alliance to help increasing adoption. He is Dutch but decided to live in France.
Gr8Conf US 2017 - From Java to Groovy: Adventure Time!Iván López Martín
Groovy is a dynamic language for the JVM and the natural evolution for a Java developer because its flat learning curve.
If you want to know why developing with Groovy is an Adventure Time, this is your talk. You'll learn with examples the main characteristics that make Groovy a powerful and versatile language: dynamic typing, closures, lists and maps handling, power asserts, builders, metaprogramming, scripting, DSL's, AST transformations,... and many more. I can guarantee you that after the talk you'll want to learn more about Groovy and use it in your day at work.
GraalVMs native-image ermöglicht es, JVM Bytecode direkt in Maschinencode zu übersetzen. Das daraus resultierende Executable benötigt keine JVM zum Laufen, startet schneller und verbraucht weniger Speicher als eine traditionelle JVM-Anwendung – ein Segen für Cloud Computing, bei dem jeder CPU-Cycle und Megabyte an RAM bezahlt werden muss. Wäre es nicht großartig, wenn unser Lieblingsframework, Spring Boot, GraalVM direkt out of the box unterstützen würde? In diesem Talk zeigt Moritz Halbritter, Spring Boot committer, was mit Spring Boot 3 und Spring Framework 6 alles möglich sein wird und erlaubt auch einen Blick unter die Motorhaube, um zu sehen, wie das alles implementiert ist.
Which one is better - #NodeJS or #Golang? Here's a detailed guide on choosing between #NodeJSvsGolang
https://devathon.com/blog/node-js-vs-or-and-golang/
#programming #coding #software #webdesign #web #development #technology #tech
Java 7 - New Features - by Mihail Stoynov and Svetlin NakovSvetlin Nakov
Java 7 - New Features
Introduction and Chronology
Compressed 64-bit Object Pointers
Garbage-First GC (G1)
Dynamic Languages in JVM
Java Modularity – Project Jigsaw
Language Enhancements (Project Coin)
Strings in Switch
Automatic Resource Management (ARM)
Improved Type Inference for Generic Instance Creation
Improved Type Inference for Generic Instance Creation
Simplified Varargs Method Invocation
Collection Literals
Indexing Access Syntax for Lists and Maps
Language Support for JSR 292
Underscores in Numbers
Binary Literals
Closures for Java
First-class Functions
Function Types
Lambda Expressions
Project Lambda
Extension Methods
Upgrade Class-Loader Architecture
Method to close a URLClassLoader
Unicode 5.1
JSR 203: NIO.2
SCTP (Stream Control Transmission Protocol)
SDP (Sockets Direct Protocol)
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
2. General Information
HomePage - http://groovy.codehaus.org
Groovy is open source using a BSD / Apache style licence
Sun's defacto scripting language (JSR-241)
http://www.jcp.org/en/jsr/detail?id=241
Dynamic Language that is compiled into Java class
bytecode
The company behind Groovy and Grails (G2One) was just
bought by a respectable company called SpringSource (the
same one that does the support for Spring)
70k downloads in November 2007 and growing
3. Benefits
Easy for Java Developers to understand and adopt
Is the Only JVM language interchangeable with Java code
Compiled Groovy classes can be used from Java
Compiled Java classes can be used from Groovy
Can use Java syntax in Groovy seamlessly
Growing community and interest
The company behind Groovy G2One was just bought by a
respectable company called SpringSource
With the new stable release (1.6) that came out last week it
brings forth performance improvements
GroovyConsole provides a quick way to test out any
arbitrary code
4. Benefits over Java
More concise, cleaner syntax and has less syntax noise
than Java
Can be ran as shell scripts (just like Perl)
Closures
Closures are Objects that encapsulate behavior
Have a scope that allows for clean exiting of external
resources without writing explicit code
Closing files gracefully
Closing JDBC connections gracefully
etc
Currying allows to make more concise closures from
other closures by providing defaults to parameters
5. Benefits over Java
MOP - Meta Object Protocol
Allows to inspect any arbitrary object
Helper methods dump() or inspect() will expose the
underlying attributes and their values
Allows addition or modification of methods at runtime
Allows the creation of DSLs
6. Benefits over Java
Builders (a nice and clean patterns that allows to build
complex objects using nested closures)
MarkupBuilder - for HTML, XML etc
JMXBuilder
SwingBuilder
7. Features not Found in Standard Java
The Groovy language is largely a superset of the Java
language. One can usually rename a .java file to a .groovy one
and it will work (though there are a few gotchas). Groovy has a
number of features not found in standard Java.
This makes the learning curve for Java developers almost zero,
since they can start with Java syntax and gradually learn to add
Groovy features. [1] Groovy features not available in Java
include both static and dynamic typing (with the def keyword),
closures, operator overloading, native syntax for lists and
associative arrays (maps), native support for regular
expressions, polymorphic iteration, expressions embedded
inside strings, additional helper methods, and the safe
navigation operator "?." to automatically check for nulls (for
example, "variable?.method()", or "variable?.field")
8. Groovy Modules
COM Scripting — script Windows ActiveX and COM components with
Groovy
Gant
GFreeMarker — an integration of the FreeMarker template engine for
Groovy
GMaven — GMaven provides integration of the Groovy language into
Maven.
Google Data Support — makes using the Google Data APIs easier from
within Groovy
Gram — a simple xdoclet-like tool for processing doclet tags or Java 5
annotations
GraphicsBuilder — GraphicsBuilder is a Groovy builder for Java 2D
Grapplet
Griffon — Dekstop Enhancements for Groovy
Groosh — Provides a shell-like capability for handling external processes.
Groovy Jabber-RPC — allows you to make XML-RPC calls using the
Jabber protocol
9. Groovy Modules
GroovyJMS
GroovyLab — Provides a domain specific language (DSL) for math
engineering (matlab-like syntax).
Groovy Monkey — is a dynamic scripting tool for the Eclipse Platform
GroovyRestlet — Groovy DSL for constructing Restlet application
Groovy Science
Groovy SOAP — create a SOAP server and make calls to remote SOAP
servers using Groovy
GroovySWT — a wrapper around SWT, the eclipse Standard Widget
Toolkit
GroovyWS — GroovySOAP replacement that uses CXF and Java5
features
GSP — means GroovyServer Pages, which is similar to JSP (JavaServer
Pages)
GSQL — supports easier access to databases using Groovy
HTTP Builder — provides a convenient builder API for complex HTTP
requests
JideBuilder — JideBuilder is a Groovy builder for the open source JIDE
10. Groovy Modules
Native Launcher — a native program for launching groovy scripts
Proxy-o-Matic — Proxy-o-Matic lets you create dynamic proxies fast and in
an homogeneous way
Windows NSIS-Installer — a Windows-specific installer for Groovy
Windows Services — framework for Groovy-based WinNT (Windows)
Services
WingSBuilder — WingsBuilder is a Groovy builder for the wingS
Framework
XMLRPC — allows you to create a local XML-RPC server and/or to make
calls on remote XML-RPC servers
Grails — a Groovy-based web framework inspired by Ruby on Rails
GORM — the Grails Object-Relational Mapping persistence framework
GroovyPlugin — A Groovy plugin for JSPWiki
OCM Groovy — A Object Content Mapping implemented in Groovy
leveraging the Java Content Repository (JCR)
Tellurium — A test framework built on top of the Selenium test framework
implemented in Groovy
11. IDE Support
Debugging with JSwat
Eclipse Plugin
IntelliJ IDEA Plugin
IntelliJ IDEA Plugin (JetBrains Edition)
JEdit Plugin
NetBeans Plugin
Oracle JDeveloper Plugin
Other Plugins
TextMate
13. Groovy Books
Groovy In Action (Manning)
Programming Groovy: Dynamic Productivity for the Java
Developer (Pragmatic Programmers)
Groovy Recipes: Greasing the Wheels of Java (Pragmatic
Programmers)
Beginning Groovy and Grails: From Novice to Professional
(Apress)
Groovy Programming: An Introduction for Java Developers
(Morgan Kaufmann)
Groovy and Grails Recipes: Recipes a Dynamic Approach
(Apress)
The Definitive Guide to Grails (Apress)
The Definitive Guide to Grails: Second Edition (Apress)
Getting Started with Grails (Lulu.com)