Commit 669e5f3e authored by Julien SADAOUI's avatar Julien SADAOUI
Browse files

feat: upgrade spring-boot version at 2.1.3

parent 57238604
Pipeline #14347 failed with stages
in 29 seconds
# Coding Dojo : Reactive Programming
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant les projets **RX Java 2** et **Reactor**.
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant les projets **Rx Java 2** et **Reactor**.
Ce **Coding Dojo** est découpé en deux parties.
- La première partie sur **RX Java** pour apprendre les concepts de la programmation réactive, les bases de **RX Java**, la création de flux, les opérateurs, les **Scheduler** et les tests.
- La première partie sur **Rx Java** pour apprendre les concepts de la programmation réactive, les bases de **Rx Java**, la création de flux, les opérateurs, les **Scheduler** et les tests.
- La deuxième partie est axée sur la construction d'une une application web avec un flux réactif de bout en bout. Pour réaliser cette application, nous utiliserons le projet **Reactor** et le module **WebFlux** de **Spring** 5.
\ No newline at end of file
......@@ -25,8 +25,8 @@ mkdir install_tools
cd install_tools
# Install IntelliJ
wget https://download.jetbrains.com/idea/ideaIC-2018.3.1.tar.gz
tar -xzvf ideaIC-2018.3.1.tar.gz -C /opt
wget https://download-cf.jetbrains.com/idea/ideaIC-2018.3.5.tar.gz
tar -xzvf ideaIC-2018.3.5.tar.gz -C /opt
# Clone project
su - reactive-programming -c "cd coding-dojo && git clone https://gitlab.ippon.fr/coding-dojo/reactive-programming.git"
......@@ -36,8 +36,8 @@ cat > /usr/share/applications/intellij.desktop <<EOF
Type=Application
Terminal=false
Name=Intellij
Icon=/opt/idea-IC-183.4588.61/bin/idea.png
Exec=/opt/idea-IC-183.4588.61/bin/idea.sh
Icon=/opt/idea-IC-183.5912.21/bin/idea.png
Exec=/opt/idea-IC-183.5912.21/bin/idea.sh
EOF
cat > /usr/share/applications/reactive-programming.desktop <<EOF
......@@ -45,8 +45,8 @@ cat > /usr/share/applications/reactive-programming.desktop <<EOF
Type=Application
Terminal=false
Name=Reactive Programming
Icon=/opt/idea-IC-183.4588.61/bin/idea.png
Exec=/opt/idea-IC-183.4588.61/bin/idea.sh coding-dojo/reactive-programming
Icon=/opt/idea-IC-183.5912.21/bin/idea.png
Exec=/opt/idea-IC-183.5912.21/bin/idea.sh coding-dojo/reactive-programming
EOF
cat > /home/reactive-programming/Bureau/rxjava-docs.desktop <<EOF
......
# Coding Dojo : RX Java
# Coding Dojo : Rx Java
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant le projet **RX Java 2**.
Bienvenue dans ce **Coding Dojo** ciblé sur l'usage de la programmation réactive, en utilisant le projet **Rx Java 2**.
RX Java 2 est une librairie implémentant le paradigme de la programmation réactive. Dans ce **Coding Dojo**, vous apprendrez comment utiliser **RX Java 2**, les concepts, les opérateurs and les bonnes pratiques.
Rx Java 2 est une librairie implémentant le paradigme de la programmation réactive. Dans ce **Coding Dojo**, vous apprendrez comment utiliser **Rx Java 2**, les concepts, les opérateurs and les bonnes pratiques.
## Frameworks
Ci-dessous la liste des Frameworks utilisés :
* Java 11
* RX Java 2.2.4
* Lombok 1.18.4
* Rx Java 2.2
* Lombok
* SLF4J
* Logback
......@@ -64,7 +64,7 @@ Contrairement à un **Cold Stream**, un **HotStream** envoie les mêmes élémen
Les types de flux
RX Java possède plusieurs types Java afin de spécialiser certains flux :
Rx Java possède plusieurs types Java afin de spécialiser certains flux :
| Type | Description | Back pressure |
| ------------- | ---------------------------------------------------------------------|:--------------:|
......@@ -86,7 +86,7 @@ RX Java possède plusieurs types Java afin de spécialiser certains flux :
Operators
RX Java est riche en opérateurs. Un opérateur permet d'altérer un flux d'événements ainsi obtenir un nouveau flux. Dans cette section, nous allons introduire certains des opérateurs les plus utilisés.
Rx Java est riche en opérateurs. Un opérateur permet d'altérer un flux d'événements ainsi obtenir un nouveau flux. Dans cette section, nous allons introduire certains des opérateurs les plus utilisés.
Il existe différents types d'opérateurs classés par catégorie.
......@@ -106,13 +106,13 @@ Nous allons étudier les émissions de flux asynchrone, une émission asynchrone
Les **Scheduler** de RX Java peuvent changer le comportement des `thread` d'émission et de souscription. Par exemple, nous pouvons choisir le `thread` qui émet le flux de données. Un **Scheduler** est très similaire à un **Executor** du JDK.
RX Java gére la concurrence à notre place avec deux méthodes : `subscribeOn` pour changer le `thread` de l'émetteur et `observerOn` pour changer le `thread` du consommateur.
Rx Java gére la concurrence à notre place avec deux méthodes : `subscribeOn` pour changer le `thread` de l'émetteur et `observerOn` pour changer le `thread` du consommateur.
### G. Level 7
Testing
RX Java fournit un opérateur appelé `test` permettant de retourner une instance **TestObserver**
Rx Java fournit un opérateur appelé `test` permettant de retourner une instance **TestObserver**
Cet utilitaire permet de vérifier différents types de résultat attendu
......@@ -121,4 +121,4 @@ Cet utilitaire permet de vérifier différents types de résultat attendu
- Que le nombre d'éléments est correct
- Que les éléments arrivent bien dans l'ordre
RX Java fournit un deuxième utilitaire très utile pour les tests. Il s'agit de la classe **TestScheduler**, un scheduler conçu pour les tests. Il permet de contrôler l'horloge comme avancer le temps !
\ No newline at end of file
Rx Java fournit un deuxième utilitaire très utile pour les tests. Il s'agit de la classe **TestScheduler**, un scheduler conçu pour les tests. Il permet de contrôler l'horloge comme avancer le temps !
\ No newline at end of file
plugins {
id("java")
id("org.springframework.boot") version "2.1.1.RELEASE"
id("org.springframework.boot") version "2.1.3.RELEASE"
id("idea")
}
......
......@@ -32,12 +32,14 @@ Les frameworks utilisés pour ce coding dojo sont nombreux. Ci-dessous une liste
* Java 11
* JUnit 5
* Lombok 1.18.4
* Reactor 3.2.3
* Spring Boot 2.1.1
* Spring WebFlux 5.1.3
* Spring Security 5.1.2
* Netty 4.1.31
* Lombok
* Reactor 3.2
* Spring Boot 2.1
* Spring Framework 5.4
* Spring Data Mongo
* Spring WebFlux
* Spring Security
* Netty 4.1
* MongoDB
* Mongobee
* Etc.
......
plugins {
id("java")
id("org.springframework.boot") version "2.1.1.RELEASE"
id("org.springframework.boot") version "2.1.3.RELEASE"
id("idea")
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment