The Cucumber Book


Book Description

Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can't always articulate their ideas clearly enough for you to turn them into code. You need Cucumber: a testing, communication, and requirements tool-all rolled into one. All the code in this book is updated for Cucumber 2.4, Rails 5, and RSpec 3.5. Express your customers' wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform. Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe-in plain language-the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST web services, Ruby on Rails applications, command-line applications, legacy applications, and more. Written by the creator of Cucumber and the co-founders of Cucumber Ltd., this authoritative guide will give you and your team all the knowledge you need to start using Cucumber with confidence. What You Need: Windows, Mac OS X (with XCode) or Linux, Ruby 1.9.2 and upwards, Cucumber 2.4, Rails 5, and RSpec 3.5




Jenkins: The Definitive Guide


Book Description

Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches. Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins. Learn how to install, configure, and secure your Jenkins server Organize and monitor general-purpose build jobs Integrate automated tests to verify builds, and set up code quality reporting Establish effective team notification strategies and techniques Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs Manage a farm of Jenkins servers to run distributed builds Implement automated deployment and continuous delivery




Professional Java EE Design Patterns


Book Description

Master Java EE design pattern implementation to improve yourdesign skills and your application’s architecture Professional Java EE Design Patterns is the perfectcompanion for anyone who wants to work more effectively with JavaEE, and the only resource that covers both the theory andapplication of design patterns in solving real-world problems. Theauthors guide readers through both the fundamental and advancedfeatures of Java EE 7, presenting patterns throughout, anddemonstrating how they are used in day-to-day problem solving. As the most popular programming language in community-drivenenterprise software, Java EE provides an API and runtimeenvironment that is a superset of Java SE. Written for the juniorand experienced Java EE developer seeking to improve design qualityand effectiveness, the book covers areas including: Implementation and problem-solving with design patterns Connection between existing Java SE design patterns and newJava EE concepts Harnessing the power of Java EE in design patterns Individually-based focus that fully explores each pattern Colorful war-stories showing how patterns were used in thefield to solve real-life problems Unlike most Java EE books that simply offer descriptions orrecipes, this book drives home the implementation of the pattern toreal problems to ensure that the reader learns how the patternsshould be used and to be aware of their pitfalls. For the programmer looking for a comprehensive guide that isactually useful in the everyday workflow, Professional Java EEDesign Patterns is the definitive resource on the market.




Continuous Delivery in Java


Book Description

Continuous delivery adds enormous value to the business and the entire software delivery lifecycle, but adopting this practice means mastering new skills typically outside of a developer’s comfort zone. In this practical book, Daniel Bryant and Abraham Marín-Pérez provide guidance to help experienced Java developers master skills such as architectural design, automated quality assurance, and application packaging and deployment on a variety of platforms. Not only will you learn how to create a comprehensive build pipeline for continually delivering effective software, but you’ll also explore how Java application architecture and deployment platforms have affected the way we rapidly and safely deliver new software to production environments. Get advice for beginning or completing your migration to continuous delivery Design architecture to enable the continuous delivery of Java applications Build application artifacts including fat JARs, virtual machine images, and operating system container (Docker) images Use continuous integration tooling like Jenkins, PMD, and find-sec-bugs to automate code quality checks Create a comprehensive build pipeline and design software to separate the deploy and release processes Explore why functional and system quality attribute testing is vital from development to delivery Learn how to effectively build and test applications locally and observe your system while it runs in production




The The Complete Coding Interview Guide in Java


Book Description

Explore a wide variety of popular interview questions and learn various techniques for breaking down tricky bits of code and algorithms into manageable chunks Key FeaturesDiscover over 200 coding interview problems and their solutions to help you secure a job as a Java developerWork on overcoming coding challenges faced in a wide array of topics such as time complexity, OOP, and recursionGet to grips with the nuances of writing good code with the help of step-by-step coding solutionsBook Description Java is one of the most sought-after programming languages in the job market, but cracking the coding interview in this challenging economy might not be easy. This comprehensive guide will help you to tackle various challenges faced in a coding job interview and avoid common interview mistakes, and will ultimately guide you toward landing your job as a Java developer. This book contains two crucial elements of coding interviews - a brief section that will take you through non-technical interview questions, while the more comprehensive part covers over 200 coding interview problems along with their hands-on solutions. This book will help you to develop skills in data structures and algorithms, which technical interviewers look for in a candidate, by solving various problems based on these topics covering a wide range of concepts such as arrays, strings, maps, linked lists, sorting, and searching. You'll find out how to approach a coding interview problem in a structured way that produces faster results. Toward the final chapters, you'll learn to solve tricky questions about concurrency, functional programming, and system scalability. By the end of this book, you'll have learned how to solve Java coding problems commonly used in interviews, and will have developed the confidence to secure your Java-centric dream job. What you will learnSolve the most popular Java coding problems efficientlyTackle challenging algorithms that will help you develop robust and fast logicPractice answering commonly asked non-technical interview questions that can make the difference between a pass and a failGet an overall picture of prospective employers' expectations from a Java developerSolve various concurrent programming, functional programming, and unit testing problemsWho this book is for This book is for students, programmers, and employees who want to be invited to and pass interviews given by top companies. The book assumes high school mathematics and basic programming knowledge.




Beginning Spring


Book Description

