Code Monkey home page Code Monkey logo

reactivelab's Introduction

ReactiveLab

A Lab about backend reactive technologies for Java 8

reactivelab's People

Contributors

jabrena avatar

Stargazers

 avatar

Watchers

 avatar  avatar

reactivelab's Issues

Add contents for Game 3

Functional Programming is a concept which treats functions as first class citizens. At the core of functional programming is immutability. It emphasizes on application of functions in contrast to imperative programming style which emphasizes on change in state.
https://www.jcp.org/aboutJava/communityprocess/final/jsr335/index.html

Exercises:

  • Lambdas
  • Difference between Lambda Expression and Anonymous class
  • Monads
  • Stream API
  • Streams and Parallel Streams
  • Functions & Primitives
  • Currying vs Closures
  • Pure function
  • @FunctionalInterface
  • Built-in Functional Interfaces
  • Passing behaviours
  • Function chaining

https://rosettacode.org/wiki/Rosetta_Code
http://www.learntosolveit.com/#java-programming-language
https://www.lucidchart.com/techblog/2016/11/22/tracking-data-in-complex-java-code-a-functional-programming-approach/
https://pawelwlodarski.gitbooks.io/functional-programming/content/functions_in_java_-_intro.html
https://github.com/PawelWlodarski/workshops-javafp
https://pawelwlodarski.gitbooks.io/functional-programming/content/workshop1.html

Add contents for Game 5

ReactiveX:
An API for asynchronous programming with observable streams

http://reactivex.io/
https://github.com/ReactiveX/RxJava
https://github.com/Reactive-Extensions/
http://rxmarbles.com/
https://en.wikipedia.org/wiki/Observer_pattern

The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.

                single items	                multiple items
synchronous	 T getData()	                Iterable<T> getData()
asynchronous	 Future<T> getData()	Observable<T> getData()

Observables Are Composable
Techniques like Java Futures are straightforward to use for a single level of asynchronous execution but they start to add non-trivial complexity when they’re nested.

It is difficult to use Futures to optimally compose conditional asynchronous execution flows (or impossible, since latencies of each request vary at runtime). This can be done, of course, but it quickly becomes complicated (and thus error-prone) or it prematurely blocks on Future.get(), which eliminates the benefit of asynchronous execution.

ReactiveX Observables, on the other hand, are intended for composing flows and sequences of asynchronous data.

https://gist.github.com/benjchristensen/4670979
https://gist.github.com/benjchristensen/4671081
https://gist.github.com/benjchristensen/4671081#file-futuresb-java-L163
https://gist.github.com/benjchristensen/4677544

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.