IntellJ IDEA in Action will help developers dig a little deeper into IDEA and embrace its streamlining features which allow for more time to be spent on project design rather than code management. Without some educational investment, however, IDEA can be just another editor. That then, is the purpose of this book. To not only get you up and running quickly, but to teach you how to use IDEA's powerful software development tools to their fullest advantage. Important product features, including the debugger, source code control, and the many code generation tools, are carefully explained and accompanied by tips and tricks that will leave even experienced IDEA users with "Eureka!" moments of informed programming. Coders just graduating from NOTEPAD and Java IDE veterans alike will profit from the powerful and timesaving expertise provided in this essential programmer's resource. IDEA is a next-generation IDE for Java, an Integrated Development Environment. As the term IDE implies, IDEA integrates or combines all of the tools needed to develop Java software into a single application and interface. In other words, IDEA is a tool that helps develop Java applications more quickly, easily, and intelligently. IDEA can help with every phase of a project, from design and development to testing and deployment. This book is based on the IntelliJ IDEA Java development environment software from JetBrains, version 5.0. Purchase of the print book comes with an offer of a free PDF eBook from Manning. Also available is all code from the book.
IntelliJ IDEA (hereafter referred to as IntelliJ) is one of the most powerful and popular Integrated Development Environments (IDE) for Java. It was developed and is maintained by JetBrains, and is available in the community and ultimate edition. This feature-rich IDE enables rapid development and helps in improving code quality. This book starts with a basic introduction and slowly dives deep into the advanced features. This book is targeted at first-time learners, as well as moderate users of IntelliJ. Beginners will get a fair understanding of IntelliJ and its functioning, and others will be able to take their knowledge on this subject to the next level. This book requires that the readers have some preliminary knowledge of the software development process, along with Java programming language. In the later sections of this book, we will discuss integration with build tools, unit testing frameworks, debugger, profiling, version control system, and database. It is assumed that the required tools are installed and configured on the system and the reader is familiar with those tools.
This book is for developers who want to work smarter so they can focus their efforts on the details that will give them the advantage. This book is tailor-made for developers who want to move from NetBeans and Eclipse to experience the power and functionality of IntelliJ IDEA.
Expert guidance and amazing examples from core Kotlin’s developers! It’s everything you need to get up and running fast. In Kotlin in Action, Second Edition you will learn: Kotlin statements and functions, and classes and types Functional programming on the JVM The Kotlin standard library and out-of-the-box features Writing clean and idiomatic code Combining Kotlin and Java Improve code reliability with Null safety Domain-specific languages Kotlin concurrency Mastering the kotlinx.coroutines library Kotlin in Action, Second Edition is a complete guide to the Kotlin language written especially for readers familiar with Java or another OO language. In it, core Kotlin language developers share their unique insights, along with practical techniques and hands-on examples. You’ll quickly progress from language basics to building production-quality applications that take advantage of Kotlin’s unique features. This new second edition is fully updated to include the latest innovations, and it adds new chapters dedicated to coroutines and concurrency. Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the technology Coding with Kotlin means less hassle and more productivity. This JVM-based language offers an expressive syntax, a strong intuitive type system, and great tooling support—plus seamless interoperability with existing Java code, libraries, and frameworks. Kotlin is general purpose, safe, pragmatic, and the premier language of Android development. While the language has grown beyond its initial Java-centric focus, you can still use and integrate with your favorite Java tools and libraries, including Spring. About the book Kotlin in Action, Second Edition teaches you Kotlin techniques you can use for almost any type of application, from enterprise services to Android apps. The authors are all members of the Kotlin team, so you can trust that even the gnarly details are dead accurate. You’ll start with Kotlin fundamentals, learning how the language handles everything from statements and functions to classes and types, and about its unique features that make Kotlin programming so seamless. As you progress through this masterful book, you’ll get hands-on with the Kotlin standard library, functional programming in Kotlin, and advanced features such as generics and reflection. And this updated second edition now covers coroutines and structured concurrency to help you create efficient high-performance applications. About the author Roman Elizarov is a Project Lead for Kotlin at JetBrains and currently focuses on the Kotlin language design in the role of Lead Language Designer. Roman Elizarov previously designed and developed high-performance trading software for leading brokerage firms and market data delivery services that routinely handle millions of events per second. He has been working on Kotlin at JetBrains since 2016 and has contributed to the design of Kotlin coroutines and the development of the Kotlin coroutines library. Svetlana Isakova began as a member of the Kotlin compiler team and is now a developer advocate for JetBrains. She teaches Kotlin and speaks at conferences worldwide. She is a co-creator of the course "Kotlin for Java developers" at Coursera and is a co-author of the book "Atomic Kotlin." As a Kotlin Developer Advocate at JetBrains, Sebastian Aigner spends a lot of time thinking about how technologies can empower and delight people. When he first tried Kotlin, it was love at first sight.He gave talks at KotlinConf, participated in the Kotlin/Everywhere campaign, and spoke at a multitude of other conferences. He hosts the Talking Kotlin podcast together with Hadi Hariri, and creates videos for the official Kotlin YouTube channel. Dmitry Jemerov has been working with JetBrains since 2003. He was one of the initial developers working on Kotlin as the project was started, and he’s deeply familiar with the design of the language and the reasons for the decisions that were made during its development. He’s currently responsible for Kotlin documentation.
Vert.x in Action teaches you how to build production-quality reactive applications in Java. This book covers core Vert.x concepts, as well as the fundamentals of asynchronous and reactive programming. Learn to develop microservices by using Vert.x tools for database communications, persistent messaging, and test app resiliency. The patterns and techniques included here transfer to reactive technologies and frameworks beyond Vert.x. Summary As enterprise applications become larger and more distributed, new architectural approaches like reactive designs, microservices, and event streams are required knowledge. The Vert.x framework provides a mature, rock-solid toolkit for building reactive applications using Java, Kotlin, or Scala. Vert.x in Action teaches you to build responsive, resilient, and scalable JVM applications with Vert.x using well-established reactive design patterns. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Vert.x is a collection of libraries for the Java virtual machine that simplify event-based and asynchronous programming. Vert.x applications handle tedious tasks like asynchronous communication, concurrent work, message and data persistence, plus they’re easy to scale, modify, and maintain. Backed by the Eclipse Foundation and used by Red Hat and others, this toolkit supports code in a variety of languages. About the book Vert.x in Action teaches you how to build production-quality reactive applications in Java. This book covers core Vert.x concepts, as well as the fundamentals of asynchronous and reactive programming. Learn to develop microservices by using Vert.x tools for database communications, persistent messaging, and test app resiliency. The patterns and techniques included here transfer to reactive technologies and frameworks beyond Vert.x. What's inside Building reactive services Responding to external service failures Horizontal scaling Vert.x toolkit architecture and Vert.x testing Deploying with Docker and Kubernetes About the reader For intermediate Java web developers. About the author Julien Ponge is a principal software engineer at Red Hat, working on the Eclipse Vert.x project. Table of Contents PART 1 - FUNDAMENTALS OF ASYNCHRONOUS PROGRAMMING WITH VERT.X 1 Vert.x, asynchronous programming, and reactive systems 2 Verticles: The basic processing units of Vert.x 3 Event bus: The backbone of a Vert.x application 4 Asynchronous data and event streams 5 Beyond callbacks 6 Beyond the event bus PART 2 - DEVELOPING REACTIVE SERVICES WITHT VERT.X 7 Designing a reactive application 8 The web stack 9 Messaging and event streaming with Vert.x 10 Persistent state management with databases 11 End-to-end real-time reactive event processing 12 Toward responsiveness with load and chaos testing 13 Final notes: Container-native Vert.x
Take your Android programming skills to the next level by unleashing the potential of Android Studio Expert Android Studio bridges the gap between your Android programing skills with the provided tools including Android Studio, NDK, Gradle and Plugins for IntelliJ Idea Platform. Packed with best practices and advanced tips and techniques on Android tools, development cycle, continuos integration, release management, testing, and performance, this book offers professional guidance to experienced developers who want to push the boundaries of the Android platform with the developer tools. You'll discover how to use the tools and techniques to unleash your true potential as a developer. Discover the basics of working in Android Studio and Gradle, as well as the application architecture of the latest Android platform Understand Native Development Kit and its integration with Android Studio Complete your development lifecycle with automated tests, dependency management, continuos integration and release management Writing your own Gradle plugins to customize build cycle Writing your own plugins for Android Studio to help your development tasks. Expert Android Studio is a tool for expert and experienced developers who want to learn how to make use of the tools while creating Android applications for use on mobile devices.
Deliver software that does what it’s supposed to do! Behavior-Driven Development guides your software projects to success with collaboration, communication techniques, and concrete requirements you can turn into automated tests. In BDD in Action, Second Edition you’ll learn how to: Implement and improve BDD practices Prioritize features from business goals Facilitate an example mapping session Write automated acceptance tests Scale up your automated acceptance tests Deliver accurate reporting and documentation Around half of all software projects fail to deliver on requirements. Behavior-Driven Development (BDD) helps make sure that yours isn’t one of them. Behavior-Driven Development in Action, Second Edition teaches you how to ensure that everyone involved in a software project—from developers to non-technical stakeholders—are in agreement on goals and objectives. It lays out the communication skills, collaborative practices, and useful automation tools that will let you seamlessly succeed with BDD. Now in its second edition, this revised bestseller has been extensively updated with new techniques for incorporating BDD into large-scale and enterprise development practices such as Agile and DevOps. Foreword by Daniel Terhorst-North. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Behavior-Driven Development is a collaborative software design technique that organizes examples of an application’s desired behavior into a concrete, testable specification. Because the BDD process gathers input from all areas of an organization, it maximizes the likelihood your software will satisfy both end users and business stakeholders. The established collaboration practices and automation strategies in this book will help you maximize the benefits of BDD for your dev team and your business clients. About the Book In BDD in Action, Second Edition, you’ll learn to seamlessly integrate BDD into your existing development process. This thoroughly revised new edition now shows how to integrate BDD with DevOps and large-scale Agile systems. Practical examples introduce cross-functional team communication skills, leading a successful requirements analysis, and how to set up automated acceptance criteria. What’s Inside How BDD positively affects teamwork, dynamics, and collaboration with stakeholders Help teams discover and analyze requirements, uncover assumptions, and reduce risks Make acceptance, integration, and unit testing more effective Automate reporting and living documentation to improve transparency About the Reader For all development teams. No experience with BDD required. Examples in Java, JavaScript, and TypeScript can be easily expressed in your chosen language. About the Author John Ferguson Smart is the creator of the Serenity BDD framework and founder of the Serenity Dojo training school. Jan Molak is the author of the Serenity/JS testing framework, Jenkins Build Monitor, and other CD and testing tools. Table of Contents PART 1 - FIRST STEPS 1 Building software that makes a difference 2 Introducing Behavior-Driven Development 3 BDD: The whirlwind tour PART 2 - WHAT DO I WANT? DEFINING REQUIREMENTS USING BDD 4 Speculate: From business goals to prioritized features 5 Describing and prioritizing features 6 Illustrating features with examples 7 From examples to executable specifications PART 3 - HOW DO I BUILD IT? CODING THE BDD WAY 8 From executable specifications to automated acceptance tests 9 Writing solid automated acceptance tests 10 Automating acceptance criteria for the UI layer 11 Test automation design patterns for the UI layer 12 Scalable test automation with the Screenplay Pattern 13 BDD and executable specifications for microservices and APIs 14 Executable specifications for existing systems with Serenity/JS 15 Portable test automation with Serenity/JS 16 Living documentation and release evidence
Summary Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. About the Technology Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want. About the Book Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software. The book assumes a basic background in Java, but no knowledge of Groovy. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. Whats Inside A comprehensive guide to Gradle Practical, real-world examples Transitioning from Ant and Maven In-depth plugin development Continuous delivery with Gradle About the Author Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins. Table of Contents PART 1 INTRODUCING GRADLE Introduction to project automation Next-generation builds with Gradle Building a Gradle project by example PART 2 MASTERING THE FUNDAMENTALS Build script essentials Dependency management Multiproject builds Testing with Gradle Extending Gradle Integration and migration PART 3 FROM BUILD TO DEPLOYMENT IDE support and tooling Building polyglot projects Code quality management and monitoring Continuous integration Artifact assembly and publishing Infrastructure provisioning and deployment
Summary Kotlin in Action guides experienced Java developers from the language basics of Kotlin all the way through building applications to run on the JVM and Android devices. Foreword by Andrey Breslav, Lead Designer of Kotlin. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Developers want to get work done - and the less hassle, the better. Coding with Kotlin means less hassle. The Kotlin programming language offers an expressive syntax, a strong intuitive type system, and great tooling support along with seamless interoperability with existing Java code, libraries, and frameworks. Kotlin can be compiled to Java bytecode, so you can use it everywhere Java is used, including Android. And with an effi cient compiler and a small standard library, Kotlin imposes virtually no runtime overhead. About the Book Kotlin in Action teaches you to use the Kotlin language for production-quality applications. Written for experienced Java developers, this example-rich book goes further than most language books, covering interesting topics like building DSLs with natural language syntax. The authors are core Kotlin developers, so you can trust that even the gnarly details are dead accurate. What's Inside Functional programming on the JVM Writing clean and idiomatic code Combining Kotlin and Java Domain-specific languages About the Reader This book is for experienced Java developers. About the Author Dmitry Jemerov and Svetlana Isakova are core Kotlin developers at JetBrains. Table of Contents PART 1 - INTRODUCING KOTLIN Kotlin: what and why Kotlin basics Defining and calling functions Classes, objects, and interfaces Programming with lambdas The Kotlin type system PART 2 - EMBRACING KOTLIN Operator overloading and other conventions Higher-order functions: lambdas as parameters and return values Generics Annotations and reflection DSL construction