Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications
![Język publikacji: angielski Język publikacji: angielski](https://static01.helion.com.pl/global/flagi/1.png)
- Autorzy:
- Tomasz Nurkiewicz, Ben Christensen
![Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications Tomasz Nurkiewicz, Ben Christensen - okładka ebooka](https://static01.helion.com.pl/global/okladki/326x466/e_09le.png)
![Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications Tomasz Nurkiewicz, Ben Christensen - tył okładki ebooka](https://static01.helion.com.pl/global/okladki-tyl/326x466/e_09le.png)
- Ocena:
- 6.0/6 Opinie: 1
- Stron:
- 372
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications
In today’s app-driven era, when programs are asynchronous and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm.
Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.
- Write programs that react to multiple asynchronous sources of input without descending into "callback hell"
- Get to that aha! moment when you understand how to solve problems in the reactive way
- Cope with Observables that produce data too quickly to be consumed
- Explore strategies to debug and to test programs written in the reactive style
- Efficiently exploit parallelism and concurrency in your programs
- Learn about the transition to RxJava version 2
Wybrane bestsellery
-
Dzięki temu praktycznemu przewodnikowi sprawdzisz, jak działa Angular podczas tworzenia dziesięciu zróżnicowanych funkcjonalnych aplikacji internetowych. Nauczysz się też integrować go z różnymi bibliotekami i narzędziami, takimi jak Angular Router, Scully, Electron, wątki robocze usług Angulara ...
Angular. Dziesięć praktycznych aplikacji internetowych z wykorzystaniem najnowszych rozwiązań technologicznych. Wydanie III Angular. Dziesięć praktycznych aplikacji internetowych z wykorzystaniem najnowszych rozwiązań technologicznych. Wydanie III
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
Książkę szczególnie docenią analitycy bezpieczeństwa, którzy chcą się zapoznać z zestawem poleceń ARM i zdobyć wiedzę umożliwiającą im efektywne korzystanie z technik inżynierii wstecznej. Poza zestawem potrzebnych poleceń znalazło się w niej mnóstwo przydatnych informacji. Znajdziesz tu przegląd...
Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna Niebieski lis. Polecenia procesorów Arm i inżynieria wsteczna
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Ludzki mózg to dzieło idealne, najdoskonalszy twór w przyrodzie. Jego dominacją zachwiał komputer Deep Blue, który w 1997 roku pokonał w szachy mistrza świata, Garriego Kasparowa. Od tego czasu sztuczna inteligencja jest na ścieżce intensywnego rozwoju. Czy dominacja superinteligencji nad człowie...
Superinteligencja. Scenariusze, strategie, zagrożenia Superinteligencja. Scenariusze, strategie, zagrożenia
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
This course offers an in-depth introduction to Java and algorithmic thinking, ideal for beginners. Starting with fundamental computer concepts, it progresses through Java programming basics, & algorithmic principles, concluding with file management.
Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation
-
Książka Java. Teoria w praktyce została pomyślana tak, by krok po kroku przybliżać specyfikę tego języka programowania. Zaczniesz od podstaw - poznasz między innymi główne założenia, zgodnie z którymi działa Java: maszynę wirtualną, zmienne, operatory, instrukcje sterujące i tablice - by następni...(87.20 zł najniższa cena z 30 dni)
76.30 zł
109.00 zł(-30%) -
Angular został przystosowany przez programistów Google’a do tworzenia złożonych i skalowalnych aplikacji. Dzięki modułowości i wydajności jest wybierany do pisania wymagających aplikacji korporacyjnych i biznesowych. Kod jest zredukowany i zorganizowany modułowo, co zapewnia czytelność i uł...
Angular. Kurs video. Programowanie reaktywne aplikacji webowych z RxJS Angular. Kurs video. Programowanie reaktywne aplikacji webowych z RxJS
(81.95 zł najniższa cena z 30 dni)96.85 zł
149.00 zł(-35%) -
Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.
Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition
Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, Rohan Karmarkar
-
Ewolucja formularzy internetowych zaczęła się od prostych znaczników języka HTML 2.0 opublikowanego w 1993 roku. Z czasem HTML oferował bardziej zaawansowane funkcje obsługi formularzy. Późniejsze wersje, HTML4, a następnie HTML5, wprowadziły nowe typy pól, takie jak pola daty, koloru czy też adr...
Angular i formularze reaktywne. Praktyczny przewodnik Angular i formularze reaktywne. Praktyczny przewodnik
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
90.30 zł
129.00 zł(-30%)
Ebooka "Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-919-3160-8, 9781491931608
- Data wydania ebooka:
-
2016-10-06
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 5.5MB
- Rozmiar pliku Mobi:
- 13.5MB
Spis treści ebooka
- Foreword
- Introduction
- Who Should Read This Book
- Note from Ben Christensen
- Note from Tomasz Nurkiewicz
- Navigating This Book
- Online Resources
- Conventions Used in This Book
- Safari Books Online
- How to Contact Us
- Acknowledgments
- From Ben
- From Tomasz
- 1. Reactive Programming with RxJava
- Reactive Programming and RxJava
- When You Need Reactive Programming
- How RxJava Works
- Push versus Pull
- Async versus Sync
- In-memory data
- Synchronous computation (such as operators)
- Concurrency and Parallelism
- Lazy versus Eager
- Duality
- Cardinality
- Event stream
- Multiple values
- Composition
- Single
- Completable
- Zero to infinity
- Mechanical Sympathy: Blocking versus Nonblocking I/O
- Reactive Abstraction
- 2. Reactive Extensions
- Anatomy of rx.Observable
- Subscribing to Notifications from Observable
- Capturing All Notifications by Using Observer<T>
- Controlling Listeners by Using Subscription and Subscriber<T>
- Creating Observables
- Mastering Observable.create()
- Managing multiple subscribers
- Mastering Observable.create()
- Infinite Streams
- Timing: timer() and interval()
- Hot and Cold Observables
- Use Case: From Callback API to Observable Stream
- Manually Managing Subscribers
- rx.subjects.Subject
- ConnectableObservable
- Single Subscription with publish().refCount()
- ConnectableObservable Lifecycle
- Summary
- 3. Operators and Transformations
- Core Operators: Mapping and Filtering
- 1-to-1 Transformations Using map()
- Wrapping Up Using flatMap()
- Postponing Events Using the delay() Operator
- Order of Events After flatMap()
- Preserving Order Using concatMap()
- Controlling the concurrency of flatMap()
- Core Operators: Mapping and Filtering
- More Than One Observable
- Treating Several Observables as One Using merge()
- Pairwise Composing Using zip() and zipWith()
- When Streams Are Not Synchronized with One Another: combineLatest(), withLatestFrom(), and amb()
- withLatestFrom() operator
- amb() operator
- Advanced Operators: collect(), reduce(), scan(), distinct(), and groupBy()
- Scanning Through the Sequence with Scan and Reduce
- Reduction with Mutable Accumulator: collect()
- Asserting Observable Has Exactly One Item Using single()
- Dropping Duplicates Using distinct() and distinctUntilChanged()
- Slicing and Dicing Using skip(), takeWhile(), and Others
- Ways of Combining Streams: concat(), merge(), and switchOnNext()
- Criteria-Based Splitting of Stream Using groupBy()
- Where to Go from Here?
- Writing Customer Operators
- Reusing Operators Using compose()
- Implementing Advanced Operators Using lift()
- Looking under the hood of the map() operator
- Our first operator
- Summary
- 4. Applying Reactive Programming to Existing Applications
- From Collections to Observables
- BlockingObservable: Exiting the Reactive World
- Embracing Laziness
- Composing Observables
- Lazy paging and concatenation
- Imperative Concurrency
- flatMap() as Asynchronous Chaining Operator
- Replacing Callbacks with Streams
- Polling Periodically for Changes
- Multithreading in RxJava
- What Is a Scheduler?
- Scheduler implementation details overview
- What Is a Scheduler?
- Declarative Subscription with subscribeOn()
- subscribeOn() Concurrency and Behavior
- Batching Requests Using groupBy()
- Declarative Concurrency with observeOn()
- Other Uses for Schedulers
- Summary
- 5. Reactive from Top to Bottom
- Beating the C10k Problem
- Traditional Thread-Based HTTP Servers
- Single threaded server
- Traditional Thread-Based HTTP Servers
- Nonblocking HTTP Server with Netty and RxNetty
- Observable server with RxNetty
- Beating the C10k Problem
- Benchmarking Blocking versus Reactive Server
- Plain server returning 200 OKs
- Simulating server-side work
- Reactive HTTP Servers Tour
- HTTP Client Code
- Nonblocking HTTP Client with RxNetty
- Relational Database Access
- NOTIFY AND LISTEN on PostgreSQL Case Study
- CompletableFuture and Streams
- A Short Introduction to CompletableFuture
- Interoperability with CompletableFuture
- Turning CompletableFuture into Observable with single item
- From Observable to CompletableFuture
- Observable versus Single
- Creating and Consuming Single
- Combining Responses Using zip, merge, and concat
- Interoperability with Observable and CompletableFuture
- When to Use Single?
- Summary
- 6. Flow Control and Backpressure
- Flow Control
- Taking Periodic Samples and Throttling
- Buffering Events to a List
- Buffering by time periods
- Moving window
- Skipping Stale Events by Using debounce()
- Avoid starvation in debounce()
- Flow Control
- Backpressure
- Backpressure in RxJava
- Built-in Backpressure
- Producers and Missing Backpressure
- Honoring the Requested Amount of Data
- Summary
- 7. Testing and Troubleshooting
- Error Handling
- Where Are My Exceptions?
- Declarative try-catch Replacement
- Replacing errors with a fixed result using onErrorReturn()
- Lazily computing fallback value using onErrorResumeNext()
- Timing Out When Events Do Not Occur
- Retrying After Failures
- Retrying by using delay and limited attempts
- Error Handling
- Testing and Debugging
- Virtual Time
- Schedulers in Unit Testing
- Unit Testing
- Verifying emitted events
- Monitoring and Debugging
- doOn() Callbacks
- Measuring and Monitoring
- Summary
- 8. Case Studies
- Android Development with RxJava
- Avoiding Memory Leaks in Activities
- Retrofit with Native RxJava Support
- Schedulers in Android
- UI Events as Streams
- Android Development with RxJava
- Managing Failures with Hystrix
- The First Steps with Hystrix
- Nonblocking Commands with HystrixObservableCommand
- Bulkhead Pattern and Fail-Fast
- Batching and Collapsing Commands
- Monitoring and Dashboards
- Querying NoSQL Databases
- Couchbase Client API
- MongoDB Client API
- Camel Integration
- Consuming Files with Camel
- Receiving Messages from Kafka
- Java 8 Streams and CompletableFuture
- Usefulness of Parallel Streams
- Choosing the Appropriate Concurrency Abstraction
- When to Choose Observable?
- Memory Consumption and Leaks
- Operators Consuming Uncontrolled Amounts of Memory
- distinct() caching all seen events
- Buffering events with toList() and buffer()
- Caching with cache() and ReplaySubject
- Backpressure keeps memory usage low
- Operators Consuming Uncontrolled Amounts of Memory
- Summary
- 9. Future Directions
- Reactive Streams
- Observable and Flowable
- Performance
- Migration
- A. More HTTP Server Examples
- fork() Procedure in C Language
- Thread per Connection
- Thread Pool of Connections
- B. A Decision Tree of Observable Operators
- Index
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(203.15 zł najniższa cena z 30 dni)
207.44 zł
239.00 zł(-13%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(237.15 zł najniższa cena z 30 dni)
249.70 zł
289.00 zł(-14%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(194.65 zł najniższa cena z 30 dni)
207.10 zł
239.00 zł(-13%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(118.15 zł najniższa cena z 30 dni)
121.09 zł
149.00 zł(-19%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(194.65 zł najniższa cena z 30 dni)
206.39 zł
239.00 zł(-14%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(228.65 zł najniższa cena z 30 dni)
249.34 zł
289.00 zł(-14%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(152.15 zł najniższa cena z 30 dni)
155.10 zł
179.00 zł(-13%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(181.15 zł najniższa cena z 30 dni)
180.95 zł
219.00 zł(-17%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
209.00 zł(-15%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(148.56 zł najniższa cena z 30 dni)
148.06 zł
179.00 zł(-17%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications Tomasz Nurkiewicz, Ben Christensen (1)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(0)
(0)
(0)
(0)
(0)