Learning Rxjava

eBook Download

BOOK EXCERPT:

Reactive Programming with Java and ReactiveX About This Book Explore the essential tools and operators RxJava provides, and know which situations to use them in Delve into Observables and Subscribers, the core components of RxJava used for building scalable and performant reactive applications Delve into the practical implementation of tools to effectively take on complex tasks such as concurrency and backpressure Who This Book Is For The primary audience for this book is developers with at least a fundamental mastery of Java. Some readers will likely be interested in RxJava to make programs more resilient, concurrent, and scalable. Others may be checking out reactive programming just to see what it is all about, and to judge whether it can solve any problems they may have. What You Will Learn Learn the features of RxJava 2 that bring about many significant changes, including new reactive types such as Flowable, Single, Maybe, and Completable Understand how reactive programming works and the mindset to "think reactively" Demystify the Observable and how it quickly expresses data and events as sequences Learn the various Rx operators that transform, filter, and combine data and event sequences Leverage multicasting to push data to multiple destinations, and cache and replay them Discover how concurrency and parallelization work in RxJava, and how it makes these traditionally complex tasks trivial to implement Apply RxJava and Retrolambda to the Android domain to create responsive Android apps with better user experiences Use RxJava with the Kotlin language to express RxJava more idiomatically with extension functions, data classes, and other Kotlin features In Detail RxJava is a library for composing asynchronous and event-based programs using Observable sequences for the JVM, allowing developers to build robust applications in less time. Learning RxJava addresses all the fundamentals of reactive programming to help readers write reactive code, as well as teach them an effective approach to designing and implementing reactive libraries and applications. Starting with a brief introduction to reactive programming concepts, there is an overview of Observables and Observers, the core components of RxJava, and how to combine different streams of data and events together. You will also learn simpler ways to achieve concurrency and remain highly performant, with no need for synchronization. Later on, we will leverage backpressure and other strategies to cope with rapidly-producing sources to prevent bottlenecks in your application. After covering custom operators, testing, and debugging, the book dives into hands-on examples using RxJava on Android as well as Kotlin. Style and approach This book will be different from other Rx books, taking an approach that comprehensively covers Rx concepts and practical applications.

Product Details :

Genre : Computers
Author : Thomas Nield
Publisher : Packt Publishing Ltd
Release : 2017-06-20
File : 393 Pages
ISBN-13 : 9781787123748


Learning Rxjava

eBook Download

BOOK EXCERPT:

Updated with the latest Maven coordinates, Java programming features, and API changes, this book is your guide to solving problems in writing asynchronous and event-based programs Key FeaturesExplore a variety of tools and techniques used to solve problems in implementing concurrency and parallelizationLearn about core operators in RxJava that enable you to express your code logic productivelyApply RxJava with Kotlin to create responsive Android apps with better user experienceBook Description RxJava is not just a popular library for building asynchronous and event-based applications; it also enables you to create a cleaner and more readable code base. In this book, you’ll cover the core fundamentals of reactive programming and learn how to design and implement reactive libraries and applications. Learning RxJava will help you understand how reactive programming works and guide you in writing your first example in reactive code. You’ll get to grips with the workings of Observable and Subscriber, and see how they are used in different contexts using real-world use cases. The book will also take you through multicasting and caching to help prevent redundant work with multiple Observers. You’ll then learn how to create your own RxJava operators by reusing reactive logic. As you advance, you’ll explore effective tools and libraries to test and debug RxJava code. Finally, you’ll delve into RxAndroid extensions and use Kotlin features to streamline your Android apps. By the end of this book, you'll become proficient in writing reactive code in Java and Kotlin to build concurrent applications, including Android applications. What you will learnDiscover different ways to create Observables, Observers, and SubscribersMulticast in order to push data to multiple destinations and cache and replay themExpress RxJava idiomatically with the help of Kotlin features such as extension functions and data classesBecome familiar with various operators available in RxJava to perform common transformations and tasksExplore RxJava’s reactive types, including Flowable, Single, Maybe, and CompletableDemystify Observables and how they express data and events as sequencesWho this book is for This book is for Java developers who want to leverage reactive programming to develop more resilient and concurrent applications. If you're an RxJava user looking to get to grips with the latest features and updates in RxJava 3, this book is for you. Fundamental knowledge of core Java features and object-oriented programming will assist you in understanding the key concepts covered in this book.

Product Details :

Genre : Computers
Author : Nick Samoylov
Publisher : Packt Publishing Ltd
Release : 2020-02-28
File : 393 Pages
ISBN-13 : 9781789952216


Learning Reactive Programming With Java 8

eBook Download

BOOK EXCERPT:

Whether you are a Java expert or at a beginner level, you'll benefit from this book, because it will teach you a brand new way of coding and thinking. The book starts with an explanation of what reactive programming is, why it is so appealing, and how we can integrate it in to Java. It continues by introducing the new Java 8 syntax features, such as lambdas and function references, and some functional programming basics. From this point on, the book focuses on RxJava in depth. It goes through creating Observables, transforming, filtering, and combining them, and concurrency and testing to finish with extending the library itself. This book is a definite tutorial in RxJava filled with a lot of well-described examples. It explains reactive programming concepts in plain and readable language, without scientific formulas and terms.