Get up to speed quickly with this comprehensive guide to Spring Beginning Spring is the complete beginner's guide to Java's most popular framework. Written with an eye toward real-world enterprises, the book covers all aspects of application development within the Spring Framework. Extensive samples within each chapter allow developers to get up to speed quickly by providing concrete references for experimentation, building a skillset that drives successful application development by exploiting the full capabilities of Java's latest advances. Spring provides the exact toolset required to build an enterprise application, and has become the standard within the field. This book covers Spring 4.0, which contains support for Java 8 and Java EE 7. Readers begin with the basics of the framework, then go on to master the most commonly used tools and fundamental concepts inherent in any Spring project. The book emphasizes practicality and real-world application by addressing needs such as meeting customer demand and boosting productivity, and by providing actionable information that helps developers get the most out of the framework. Topics include: Dependency Injection and Inversion of Control Unit testing Spring enabled Web Applications Data Access using Spring JDBC and ORM support along with Transaction Management Building Web Applications and RESTful Web Services with Spring MVC Securing Web Applications using Spring Security Spring Expression Language with its Extensive Features Aspect Oriented Programming Facilities Provided by Spring AOP Caching with 3rd Party Cache Providers’ Support The Best of the Breed: Spring 4.0 The information is organized and structured an ideal way for students and corporate training programs, and explanations about inner workings of the framework make it a handy desk reference even for experienced developers. For novices, Beginning Spring is invaluable as a comprehensive guide to the real-world functionality of Spring.




IBM Z Integration Guide for Hybrid Cloud


Book Description

Today, organizations are responding to market demands and regulatory requirements faster than ever by extending their applications and data to new digital applications. This drive to deliver new functions at speed has paved the way for a huge growth in cloud-native applications, hosted in both public and private cloud infrastructures. Leading organizations are now exploiting the best of both worlds by combining their traditional enterprise IT with cloud. This hybrid cloud approach places new requirements on the integration architectures needed to bring these two worlds together. One of the largest providers of application logic and data services in enterprises today is IBM Z, making it a critical service provider in a hybrid cloud architecture. The primary goal of this IBM Redpaper publication is to help IT architects choose between the different application integration architectures that can be used for hybrid integration with IBM Z, including REST APIs, messaging, and event streams.




Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices


Book Description

Build Modern Web Apps with JakartaEE, Jmoordb, and Vaadins Key Features _ Learn about the Java Enterprise Edition/Jakarta Enterprise Edition specifications. _ Learn how to create applications with frameworks such as Java Server Faces, Eclipse krazo and Vaadin. _ Get familiar with NoSQL databases and learn how to create Java applications that interact using Jakarta NoSQL and Jmoordb. _ Learn how to test and secure your application. _ Learn about Microprofile and how to create microservices with java. Description For many years, Java EE has been an important platform for mission-critical enterprise applications. To accelerate the development of enterprise applications for a cloud-native world, leading software vendors collaborated to transfer Java EE technologies to the Eclipse Foundation, where they will evolve under the Jakarta EE brand. This book will be your comprehensive guide to creating Jakarta EE applications and microservices with Microprofile. The book begins with an introduction to Jakarta EE and quickly goes on to teach you about the various databases and their advantages. After this, you will explore the JNoSQL and Jmoordb frameworks to understand how to build Jakarta EE applications with NoSQL databases. Moving forward, you'll explore Eclipse MicroProfile and see how it helps build microservices with Java. Also, you will learn about various development applications such as Java Server Faces, Eclipse Krazos, PrimeFaces, Vaadin, and understand how to integrate them with your backend. Towards the end, you will learn about security, testing, and understanding continuous integration. What will you learn _ Learn how to use the Jmoordb framework for Jakarta EE applications. _ Optimize Enterprise Java for microservices architecture using Eclipse MicroProfile. _ Create Web applications using Java Server Faces. _ Building a modern web application using Vaadin. _ Learn how to implement security using IdentityStore and JWT. _ Create CI/CD pipelines for Jakarta EE applications. Who this book is for This book is for developers with no previous experience in creating business applications with Java and for those who want to know about APIs and new frameworks for the development of cloud-oriented applications. Table of Contents 1. Jakarta EE Platform 2. NoSQL 3. Jakarta NOSQL 4. Understanding JMoordb 5. Exploring Microprofile 6. Java Server Faces 7. Vaadin 8. Integration Vaadin, JMoordb and NoSQL 9. Eclipse Krazos and Security of Microservices 10. Testing and Continuous Integration




Oracle Fusion Applications Development and Extensibility Handbook


Book Description

Master Oracle Fusion Applications Design and Personalization Deliver highly adaptable business applications that bolster productivity and drive informed decision-making. Oracle Fusion Applications Development and Extensibility Handbook contains best practices, real-world case studies, and technical deep dives. Discover how to manage design- and run-time customizations, extend existing UIs and build new ones, secure your applications, and integrate with other systems. This Oracle Press guide offers complete coverage of the latest cloud and SOA-based features. Explore Oracle Fusion Applications components and architecture Plan, develop, debug, and deploy customizations Extend out-of-the-box functionality with Oracle JDeveloper Modify web applications using Oracle Composer Incorporate Oracle SOA Suite 11g composites Validate code through sandboxes and test environments Secure data using authorization, authentication, and encryption Design and distribute personalized BI reports Automate jobs with Oracle Enterprise Scheduler Change appearance and branding of your applications with the Oracle ADF Skin Editor Extend and customize CRM with Application Composer




Implementing Domain-driven Design


Book Description

Vaughn Vernon presents concrete and realistic domain-driven design (DDD) techniques through examples from familiar domains, such as a Scrum-based project management application that integrates with a collaboration suite and security provider. Each principle is backed up by realistic Java examples, and all content is tied together by a single case study of a company charged with delivering a set of advanced software systems with DDD.