Soumettre la recherche
Mettre en ligne
Les monades Scala, Java 8
•
0 j'aime
•
1,163 vues
Fabrice Sznajderman
Suivre
Technozaure juin 2015
Lire moins
Lire la suite
Logiciels
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 32
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Introduction to Option monad in Scala
Introduction to Option monad in Scala
Jan Krag
Universitélang scala tools
Universitélang scala tools
Fabrice Sznajderman
Maven c'est bien, SBT c'est mieux
Maven c'est bien, SBT c'est mieux
Fabrice Sznajderman
Université des langages scala
Université des langages scala
Fabrice Sznajderman
Scala Intro
Scala Intro
Paolo Platter
Lagom, reactive framework
Lagom, reactive framework
Fabrice Sznajderman
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010
JUG Lausanne
Scala in Action - Heiko Seeburger
Scala in Action - Heiko Seeburger
JAX London
Recommandé
Introduction to Option monad in Scala
Introduction to Option monad in Scala
Jan Krag
Universitélang scala tools
Universitélang scala tools
Fabrice Sznajderman
Maven c'est bien, SBT c'est mieux
Maven c'est bien, SBT c'est mieux
Fabrice Sznajderman
Université des langages scala
Université des langages scala
Fabrice Sznajderman
Scala Intro
Scala Intro
Paolo Platter
Lagom, reactive framework
Lagom, reactive framework
Fabrice Sznajderman
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010
JUG Lausanne
Scala in Action - Heiko Seeburger
Scala in Action - Heiko Seeburger
JAX London
Getting Functional with Scala
Getting Functional with Scala
Jorge Paez
Paris stormusergroup intrudocution
Paris stormusergroup intrudocution
Paris_Storm_UG
Introduction to Spark with Scala
Introduction to Spark with Scala
Himanshu Gupta
Hammurabi
Hammurabi
Mario Fusco
Soutenance ysance
Soutenance ysance
nelsonverdier
Scala - A Scalable Language
Scala - A Scalable Language
Mario Gleichmann
Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008
Yardena Meymann
Mémoire de fin d'étude - La big data et les réseaux sociaux
Mémoire de fin d'étude - La big data et les réseaux sociaux
Chloé Marty
Lagom, reactive framework(chtijug2016)
Lagom, reactive framework(chtijug2016)
Fabrice Sznajderman
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Ippon
BDX 2016 - Tzach zohar @ kenshoo
BDX 2016 - Tzach zohar @ kenshoo
Ido Shilon
Infographic on Scala Programming Language
Infographic on Scala Programming Language
Paddy Lock
Scala: the language of languages - Mario Fusco (Red Hat)
Scala: the language of languages - Mario Fusco (Red Hat)
Scala Italy
Scala Intro
Scala Intro
Alexey (Mr_Mig) Migutsky
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
Paris_Storm_UG
Kafka & Hadoop - for NYC Kafka Meetup
Kafka & Hadoop - for NYC Kafka Meetup
Gwen (Chen) Shapira
Introduction to Scala
Introduction to Scala
Mohammad Hossein Rimaz
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
HBaseCon
Lagom : Reactive microservice framework
Lagom : Reactive microservice framework
Fabrice Sznajderman
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
HBaseCon
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
Association Agile Nantes
GetText / Rails - FR
GetText / Rails - FR
Sylvain Abélard
Contenu connexe
En vedette
Getting Functional with Scala
Getting Functional with Scala
Jorge Paez
Paris stormusergroup intrudocution
Paris stormusergroup intrudocution
Paris_Storm_UG
Introduction to Spark with Scala
Introduction to Spark with Scala
Himanshu Gupta
Hammurabi
Hammurabi
Mario Fusco
Soutenance ysance
Soutenance ysance
nelsonverdier
Scala - A Scalable Language
Scala - A Scalable Language
Mario Gleichmann
Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008
Yardena Meymann
Mémoire de fin d'étude - La big data et les réseaux sociaux
Mémoire de fin d'étude - La big data et les réseaux sociaux
Chloé Marty
Lagom, reactive framework(chtijug2016)
Lagom, reactive framework(chtijug2016)
Fabrice Sznajderman
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Ippon
BDX 2016 - Tzach zohar @ kenshoo
BDX 2016 - Tzach zohar @ kenshoo
Ido Shilon
Infographic on Scala Programming Language
Infographic on Scala Programming Language
Paddy Lock
Scala: the language of languages - Mario Fusco (Red Hat)
Scala: the language of languages - Mario Fusco (Red Hat)
Scala Italy
Scala Intro
Scala Intro
Alexey (Mr_Mig) Migutsky
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
Paris_Storm_UG
Kafka & Hadoop - for NYC Kafka Meetup
Kafka & Hadoop - for NYC Kafka Meetup
Gwen (Chen) Shapira
Introduction to Scala
Introduction to Scala
Mohammad Hossein Rimaz
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
HBaseCon
Lagom : Reactive microservice framework
Lagom : Reactive microservice framework
Fabrice Sznajderman
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
HBaseCon
En vedette
(20)
Getting Functional with Scala
Getting Functional with Scala
Paris stormusergroup intrudocution
Paris stormusergroup intrudocution
Introduction to Spark with Scala
Introduction to Spark with Scala
Hammurabi
Hammurabi
Soutenance ysance
Soutenance ysance
Scala - A Scalable Language
Scala - A Scalable Language
Scala at HUJI PL Seminar 2008
Scala at HUJI PL Seminar 2008
Mémoire de fin d'étude - La big data et les réseaux sociaux
Mémoire de fin d'étude - La big data et les réseaux sociaux
Lagom, reactive framework(chtijug2016)
Lagom, reactive framework(chtijug2016)
Démystifions le machine learning avec spark par David Martin pour le Salon B...
Démystifions le machine learning avec spark par David Martin pour le Salon B...
BDX 2016 - Tzach zohar @ kenshoo
BDX 2016 - Tzach zohar @ kenshoo
Infographic on Scala Programming Language
Infographic on Scala Programming Language
Scala: the language of languages - Mario Fusco (Red Hat)
Scala: the language of languages - Mario Fusco (Red Hat)
Scala Intro
Scala Intro
Apache Storm - Introduction au traitement temps-réel avec Storm
Apache Storm - Introduction au traitement temps-réel avec Storm
Kafka & Hadoop - for NYC Kafka Meetup
Kafka & Hadoop - for NYC Kafka Meetup
Introduction to Scala
Introduction to Scala
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
HBaseCon 2015: NRT Event Processing with Guaranteed Delivery of HTTP Callbacks
Lagom : Reactive microservice framework
Lagom : Reactive microservice framework
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
HBaseCon 2015: Industrial Internet Case Study using HBase and TSDB
Similaire à Les monades Scala, Java 8
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
Association Agile Nantes
GetText / Rails - FR
GetText / Rails - FR
Sylvain Abélard
GetText / Rails
GetText / Rails
Sylvain Abélard
Présentation JavaScript
Présentation JavaScript
tarkan_
Formation JavaScript - Guide de démarrage rapide
Formation JavaScript - Guide de démarrage rapide
Tarek Jellali
Eugenio Mauri: Goal directed requirements acquisition
Eugenio Mauri: Goal directed requirements acquisition
Eugenio Mauri
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
yassine kchiri
XebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le Cloud
Publicis Sapient Engineering
4711538.pptx
4711538.pptx
TarikElMahtouchi1
Similaire à Les monades Scala, Java 8
(9)
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
GetText / Rails - FR
GetText / Rails - FR
GetText / Rails
GetText / Rails
Présentation JavaScript
Présentation JavaScript
Formation JavaScript - Guide de démarrage rapide
Formation JavaScript - Guide de démarrage rapide
Eugenio Mauri: Goal directed requirements acquisition
Eugenio Mauri: Goal directed requirements acquisition
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
XebiConFr 15 - Développer dans le Cloud
XebiConFr 15 - Développer dans le Cloud
4711538.pptx
4711538.pptx
Les monades Scala, Java 8
1.
Les monades Scala, Java
8 Fabrice Sznajderman - Technozaure juin 2015
2.
Qui suis-je? • Chez
Zenika depuis décembre 2014 • Développeur • Java / Scala / Web • Big Data • Actuellement en mission chez ERDF
3.
Les Monades
4.
Objectifs • Définition (claire) •
Les types monadiques • Live coding
5.
Sondage • Qui connait
le terme « monade »?
6.
Sondage • Qui pense
ne jamais avoir utilisé une monade?
7.
Définition Chapitre 1
8.
Innocence…
9.
Définition formelle Théorie des
catégories source : Wikipédia
10.
Oh non !
11.
Définition formelle
12.
Définition pragmatique
13.
Une monade, c’est
comme une boite …
14.
? … vide ou
ayant un contenu …
15.
… qui fournit
des opérations … ? . Op
16.
… (que l’on
peut chaîner) … ? . Op1 . Op2 . Op3
17.
? … que l’on
va pouvoir appliquer sur le contenu (présent ou non) . Op
18.
Opérations • map() • flatmap() •
fold() • foreach() • filter() • …
19.
Définition pragmatique « Une monade
est comme une boite, vide ou ayant un contenu, qui nous fournit des opérations au dessus de la valeur éventuellement encapsulée. »
20.
Les types monadiques Chapitre
2
21.
Scala • Option • Try •
Either • List
22.
Option • Présence /
absence d’une valeur • Some / None
23.
Try • Gestion des
exceptions • Failure / Success
24.
Either • Gestion de
cas d’erreur (~ Try) • Left / Right
25.
List • Ensemble d’élément
de même type
26.
Java 8 • Optional •
Stream • Try (https://github.com/jasongoodwin/better-java-monads)
27.
Optional • Présence /
absence d’une valeur • Pas de sous type
28.
Stream • Ensemble d’élément
de même type • Flux
29.
Try • Gestion des
exceptions • Non intégré au JDK
30.
Live coding Chapitre 3
31.
Conclusion • + Lisibilité •
- Complexité • Il faut garder la maitrise
32.
Option(questions).map( _.answers).getOrElse(“Merci de
votre attention!”)
Télécharger maintenant