Product Details :

Genre : Computers
Author : Nickolay Tsvetinov
Publisher : Packt Publishing Ltd
Release : 2015-06-24
File : 182 Pages
ISBN-13 : 9781785282508


Reimagining Capitalism In A Post Globalization World

eBook Download

BOOK EXCERPT:

Product Details :

Genre :
Author : Silvia L. Fotea
Publisher : Springer Nature
Release :
File : 496 Pages
ISBN-13 : 9783031598586


Vert X In Action

eBook Download

BOOK EXCERPT:

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

Product Details :

Genre : Computers
Author : Julien Ponge
Publisher : Manning Publications
Release : 2020-12-01
File : 334 Pages
ISBN-13 : 9781617295621


Essential Math For Data Science

eBook Download

BOOK EXCERPT:

Master the math needed to excel in data science, machine learning, and statistics. In this book author Thomas Nield guides you through areas like calculus, probability, linear algebra, and statistics and how they apply to techniques like linear regression, logistic regression, and neural networks. Along the way you'll also gain practical insights into the state of data science and how to use those insights to maximize your career. Learn how to: Use Python code and libraries like SymPy, NumPy, and scikit-learn to explore essential mathematical concepts like calculus, linear algebra, statistics, and machine learning Understand techniques like linear regression, logistic regression, and neural networks in plain English, with minimal mathematical notation and jargon Perform descriptive statistics and hypothesis testing on a dataset to interpret p-values and statistical significance Manipulate vectors and matrices and perform matrix decomposition Integrate and build upon incremental knowledge of calculus, probability, statistics, and linear algebra, and apply it to regression models including neural networks Navigate practically through a data science career and avoid common pitfalls, assumptions, and biases while tuning your skill set to stand out in the job market

Product Details :

Genre : Computers
Author : Thomas Nield
Publisher : "O'Reilly Media, Inc."
Release : 2022-05-26
File : 352 Pages
ISBN-13 : 9781098102906


97 Things Every Data Engineer Should Know

eBook Download

BOOK EXCERPT:

Take advantage of today's sky-high demand for data engineers. With this in-depth book, current and aspiring engineers will learn powerful real-world best practices for managing data big and small. Contributors from notable companies including Twitter, Google, Stitch Fix, Microsoft, Capital One, and LinkedIn share their experiences and lessons learned for overcoming a variety of specific and often nagging challenges. Edited by Tobias Macey, host of the popular Data Engineering Podcast, this book presents 97 concise and useful tips for cleaning, prepping, wrangling, storing, processing, and ingesting data. Data engineers, data architects, data team managers, data scientists, machine learning engineers, and software engineers will greatly benefit from the wisdom and experience of their peers. Topics include: The Importance of Data Lineage - Julien Le Dem Data Security for Data Engineers - Katharine Jarmul The Two Types of Data Engineering and Data Engineers - Jesse Anderson Six Dimensions for Picking an Analytical Data Warehouse - Gleb Mezhanskiy The End of ETL as We Know It - Paul Singman Building a Career as a Data Engineer - Vijay Kiran Modern Metadata for the Modern Data Stack - Prukalpa Sankar Your Data Tests Failed! Now What? - Sam Bail

Product Details :

Genre : Computers
Author : Tobias Macey
Publisher : "O'Reilly Media, Inc."
Release : 2021-06-11
File : 243 Pages
ISBN-13 : 9781492062363


Android Development With Kotlin

eBook Download

BOOK EXCERPT:

Learn how to make Android development much faster using a variety of Kotlin features, from basics to advanced, to write better quality code. About This Book Leverage specific features of Kotlin to ease Android application development Write code based on both object oriented and functional programming to build robust applications Filled with various practical examples so you can easily apply your knowledge to real world scenarios Identify the improved way of dealing with common Java patterns Who This Book Is For This book is for developers who have a basic understanding of Java language and have 6-12 months of experience with Android development and developers who feel comfortable with OOP concepts. What You Will Learn Run a Kotlin application and understand the integration with Android Studio Incorporate Kotlin into new/existing Android Java based project Learn about Kotlin type system to deal with null safety and immutability Define various types of classes and deal with properties Define collections and transform them in functional way Define extensions, new behaviours to existing libraries and Android framework classes Use generic type variance modifiers to define subtyping relationship between generic types Build a sample application In Detail Nowadays, improved application development does not just mean building better performing applications. It has become crucial to find improved ways of writing code. Kotlin is a language that helps developers build amazing Android applications easily and effectively. This book discusses Kotlin features in context of Android development. It demonstrates how common examples that are typical for Android development, can be simplified using Kotlin. It also shows all the benefits, improvements and new possibilities provided by this language. The book is divided in three modules that show the power of Kotlin and teach you how to use it properly. Each module present features in different levels of advancement. The first module covers Kotlin basics. This module will lay a firm foundation for the rest of the chapters so you are able to read and understand most of the Kotlin code. The next module dives deeper into the building blocks of Kotlin, such as functions, classes, and function types. You will learn how Kotlin brings many improvements to the table by improving common Java concepts and decreasing code verbosity. The last module presents features that are not present in Java. You will learn how certain tasks can be achieved in simpler ways thanks to Kotlin. Through the book, you will learn how to use Kotlin for Android development. You will get to know and understand most important Kotlin features, and how they can be used. You will be ready to start your own adventure with Android development with Kotlin.

