Cybellium Ltd is dedicated to empowering individuals and organizations with the knowledge and skills they need to navigate the ever-evolving computer science landscape securely and learn only the latest information available on any subject in the category of computer science including: - Information Technology (IT) - Cyber Security - Information Security - Big Data - Artificial Intelligence (AI) - Engineering - Robotics - Standards and compliance Our mission is to be at the forefront of computer science education, offering a wide and comprehensive range of resources, including books, courses, classes and training programs, tailored to meet the diverse needs of any subject in computer science. Visit https://www.cybellium.com for more books.
More than ever, learning to program concurrency is critical to creating faster, responsive applications. Speedy and affordable multicore hardware is driving the demand for high-performing applications, and you can leverage the Java platform to bring these applications to life. Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these concurrency styles so you can compare and choose what works best for your applications. You'll learn the benefits of each of these models, when and how to use them, and what their limitations are. Through hands-on exercises, you'll learn how to avoid shared mutable state and how to write good, elegant, explicit synchronization-free programs so you can create easy and safe concurrent applications. The techniques you learn in this book will take you from dreading concurrency to mastering and enjoying it. Best of all, you can work with Java or a JVM language of your choice - Clojure, JRuby, Groovy, or Scala - to reap the growing power of multicore hardware. If you are a Java programmer, you'd need JDK 1.5 or later and the Akka 1.0 library. In addition, if you program in Scala, Clojure, Groovy or JRuby you'd need the latest version of your preferred language. Groovy programmers will also need GPars.
Start building powerful apps that take advantage of the dynamic scripting capabilities of the Groovy language. This book covers Groovy fundamentals, such as installing Groovy, using Groovy tools, and working with the Groovy Development Kit (GDK). You'll also learn more advanced aspects of Groovy, such as using Groovy design patterns, writing DSLs in Groovy, and taking advantage of Groovy's functional programming features. There is more to Groovy than the core language, so Learning Groovy covers the extended Groovy ecosystem. You'll see how to harness Gradle (Groovy's build system), Grails (Groovy's web application framework), Spock (Groovy's testing framework), and Ratpack (Groovy's reactive web library). What You'll Learn Grasp Groovy fundamentals, including the GDK or Groovy Development Kit Master advanced Groovy, such as writing Groovy DSLs Discover functional programming in Groovy Work with GPars, the built-in concurrency library Use Gradle, the build system Master Grails, the web application framework Work with Spock, the testing framework Harness Ratpack, the reactive web library Who This Book Is For Although this book is intended for those with a Java background, anyone with basic programming skills could benefit from it. This book is a data-filled, yet easy-to-digest tour of the Groovy language and ecosystem.
Become an expert at using JIRA 7 through this one-stop guide! About This Book This comprehensive guide will help you implement, customize and administer JIRA 7 application to meet the needs of your organization You will get to know the strategies needed to develop and deploy JIRA 7, along with best practices when working with Jira It covers the latest integrations of JIRA 7 with third-party platforms to help you professionally manage your software development projects Who This Book Is For If you are a JIRA administrator who is managing small-to-medium JIRA instances and you want to learn how to manage enterprise-scale instances, then this book will help you expand your knowledge and equip you with advanced skills. Prior understanding of the JIRA core concepts is required. What You Will Learn Plan the installation and upgrade of your JIRA instance to the newest version Configure issue type schemes, create customized workflows, modify permission schemes, and change notification schemes Implement JIRA Service Desk to manage your support tickets Customize JIRA for test management, helpdesk, and requirement management Deploy JIRA for Agile tracking using the Scrum and Kanban techniques Develop JIRA add-ons to extend JIRA's functionality Migrate data from external systems using CSV import Generate reports directly from the JIRA database and use custom JavaScript and CSS Integrate your JIRA application with third-party tools such as Confluence, SVN, and Git In Detail Atlassian JIRA 7 is an enterprise issue tracker system. One of its key strengths is its ability to adapt to the needs of an organization, ranging from building software products to managing your support issues. This book provides a comprehensive explanation covering all three components of JIRA 7, such as JIRA Software, JIRA Core, and Jira Service Desk. It shows you how to master the key functionalities of JIRA and its customizations and useful add-ons, and is packed with real-world examples and use cases. You will first learn how to plan for a JIRA 7 installation and fetch data. We cover JIRA reports in detail, which will help you analyze your data effectively. You can add additional features to your JIRA application by choosing one of the already built-in add-ons or building a new one to suit your needs. Then you'll find out about implementing Agile methodologies in JIRA by creating Scrum and Kanban boards. We'll teach you how to integrate your JIRA Application with other tools such as Confluence, SVN, Git, and more, which will help you extend your application. Finally, we'll explore best practices and troubleshooting techniques to help you find out what went wrong and understand how to fix it. Style and approach This comprehensive book covers the advanced and new features of JIRA 7 with the help of rich code-based, real-world examples and use cases.
Summary Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day-to-day work with Java. It starts by introducing the key differences between Java and Groovy—and how you can use them to your advantage. Then, it guides you step-by-step through realistic development challenges, from web applications to web services to desktop applications, and shows how Groovy makes them easier to put into production. About this Book You don't need the full force of Java when you're writing a build script, a simple system utility, or a lightweight web app—but that's where Groovy shines brightest. This elegant JVM-based dynamic language extends and simplifies Java so you can concentrate on the task at hand instead of managing minute details and unnecessary complexity. Making Java Groov is a practical guide for developers who want to benefit from Groovy in their work with Java. It starts by introducing the key differences between Java and Groovy and how to use them to your advantage. Then, you'll focus on the situations you face every day, like consuming and creating RESTful web services, working with databases, and using the Spring framework. You'll also explore the great Groovy tools for build processes, testing, and deployment and learn how to write Groovy-based domain-specific languages that simplify Java development. Written for developers familiar with Java. No Groovy experience required. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Easier Java Closures, builders, and metaprogramming Gradle for builds, Spock for testing Groovy frameworks like Grails and Griffon About the Author Ken Kousen is an independent consultant and trainer specializing in Spring, Hibernate, Groovy, and Grails. Table of Contents PART 1: UP TO SPEED WITH GROOVY Why add Groovy to Java? Groovy by example Code-level integration Using Groovy features in Java PART 2: GROOVY TOOLS Build processes Testing Groovy and Java projects PART 3: GROOVY IN THE REAL WORLD The Spring framework Database access RESTful web services Building and testing web applications
This book follows a Cookbook style and is packed with intermediate and advanced level recipes.This book is for Java developers who have an interest in discovering new ways to quickly get the job done using a new language that shares many similarities with Java. The book’s recipes start simple, therefore no previous Groovy experience is required to understand the code and the explanations accompanying the examples.
Summary Groovy in Action, Second Edition 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. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology In 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 About the Book Groovy in Action, Second Edition 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. Some experience with Java or another programming language is helpful. No Groovy experience is assumed. What's Inside Comprehensive coverage of Groovy 2.4 including language features, libraries, and AST transformations Dynamic, static, and extensible typing Concurrency: actors, data parallelism, and dataflow Applying Groovy: Java integration, XML, SQL, testing, and domain-specific language support Hundreds of reusable examples About the Authors Authors Dierk König, Paul King, Guillaume Laforge, Hamlet D'Arcy, Cédric Champeau, Erik Pragt, and Jon Skeet are intimately involved in the creation and ongoing development of the Groovy language and its ecosystem. Table of Contents PART 1 THE GROOVY LANGUAGE Your way to Groovy Overture: Groovy basics Simple Groovy datatypes Collective Groovy datatypes Working with closures Groovy control structures Object orientation, Groovy style Dynamic programming with Groovy Compile-time metaprogramming and AST transformations Groovy as a static language PART 2 AROUND THE GROOVY LIBRARY Working with builders Working with the GDK Database programming with Groovy Working with XML and JSON Interacting with Web Services Integrating Groovy PART 3 APPLIED GROOVY Unit testing with Groovy Concurrent Groovy with GPars Domain-specific languages The Groovy ecosystem
If you are a JIRA administrator managing small-to-medium JIRA instances and want to learn how to manage enterprise-scale instances, then this book will help you expand your knowledge and equip you with advanced skills. Prior understanding of JIRA core concepts is required.
With Gradle, you can efficiently build automation framework along with some flexible alternatives to customized build logic. This book starts with sound basics about build automation and how Gradle fits into this automation. It then moves on to give you a good exposure on Groovy—a scripting language used to write Gradle—and helps you understand a key elements of Groovy programming language. In the following chapters, you will deal with task management and learn how to integrate Ant tasks into build scripts. Furthermore, you will learn dependency management, plugin management, and its configuration techniques in Gradle. You will also get hands-on with building and testing projects using Gradle. You will then begin to cover diverse topics, such as Continuous Integration with Jenkins and TeamCity, Migration strategies, and Deployment, which enables you to learn concepts useful for Agile software development. Finally, you will also learn how to create a simple mobile application using Android and explore how Gradle can help you to build and test the application.
Master the principles to make applications robust, scalable and responsive About This Book Implement concurrent applications using the Java 9 Concurrency API and its new components Improve the performance of your applications and process more data at the same time, taking advantage of all of your resources Construct real-world examples related to machine learning, data mining, natural language processing, and more Who This Book Is For This book is for competent Java developers who have basic understanding of concurrency, but knowledge of effective implementation of concurrent programs or usage of streams for making processes more efficient is not required What You Will Learn Master the principles that every concurrent application must follow See how to parallelize a sequential algorithm to obtain better performance without data inconsistencies and deadlocks Get the most from the Java Concurrency API components Separate the thread management from the rest of the application with the Executor component Execute phased-based tasks in an efficient way with the Phaser components Solve problems using a parallelized version of the divide and conquer paradigm with the Fork / Join framework Find out how to use parallel Streams and Reactive Streams Implement the “map and reduce” and “map and collect” programming models Control the concurrent data structures and synchronization mechanisms provided by the Java Concurrency API Implement efficient solutions for some actual problems such as data mining, machine learning, and more In Detail Concurrency programming allows several large tasks to be divided into smaller sub-tasks, which are further processed as individual tasks that run in parallel. Java 9 includes a comprehensive API with lots of ready-to-use components for easily implementing powerful concurrency applications, but with high flexibility so you can adapt these components to your needs. The book starts with a full description of the design principles of concurrent applications and explains how to parallelize a sequential algorithm. You will then be introduced to Threads and Runnables, which are an integral part of Java 9's concurrency API. You will see how to use all the components of the Java concurrency API, from the basics to the most advanced techniques, and will implement them in powerful real-world concurrency applications. The book ends with a detailed description of the tools and techniques you can use to test a concurrent Java application, along with a brief insight into other concurrency mechanisms in JVM. Style and approach This is a complete guide that implements real-world examples of algorithms related to machine learning, data mining, and natural language processing in client/server environments. All the examples are explained using a step-by-step approach.