最新章節
- Summary
- Kotlin extensions
- Introducing RxBinding in Android
- Making Android events reactive
- RxKotlin with Retrofit
- Retrofit 2 for API calls
品牌:中圖公司
上架時間:2021-07-02 18:46:02
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Summary 更新時間:2021-07-02 22:27:09
- Kotlin extensions
- Introducing RxBinding in Android
- Making Android events reactive
- RxKotlin with Retrofit
- Retrofit 2 for API calls
- Getting started with ToDoApp on Android
- Setting up Kotlin in Android Studio
- Reactive Kotlin and Android
- Summary
- Understanding Flux and Mono
- Add Reactor to your project
- Reactive programming with Reactor
- REST API with Spring Boot Hibernate and JPA
- REST APIs with Spring JPA and Hibernate
- Summary
- Creating a Rest API with Spring Boot
- Introduction to Spring Boot
- Spring – AOP
- Spring Annotation configuration
- Dependency injection and IoC
- The origin and history of Spring
- Spring history and origin of Spring
- Introduction to Web Programming with Spring for Kotlin Developers
- Summary
- Composing operators with transformer
- Creating your own operators
- Resource management
- Resource Management and Extending RxKotlin
- Summary
- Understanding TestScheduler
- Introducing TestObserver and TestSubscriber
- Looping through all emissions - blockingForEach
- Getting all emissions as iterable - blockingIterable operator
- Getting the last Item - blockingLast
- Getting the only item from single or maybe - blockingGet
- Getting the first emitted item – blockingFirst()
- Blocking operators
- Blocking subscribers
- Testing in RxKotlin
- Testing your code
- Writing JUnit tests in Kotlin
- Why is unit testing so important?
- Introduction to unit testing and its importance
- Testing RxKotlin Applications
- Summary
- Observing on a different thread – observeOn operator
- Changing thread on subscription – subscribeOn operator
- How to use schedulers – subscribeOn and observeOn operators
- Schedulers.from
- Schedulers.trampoline()
- Schedulers.single()
- Schedulers.newThread()
- Schedulers.computation() - CPU bound schedulers
- Schedulers.io() - I/O bound scheduler
- Types of scheduler
- What is a scheduler?
- Parallel execution versus concurrency
- Introduction to concurrency
- Concurrency and Parallel Processing in RxKotlin with Schedulers
- Summary
- An HTTP example
- Retrying on error
- The onErrorResumeNext operator
- onErrorReturn – return a default value on error
- The error handling operators
- Take operators (take takeLast takeWhile and takeUntil)
- Skipping emissions (skip skipLast skipUntil and skipWhile)
- Skipping and taking emissions
- Understanding switchMap operator
- When to use concatMap operator
- When to use flatMap operator
- flatMap concatMap – In details
- Grouping
- Ambiguously combining producers
- Concatenating producers (Observable/Flowable)
- Merging Observables/Flowables – merge operator
- The combineLatest operator
- The zipWith operator
- Zipping emissions – zip operator
- The startWith operator
- Combining producers (Observable/Flowable)
- More on Operators and Error Handling
- Summary
- The utility operators
- The error handling operators
- The collection operators
- Accumulating emissions – reduce operator
- Counting emissions (count operator)
- Reducing operators
- Accumulating data – scan operator
- Sorting emissions (sorted operator)
- The startWith operator
- The switchIfEmpty operator
- The defaultIfEmpty operator
- The flatMap operator
- Casting emissions (cast operator)
- The map operator
- The transforming operators
- The ignoreElements operator
- The first and last operator
- Filtering emissions - filter operator
- The elementAt operator
- The distinct operators – distinct distinctUntilChanged
- The debounce operator
- The filtering/suppressing operators
- Operator
- Asynchronous Data Operators and Transformations
- Summary
- The throttle() operators
- The window() operator
- The buffer() operator
- Learning Buffer Throttle and Window operators
- Processor
- ConnectableFlowable
- Generating Flowable with backpressure at source
- Operator onBackpressureLatest()
- Operator onBackpressureDrop()
- Operator onBackpressureBuffer()
- BackpressureStrategy.MISSING and onBackpressureXXX()
- Creating Flowable from Observable
- Creating Flowable from scratch
- Flowable and Subscriber
- When to use Observables?
- When to use Flowables?
- When to use Flowables and Observables
- Flowable
- Understanding backpressure
- Introduction to Backpressure and Flowables
- Summary
- Understanding ReplaySubject
- Understanding BehaviorSubject
- Understanding PublishSubject
- Understanding AsyncSubject
- Varieties of Subject
- Subjects
- Introducing the ConnectableObservable object
- Hot Observables
- Cold Observables
- Hot and Cold Observables
- Subscribing and disposing
- Subscribers - the Observer interface
- Other Observable factory methods
- Understanding the Observable.just method
- Understanding the toObservable extension function
- Understanding the Observable.from methods
- Understanding the Observable.create method
- How Observable works
- Observables
- Observables Observers and Subjects
- Summary
- Single monad
- Functional programming – monads
- The ReactiveCalculator class with coroutines
- Building sequences
- Getting started with coroutines
- Coroutines
- Applying functional programming to the ReactiveCalculator class
- Inline functions
- High-order functions
- Pure function
- Lambda expressions
- Fundamentals of functional programming
- Introducing functional programming
- Functional Programming with Kotlin and RxKotlin
- Summary
- The ReactiveCalculator project
- The ReactiveEvenOdd program
- Comparing the pull mechanism with the RxJava push mechanism
- Downloading and setting up RxKotlin
- Getting started with RxKotlin
- Reactive Frameworks for Kotlin
- Reactive Streams standard specifications
- Reactive Manifesto
- Reasons to adapt functional reactive programming
- What is reactive programming?
- A Short Introduction to Reactive Programming
- Questions
- Piracy
- Errata
- Downloading the color images of this book
- Downloading the example code
- Customer support
- Reader feedback
- Conventions
- Who this book is for
- What you need for this book
- What this book covers
- Preface
- Dedication
- Customer Feedback
- Why subscribe?
- www.PacktPub.com
- About the Reviewers
- About the Author
- Credits
- 版權信息
- 封面
- 封面
- 版權信息
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Dedication
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- A Short Introduction to Reactive Programming
- What is reactive programming?
- Reasons to adapt functional reactive programming
- Reactive Manifesto
- Reactive Streams standard specifications
- Reactive Frameworks for Kotlin
- Getting started with RxKotlin
- Downloading and setting up RxKotlin
- Comparing the pull mechanism with the RxJava push mechanism
- The ReactiveEvenOdd program
- The ReactiveCalculator project
- Summary
- Functional Programming with Kotlin and RxKotlin
- Introducing functional programming
- Fundamentals of functional programming
- Lambda expressions
- Pure function
- High-order functions
- Inline functions
- Applying functional programming to the ReactiveCalculator class
- Coroutines
- Getting started with coroutines
- Building sequences
- The ReactiveCalculator class with coroutines
- Functional programming – monads
- Single monad
- Summary
- Observables Observers and Subjects
- Observables
- How Observable works
- Understanding the Observable.create method
- Understanding the Observable.from methods
- Understanding the toObservable extension function
- Understanding the Observable.just method
- Other Observable factory methods
- Subscribers - the Observer interface
- Subscribing and disposing
- Hot and Cold Observables
- Cold Observables
- Hot Observables
- Introducing the ConnectableObservable object
- Subjects
- Varieties of Subject
- Understanding AsyncSubject
- Understanding PublishSubject
- Understanding BehaviorSubject
- Understanding ReplaySubject
- Summary
- Introduction to Backpressure and Flowables
- Understanding backpressure
- Flowable
- When to use Flowables and Observables
- When to use Flowables?
- When to use Observables?
- Flowable and Subscriber
- Creating Flowable from scratch
- Creating Flowable from Observable
- BackpressureStrategy.MISSING and onBackpressureXXX()
- Operator onBackpressureBuffer()
- Operator onBackpressureDrop()
- Operator onBackpressureLatest()
- Generating Flowable with backpressure at source
- ConnectableFlowable
- Processor
- Learning Buffer Throttle and Window operators
- The buffer() operator
- The window() operator
- The throttle() operators
- Summary
- Asynchronous Data Operators and Transformations
- Operator
- The filtering/suppressing operators
- The debounce operator
- The distinct operators – distinct distinctUntilChanged
- The elementAt operator
- Filtering emissions - filter operator
- The first and last operator
- The ignoreElements operator
- The transforming operators
- The map operator
- Casting emissions (cast operator)
- The flatMap operator
- The defaultIfEmpty operator
- The switchIfEmpty operator
- The startWith operator
- Sorting emissions (sorted operator)
- Accumulating data – scan operator
- Reducing operators
- Counting emissions (count operator)
- Accumulating emissions – reduce operator
- The collection operators
- The error handling operators
- The utility operators
- Summary
- More on Operators and Error Handling
- Combining producers (Observable/Flowable)
- The startWith operator
- Zipping emissions – zip operator
- The zipWith operator
- The combineLatest operator
- Merging Observables/Flowables – merge operator
- Concatenating producers (Observable/Flowable)
- Ambiguously combining producers
- Grouping
- flatMap concatMap – In details
- When to use flatMap operator
- When to use concatMap operator
- Understanding switchMap operator
- Skipping and taking emissions
- Skipping emissions (skip skipLast skipUntil and skipWhile)
- Take operators (take takeLast takeWhile and takeUntil)
- The error handling operators
- onErrorReturn – return a default value on error
- The onErrorResumeNext operator
- Retrying on error
- An HTTP example
- Summary
- Concurrency and Parallel Processing in RxKotlin with Schedulers
- Introduction to concurrency
- Parallel execution versus concurrency
- What is a scheduler?
- Types of scheduler
- Schedulers.io() - I/O bound scheduler
- Schedulers.computation() - CPU bound schedulers
- Schedulers.newThread()
- Schedulers.single()
- Schedulers.trampoline()
- Schedulers.from
- How to use schedulers – subscribeOn and observeOn operators
- Changing thread on subscription – subscribeOn operator
- Observing on a different thread – observeOn operator
- Summary
- Testing RxKotlin Applications
- Introduction to unit testing and its importance
- Why is unit testing so important?
- Writing JUnit tests in Kotlin
- Testing your code
- Testing in RxKotlin
- Blocking subscribers
- Blocking operators
- Getting the first emitted item – blockingFirst()
- Getting the only item from single or maybe - blockingGet
- Getting the last Item - blockingLast
- Getting all emissions as iterable - blockingIterable operator
- Looping through all emissions - blockingForEach
- Introducing TestObserver and TestSubscriber
- Understanding TestScheduler
- Summary
- Resource Management and Extending RxKotlin
- Resource management
- Creating your own operators
- Composing operators with transformer
- Summary
- Introduction to Web Programming with Spring for Kotlin Developers
- Spring history and origin of Spring
- The origin and history of Spring
- Dependency injection and IoC
- Spring Annotation configuration
- Spring – AOP
- Introduction to Spring Boot
- Creating a Rest API with Spring Boot
- Summary
- REST APIs with Spring JPA and Hibernate
- REST API with Spring Boot Hibernate and JPA
- Reactive programming with Reactor
- Add Reactor to your project
- Understanding Flux and Mono
- Summary
- Reactive Kotlin and Android
- Setting up Kotlin in Android Studio
- Getting started with ToDoApp on Android
- Retrofit 2 for API calls
- RxKotlin with Retrofit
- Making Android events reactive
- Introducing RxBinding in Android
- Kotlin extensions
- Summary 更新時間:2021-07-02 22:27:09