Product Details :

Genre : Computers
Author : Marcin Moskala
Publisher : Packt Publishing Ltd
Release : 2017-08-30
File : 435 Pages
ISBN-13 : 9781787128989


Learning Java Functional Programming

eBook Download

BOOK EXCERPT:

Create robust and maintainable Java applications using the functional style of programming About This Book Explore how you can blend object-oriented and functional programming styles in Java Use lambda expressions to write flexible and succinct code A tutorial that strengthens your fundamentals in functional programming techniques to enhance your applications Who This Book Is For If you are a Java developer with object-oriented experience and want to use a functional programming approach in your applications, then this book is for you. All you need to get started is familiarity with basic Java object-oriented programming concepts. What You Will Learn Use lambda expressions to simplyfy code Use function composition to achieve code fluency Apply streams to simply implementations and achieve parallelism Incorporate recursion to support an application's functionality Provide more robust implementations using Optionals Implement design patterns with less code Refactor object-oriented code to create a functional solution Use debugging and testing techniques specific to functional programs In Detail Functional programming is an increasingly popular technology that allows you to simplify many tasks that are often cumbersome and awkward using an object-oriented approach. It is important to understand this approach and know how and when to apply it. Functional programming requires a different mindset, but once mastered it can be very rewarding. This book simplifies the learning process as a problem is described followed by its implementation using an object-oriented approach and then a solution is provided using appropriate functional programming techniques. Writing succinct and maintainable code is facilitated by many functional programming techniques including lambda expressions and streams. In this book, you will see numerous examples of how these techniques can be applied starting with an introduction to lambda expressions. Next, you will see how they can replace older approaches and be combined to achieve surprisingly elegant solutions to problems. This is followed by the investigation of related concepts such as the Optional class and monads, which offer an additional approach to handle problems. Design patterns have been instrumental in solving common problems. You will learn how these are enhanced with functional techniques. To transition from an object-oriented approach to a functional one, it is useful to have IDE support. IDE tools to refactor, debug, and test functional programs are demonstrated through the chapters. The end of the book brings together many of these functional programming techniques to create a more comprehensive application. You will find this book a very useful resource to learn and apply functional programming techniques in Java. Style and approach In this tutorial, each chapter starts with an introduction to the terms and concepts covered in that chapter. It quickly progresses to contrast an object-oriented approach with a functional approach using numerous code examples.

Product Details :

Genre : Computers
Author : Richard M Reese
Publisher : Packt Publishing Ltd
Release : 2015-10-14
File : 296 Pages
ISBN-13 : 9781785289354


Learn Java 12 Programming

eBook Download

BOOK EXCERPT:

A comprehensive guide to get started with Java and gain insights into major concepts such as object-oriented, functional, and reactive programming Key FeaturesStrengthen your knowledge of important programming concepts and the latest features in JavaExplore core programming topics including GUI programming, concurrency, and error handlingLearn the idioms and best practices for writing high-quality Java codeBook Description Java is one of the preferred languages among developers, used in everything right from smartphones, and game consoles to even supercomputers, and its new features simply add to the richness of the language. This book on Java programming begins by helping you learn how to install the Java Development Kit. You will then focus on understanding object-oriented programming (OOP), with exclusive insights into concepts like abstraction, encapsulation, inheritance, and polymorphism, which will help you when programming for real-world apps. Next, you’ll cover fundamental programming structures of Java such as data structures and algorithms that will serve as the building blocks for your apps. You will also delve into core programming topics that will assist you with error handling, debugging, and testing your apps. As you progress, you’ll move on to advanced topics such as Java libraries, database management, and network programming, which will hone your skills in building professional-grade apps. Further on, you’ll understand how to create a graphic user interface using JavaFX and learn to build scalable apps by taking advantage of reactive and functional programming. By the end of this book, you’ll not only be well versed with Java 10, 11, and 12, but also gain a perspective into the future of this language and software development in general. What you will learnLearn and apply object-oriented principlesGain insights into data structures and understand how they are used in JavaExplore multithreaded, asynchronous, functional, and reactive programmingAdd a user-friendly graphic interface to your applicationFind out what streams are and how they can help in data processingDiscover the importance of microservices and use them to make your apps robust and scalableExplore Java design patterns and best practices to solve everyday problemsLearn techniques and idioms for writing high-quality Java codeWho this book is for Students, software developers, or anyone looking to learn new skills or even a language will find this book useful. Although this book is for beginners, professional programmers can benefit from it too. Previous knowledge of Java or any programming language is not required.

Product Details :

Genre : Computers
Author : Nick Samoylov
Publisher : Packt Publishing Ltd
Release : 2019-04-30
File : 674 Pages
ISBN-13 : 9781789958485