Java

81
Eлектронна книга

Hands-On Reactive Programming with Reactor. Build reactive and scalable microservices using the Reactor framework

Rahul Sharma

Reactor is an implementation of the Java 9 Reactive Streams specification, an API for asynchronous data processing. This specification is based on a reactive programming paradigm, enabling developers to build enterprise-grade, robust applications with reduced complexity and in less time. Hands-On Reactive Programming with Reactor shows you how Reactor works, as well as how to use it to develop reactive applications in Java.The book begins with the fundamentals of Reactor and the role it plays in building effective applications. You will learn how to build fully non-blocking applications and will later be guided by the Publisher and Subscriber APIs. You will gain an understanding how to use two reactive composable APIs, Flux and Mono, which are used extensively to implement Reactive Extensions. All of these components are combined using various operations to build a complete solution. In addition to this, you will get to grips with the Flow API and understand backpressure in order to control overruns. You will also study the use of Spring WebFlux, an extension of the Reactor framework for building microservices.By the end of the book, you will have gained enough confidence to build reactive and scalable microservices.

82
Eлектронна книга

Hands-On Serverless Applications with Kotlin. Develop scalable and cost-effective web applications using AWS Lambda and Kotlin

Hardik Trivedi, Ameya Kulkarni

Serverless is a cloud computing execution model where the cloud provider dynamically manages the allocation and provisioning of servers. Many companies now use serverless architectures to cut costs and improve scalability. Thanks to its concise and expressive syntax and a smooth learning curve, Kotlin is a great fit for developing serverless applications.With this book, you’ll be able to put your knowledge to work by implementing serverless technology in your applications and become productive in no time. Complete with detailed explanation of essential concepts and examples, this book will help you understand the serverless architecture fundamentals and how to design serverless architectures for your applications. You’ll also explore how AWS Lambda functions work. The book will guide you in designing, building, securing, and deploying your application to production, along with implementing non-functional requirements such as auditing and logging. Furthermore, you’ll discover how to scale up and orchestrate serverless applications using an open source framework and handle distributed serverless systems in production.By the end of the book, you’ll be able to build scalable and cost-efficient Kotlin applications with a serverless framework.

83
Eлектронна книга

Hands-On Software Architecture with Java. Learn key architectural techniques and strategies to design efficient and elegant Java applications

Giuseppe Bonocore

Well-written software architecture is the core of an efficient and scalable enterprise application. Java, the most widespread technology in current enterprises, provides complete toolkits to support the implementation of a well-designed architecture.This book starts with the fundamentals of architecture and takes you through the basic components of application architecture. You'll cover the different types of software architectural patterns and application integration patterns and learn about their most widespread implementation in Java. You'll then explore cloud-native architectures and best practices for enhancing existing applications to better suit a cloud-enabled world. Later, the book highlights some cross-cutting concerns and the importance of monitoring and tracing for planning the evolution of the software, foreseeing predictable maintenance, and troubleshooting. The book concludes with an analysis of the current status of software architectures in Java programming and offers insights into transforming your architecture to reduce technical debt.By the end of this software architecture book, you'll have acquired some of the most valuable and in-demand software architect skills to progress in your career.

84
Eлектронна книга

Hands-On Spring Security 5 for Reactive Applications. Learn effective ways to secure your applications with Spring and Spring WebFlux

Tomcy John

Spring Security enables developers to seamlessly integrate authorization, authentication, and a range of security features for complex enterprise applications. This book provides a hands-on approach to developing reactive applications using Spring and will help you get up and running in no time.Complete with step-by-step explanations, practical examples, and self-assessment questions, the book begins by explaining the essential concepts of reactive programming, Spring Framework, and Spring Security. You’ll then learn about a variety of authentication mechanisms and how to integrate them easily with a Spring MVC application. You’ll also understand how to achieve authorization in a Spring WebFlux application using Spring Security. Furthermore, the book will take you through the configuration required to implement OAuth2 for securing REST APIs, and guide you in integrating security in microservices and serverless applications. Finally, you’ll be able to augment add-ons that will enhance any Spring Security module.By the end of the book, you’ll be equipped to integrate Spring Security into your Java enterprise applications proficiently.

85
Eлектронна книга

Haskell Cookbook. Build functional applications using Monads, Applicatives, and Functors

Yogesh Sajanikar

