Reactive Programming with RxJava. Creating Asynchronous, Event-Based Applications
- Autorzy:
- Tomasz Nurkiewicz, Ben Christensen
- 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
-
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%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor n...(41.40 zł najniższa cena z 30 dni)
48.30 zł
69.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%) -
Rosnące możliwości różnych form sztucznej inteligencji niepokoją ludzi od kilkudziesięciu lat. Stopniowo uzależniamy się od ciągłej asysty nowoczesnych technologii, jednak coraz doskonalsze metody uczenia maszynowego, dostępna i potężna moc obliczeniowa korzystająca z niewyobrażalnie wielkich zas...
Człowiek na rozdrożu. Sztuczna inteligencja 25 punktów widzenia Człowiek na rozdrożu. Sztuczna inteligencja 25 punktów widzenia
(29.40 zł najniższa cena z 30 dni)34.30 zł
49.00 zł(-30%) -
Książka Tworzenie nowoczesnych systemów webowych przedstawia najpopularniejsze technologie webowe i techniki programowania wykorzystywane przy tworzeniu aplikacji internetowych. Dowiesz się z niej, jak skonfigurować odpowiednie środowisko pracy, pracować z użyciem zwinnych metodyk, projektować ro...(14.90 zł najniższa cena z 30 dni)
20.35 zł
37.00 zł(-45%) -
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition Build Your Own Programming Language. A developer's comprehensive guide to crafting, compiling, and implementing programming languages - Second Edition
-
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Java należy do najpopularniejszych języków programowania na świecie. Używana przez miliony programistów, jest na tyle uniwersalna, że znajduje zastosowanie zarówno w aplikacjach desktopowych, mobilnych, jak i serwerowych, a także w zaawansowanych systemach zarządzania bazami danych. Z jej zalet k...
Java 21. Kurs video. Od "Hello World!" do programowania obiektowego Java 21. Kurs video. Od "Hello World!" do programowania obiektowego
(39.60 zł najniższa cena z 30 dni)54.45 zł
99.00 zł(-45%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
62.30 zł
89.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
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(177.65 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
101.15 zł
119.00 zł(-15%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
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
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)