From 8ae1bdc7be919ac0d371f236dda964edfdd534ef Mon Sep 17 00:00:00 2001 From: Patrick Date: Sun, 29 Oct 2023 22:49:55 +0100 Subject: [PATCH] Initial commit --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..55e7b3e --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# RxJS Learning Path (Pareto Principle) + +## 1. Understanding the Basics of Reactive Programming +- [ ] Concept of Streams: Learn what streams are in the context of RxJS. +- [ ] Observables: Understand observables, the core abstraction in RxJS. +- [ ] Observer Pattern: Learn how observers subscribe to observables. + +## 2. Core Operations with Observables +- [ ] Creating Observables: Use creation functions like `of`, `from`, `interval`, and `new Observable()`. +- [ ] Subscribing: Understand the `subscribe` method and how to handle data, errors, and completion. +- [ ] Disposing: Learn how to unsubscribe and clean up with the `unsubscribe` method to prevent memory leaks. + +## 3. Transforming Data Streams +- [ ] Map and Pluck: Transform the items emitted by an Observable. +- [ ] Filter: Filter data based on conditions. +- [ ] Reduce: Accumulate data over time. + +## 4. Combining Streams +- [ ] Merge and Concat: Combine multiple observables into one. +- [ ] SwitchMap: Cancel previous inner observable on a new value. +- [ ] CombineLatest: Combine multiple observables, emitting the latest values of each. + +## 5. Controlling the Flow +- [ ] Debounce and Throttle: Control the number of events based on time. +- [ ] Take and First: Limit the number of items from an observable. +- [ ] Skip: Ignore the first n items. + +## 6. Error Handling +- [ ] CatchError: Handle errors within the observable chain. +- [ ] Retry: Retry an observable sequence on error. + +## 7. Subjects and Multicasted Observables +- [ ] Subject: Understand how a Subject can act as both an Observable and an Observer. +- [ ] BehaviorSubject: Know how to use BehaviorSubject for holding and emitting the latest value. +- [ ] ReplaySubject: Learn how to buffer and replay emissions to new subscribers. + +## 8. Utility Operators +- [ ] Tap: Tap into an observable sequence to perform side effects. +- [ ] Delay: Delay the emissions of an observable. + +## 9. Advanced Concepts +- [ ] Hot vs Cold Observables: Understand the difference between hot and cold observables. +- [ ] Schedulers: Learn how schedulers control concurrency. + +## 10. Best Practices and Common Usage Patterns +- [ ] Resource Management: Learn how to use operators like `using` and `finalize` to manage resources. +- [ ] Higher-Order Observables: Get comfortable with observables that emit other observables and how to flatten them with operators like `concatAll` or `mergeAll`. + +## Resources to Follow +- [ ] Official Documentation: Start with the official RxJS docs for the most accurate information. +- [ ] Tutorials: Look for hands-on tutorials that focus on the key concepts listed above. +- [ ] GitHub Repositories: Find and study real-world projects using RxJS. +- [ ] Courses and Videos: Use platforms like Coursera, Udemy, or free YouTube tutorials that emphasize the core 20%. +- [ ] Community: Engage with the community on platforms like Stack Overflow, Reddit, or RxJS Gitter. +