Haskell is a purely functional language that has the great ability to develop large and difficult, but easily maintainable software.Haskell Cookbook provides recipes that start by illustrating the principles of functional programming in Haskell, and then gradually build up your expertise in creating industrial-strength programs to accomplish any goal. The book covers topics such as Functors, Applicatives, Monads, and Transformers. You will learn various ways to handle state in your application and explore advanced topics such as Generalized Algebraic Data Types, higher kind types, existential types, and type families. The book will discuss the association of lenses with type classes such as Functor, Foldable, and Traversable to help you manage deep data structures.With the help of the wide selection of examples in this book, you will be able to upgrade your Haskell programming skills and develop scalable software idiomatically.

86
Eлектронна книга

HBase High Performance Cookbook. Solutions for optimization, scaling and performance tuning

Ruchir Choudhry

Apache HBase is a non-relational NoSQL database management system that runs on top of HDFS. It is an open source, disturbed, versioned, column-oriented store and is written in Java to provide random real-time access to big Data.We’ll start off by ensuring you have a solid understanding the basics of HBase, followed by giving you a thorough explanation of architecting a HBase cluster as per our project specifications. Next, we will explore the scalable structure of tables and we will be able to communicate with the HBase client. After this, we’ll show you the intricacies of MapReduce and the art of performance tuning with HBase. Following this, we’ll explain the concepts pertaining to scaling with HBase. Finally, you will get an understanding of how to integrate HBase with other tools such as ElasticSearch. By the end of this book, you will have learned enough to exploit HBase for boost system performance.

87
Eлектронна книга

Hibernate Search. Skuteczne wyszukiwanie

Steve Perkins

Użytkownicy aplikacji prawdopodobnie najczęściej korzystają z funkcji wyszukiwania. Ze strony interfejsu użytkownika problem wydaje się trywialny. Zupełnie inne zdanie na ten temat mają programiści. Przygotowanie wydajnego, intuicyjnego i szybkiego mechanizmu wyszukiwania stanowi ogromne wyzwanie. Liczne kryteria, wyszukiwanie tekstu, zależności i połączenia logiczne to tylko część zagadnień, które trzeba opracować. Na szczęście z pomocą przychodzi narzędzie Hibernate Search. Jest to dodatek dla popularnej w świecie Javy i nie tylko biblioteki Hibernate. Dzięki Hibernate Search wprowadzenie rozbudowanych mechanizmów wyszukiwania w Twojej aplikacji będzie całkowicie bezbolesne. W trakcie lektury tej książki dowiesz się, jak zamapować encję, jak budować zapytania oraz zarządzać indeksami. Ponadto poznasz zaawansowane strategie poprawy wydajności oraz pełnię możliwości zapytań. Książka ta jest doskonałym podręcznikiem dla wszystkich programistów języka Java, mających za zadanie wprowadzenie do aplikacji rozbudowanych mechanizmów wyszukujących. Hibernate Search to dla nich prawdziwe koło ratunkowe! Dzięki tej książce: - poznasz możliwości biblioteki Hibernate Search - opanujesz najlepsze strategie zarządzania indeksami - błyskawicznie zbudujesz zapytanie - zachwycisz użytkowników Twojej aplikacji rozbudowaną wyszukiwarką Błyskawicznie zaprojektuj rozbudowany mechanizm wyszukiwania dzięki Hibernate Search!

88
Eлектронна книга

High Performance with Java. Discover strategies and best practices to develop high performance Java applications

Dr. Edward Lavieri Jr.

Building high performance into your applications is key to creating an optimal user experience, although it is not the only consideration for the performant nature of your apps. High performance applications can lead to cost-effective resource utilization, especially when scalability and cloud computing are involved. They can also provide highly reliable systems that are easier to maintain.High Performance with Java begins by helping you explore the Java Virtual Machine (JVM) and understand how to push it to its limits to further optimize your programs. You’ll take a hands-on approach to go through memory optimization strategies, input/output operations, concurrency, networking, as well as frameworks and libraries focused on performance. You’ll also learn key strategies and best practices by using industry-relevant examples to architect scalable and resource-efficient applications. The concluding chapters provide valuable insights on optimizing your Java code when interacting with databases and show you how to leverage artificial intelligence (AI) for high performance Java applications.By the end of this book, you’ll grasp the importance of developing high performance Java applications and gain practical experience in implementing key strategies to help ensure your Java applications perform optimally.