SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
1DEVFEST NANTES 16
DEVFEST NANTES 16
Jigsaw
est prêt à tuer le
classpath
@AlexisHassler - #devfestnantes
"Classpath is dead!"
Mark Reinhold
JavaOne 2009
3DEVFEST NANTES 16
Classpath Classloader
Succession
Jigsaw
4DEVFEST NANTES 16
Alexis Hassler
Développeur
Formateur
Indépendant
Fondateur
Préparateur de
Classpath
https://www.fickr.com/photos/summonedbyfells/15007676965
6DEVFEST NANTES 16
String hello = "Salut à vous tous les zazous";
Chercher les classes
CLASSPATH
Hello var = new Hello();
7DEVFEST NANTES 16
-classpath
java -cp hello-lib.jar HelloWorld
8DEVFEST NANTES 16
Erreurs
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException
https://www.fickr.com/photos/rocketboom/2816790116
Class Loader
https://www.fickr.com/photos/15574096@N00/12119344725/
10DEVFEST NANTES 16
java.lang.ClassLoader
loadClass(String name) : Class<?>
getResource(String name) : URL
getResourceAsStream(String name) : InputStream
getParent() : ClassLoader
11DEVFEST NANTES 16
Classloader
sun.misc.Launcher$AppClassLoader
CLASSPATH
Hello.class.getClassLoader()
12DEVFEST NANTES 16
Classloader
null
Hello.class.getClassLoader()
.getClass().getClassLoader()
13DEVFEST NANTES 16
Bootstrap Classloader
BootstrapClassLoader
14DEVFEST NANTES 16
Délégation
BootstrapClassLoader
Parent
frst
System ClassLoader
15DEVFEST NANTES 16
Délégation
System ClassLoader
java -cp hello-lib.jar ...
16DEVFEST NANTES 16
bootclasspath
java -Xbootclasspath/p:hello-lib.jar ...
java -Xbootclasspath:hello-rt.jar ...
java -Xbootclasspath/a:hello-lib.jar ...
BootstrapClassLoader
https://github.com/hasalex/classpath-demo
18DEVFEST NANTES 16
Démonstration
BootstrapClassLoader
java -cp example.jar fr.sewatech.classpath.Count
System ClassLoader
java.lang.Integer
example.jar
java.lang.Integer
19DEVFEST NANTES 16
example.jar
Démonstration
java  -Xbootclasspath/p:example.jar  fr.sewatech.classpath.Count
BootstrapClassLoader
java.lang.Integer
java.lang.Integer
20DEVFEST NANTES 16
URLClassloader
java.net.URLClassLoader
sun.misc.Launcher$AppClassLoader
URLURLURL
21DEVFEST NANTES 16
URLClassloader
System ClassLoader
Bootstrap ClassLoader
URL ClassLoader
URL ClassLoader
URL ClassLoader
Parent
frst
Parent
frst
Parent
frst
22DEVFEST NANTES 16
DIY Classloader
23DEVFEST NANTES 16
Usages
Application Servers
JRebel
Javassist, CGLib,...
24DEVFEST NANTES 16
Tomcat
System
Bootstrap
Common
Webapp1
Webapp2
Webapp3
Local First
message-launcher
message-main
message-common
message-printer
message-service
26DEVFEST NANTES 16
Démonstration
message-launcher
message-common
message-printer
message-service
message-service
System ClassLoader ParentFirst ClassLoader
27DEVFEST NANTES 16
Démonstration
message-launcher
message-common
message-printer
message-service
message-service
System ClassLoader LocalFirst ClassLoader
https://www.fickr.com/photos/delete08/5971235700/
29DEVFEST NANTES 16 http://www.ironmaidenwallpaper.com/
30DEVFEST NANTES 16
Dépendances
Maven,
Gradle,
...
31DEVFEST NANTES 16
Dépendances
Classpath
https://github.com/hasalex/classpath-demo
33DEVFEST NANTES 16
Démonstration
slf4j-api
1.5.11
slf4j-api
1.7.2
message-launcher
message-main
message-common
message-printer
message-service
34DEVFEST NANTES 16
Granularité
Sécurité
Apache commons-collections
https://foxglovesecurity.com/
Succession
36DEVFEST NANTES 16
Modularité
Dépendance
Exposition
Lecture
37DEVFEST NANTES 16
1999
Java embarqué
Java SE
Java serveur
38DEVFEST NANTES 16
Bundle-Name = Hello Service
Bundle-SymbolicName = hello-service
Bundle-Description = Hello Service Bundle
Bundle-Version = 1.0.1
Export-Package = fr.sewatech.classpath
Import-Package = fr.sewatech.classpath.print;version=1.3
OSGi
Bundle
39DEVFEST NANTES 16
OSGi
OS + Hardware
Java Runtime
Module
Life Cycle Services
40DEVFEST NANTES 16
JBoss Modules
java -jar jboss-modules.jar -mp path/to/modules
my.main.module.name
Base de JBoss OSGi
Java SE
41DEVFEST NANTES 16
JBoss Modules
module.xml
resource dependency slot
dependency slot
dependency slot
name slot
resource
resource
42DEVFEST NANTES 16
Jigsaw
9 (2016)
8 (2012)
(2017)
Projet
Intégré au JDK 7 (2008)
43DEVFEST NANTES 16
Jigsaw
Modularité du JDK
44DEVFEST NANTES 16
Jigsaw
Modularité des applications
// module-info.java
module message.service {
requires java.xml.bind;
requires message.common;
exports fr.sewatech.message;
}
45DEVFEST NANTES 16
Jigsaw
Compilation
javac --module-path modules 
-d target/classes/ 
$(find src/main/java/ -name "*.java")
46DEVFEST NANTES 16
Jigsaw
Exécution
java --module-path jigsaw-modules 
-m misc.examples/fr.sewatech.example.Main
https://github.com/hasalex/classpath-demo
Jigsaw ++
https://www.fickr.com/photos/intvgene/370973576
49DEVFEST NANTES 16
Classpath mode
java -classpath lib/* fr.sewatech.example.Main
50DEVFEST NANTES 16
Modular JDK
rt.jar tools.jar
51DEVFEST NANTES 16
Modular JDK
https://github.com/hasalex/classpath-demo
53DEVFEST NANTES 16
Dependencies
module message.service {
requires message.printer;
requires slf4j.api;
}
module message.printer {
requires transitive message.common;
}
message.printer
message.service
message.common
54DEVFEST NANTES 16
module message.service {
requires message.printer;
requires slf4j.api;
}
Dependencies
Automatic modules slf4j-api-1.5.2.
slf4j.api
message.service
55DEVFEST NANTES 16
Dependencies
Classpath
message.common
message.printer
unnamed
message.service
56DEVFEST NANTES 16
Dependencies
module message.service @ 1.0 {
requires message.printer @ 1.0;
requires slf4j.api @ 1.7;
}
Module version
https://github.com/hasalex/classpath-demo
58DEVFEST NANTES 16
Exports
Accessibility
public
protected
package
private
inside a module
59DEVFEST NANTES 16
Exports
Accessibility
public for other modules
module message.service {
exports fr.sewatech.message;
}
60DEVFEST NANTES 16
Exports
Accessibility
public for some modules
module java.base {
exports sun.reflect to
java.logging,
java.sql,
jdk.scripting.nashorn;
}
61DEVFEST NANTES 16
field.setAccessible(true);
Exports
java.lang.reflect.InaccessibleObjectException
Refection
module message.service {
exports private java.security;
}
https://github.com/hasalex/classpath-demo
63DEVFEST NANTES 16
Classloader
java.net.URLClassLoader FLTMClassLoader
java.lang.ClassLoader
64DEVFEST NANTES 16
BootClassLoader
bootclasspath
java -Xbootclasspath/p:hello-lib.jar ...
java -Xbootclasspath:hello-rt.jar ...
java -Xbootclasspath/a:hello-lib.jar ...
65DEVFEST NANTES 16
Patch
Compile
Run
javac -Xmodule:java.base 
-d ../patch-classes 
src/java/lang/Integer.java
java --patch-module java.base=patch.jar 
--module-path jigsaw-modules 
-m misc.examples
https://github.com/hasalex/classpath-demo
Jigsaw ++
++
https://www.fickr.com/photos/foot-slogger/901793825/
68DEVFEST NANTES 16
Aller plus haw avec Jigsaw
Service Providers / Loaders
Layers : versioning
jlink : custom JRE
jdeps : migration
...
Quand ?
https://www.fickr.com/photos/mars_/18189674562/
70DEVFEST NANTES 16
Planning
Java SE 9
71DEVFEST NANTES 16
Planning
Outils ?
Maven, Gradle, IDE
Livrairies ?
SLF4J, Guava,...
Frameworks ?
Spring, Hibernate,...
Runtimes ?
Java EE, Tomcat,...
Hadoop,...
72DEVFEST NANTES 16
Essayer...
https://jdk9.java.net/download/
Exécutable d'installation
https://jdk9.java.net/jigsaw/
Archive
Dernières évolutions de Jigsaw
73DEVFEST NANTES 16
Apprendre +
JavaOne
http://openjdk.java.net/projects/jigsaw/talks/
Quick-Start Guide
http://openjdk.java.net/projects/jigsaw/quick-start
The State of the Module System
http://openjdk.java.net/projects/jigsaw/spec/sotms/
74DEVFEST NANTES 16
module-path is born
classpath is NOT dead
Conclusion
76DEVFEST NANTES 16
https://www.sewatech.fr
@AlexisHassler
http://alexis-hassler.com
https://www.fickr.com/photos/a-hassler/28532230893

Mais conteúdo relacionado

Destaque (19)

Algo Mio
Algo MioAlgo Mio
Algo Mio
 
Ana GarcíA Mi Pueblo
Ana GarcíA Mi PuebloAna GarcíA Mi Pueblo
Ana GarcíA Mi Pueblo
 
El gato del mago
El gato del magoEl gato del mago
El gato del mago
 
6
66
6
 
smurfit stone container 1Q06_FR
smurfit stone container 1Q06_FRsmurfit stone container 1Q06_FR
smurfit stone container 1Q06_FR
 
Sobre La Felicidad
Sobre La FelicidadSobre La Felicidad
Sobre La Felicidad
 
Quiero
QuieroQuiero
Quiero
 
Pintura Camiones
Pintura CamionesPintura Camiones
Pintura Camiones
 
P U E R T A S D E L A N A V I D A D
P U E R T A S  D E  L A  N A V  I D A DP U E R T A S  D E  L A  N A V  I D A D
P U E R T A S D E L A N A V I D A D
 
PRESENTACION 4
PRESENTACION 4PRESENTACION 4
PRESENTACION 4
 
Edelman Trust Barometer 2010, France
Edelman Trust Barometer 2010, FranceEdelman Trust Barometer 2010, France
Edelman Trust Barometer 2010, France
 
Juanitoenel Ipem6
Juanitoenel Ipem6Juanitoenel Ipem6
Juanitoenel Ipem6
 
Elwiwichu
ElwiwichuElwiwichu
Elwiwichu
 
Cartade Sarah
Cartade SarahCartade Sarah
Cartade Sarah
 
Fotolog
FotologFotolog
Fotolog
 
Histoire Littéraire Néerlandaise Le Moyen âge
Histoire Littéraire Néerlandaise   Le Moyen âgeHistoire Littéraire Néerlandaise   Le Moyen âge
Histoire Littéraire Néerlandaise Le Moyen âge
 
F A N T A S T I C O R C
F A N T A S T I C O R CF A N T A S T I C O R C
F A N T A S T I C O R C
 
Kimono Guadalupano
Kimono GuadalupanoKimono Guadalupano
Kimono Guadalupano
 
la escencia de un abrazo
la escencia de un abrazola escencia de un abrazo
la escencia de un abrazo
 

Semelhante a DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java

Semelhante a DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java (20)

LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
 
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw  est prêt à tuer le classpathSoft-Shake 2016 : Jigsaw  est prêt à tuer le classpath
Soft-Shake 2016 : Jigsaw est prêt à tuer le classpath
 
DevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern JavaDevNexus 2020: Discover Modern Java
DevNexus 2020: Discover Modern Java
 
ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...ElsassJUG - Le classpath n'est pas mort...
ElsassJUG - Le classpath n'est pas mort...
 
Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016Ratpack JVM_MX Meetup February 2016
Ratpack JVM_MX Meetup February 2016
 
Integrating tornado and webpack
Integrating tornado and webpackIntegrating tornado and webpack
Integrating tornado and webpack
 
What we can expect from Java 9 by Ivan Krylov
What we can expect from Java 9 by Ivan KrylovWhat we can expect from Java 9 by Ivan Krylov
What we can expect from Java 9 by Ivan Krylov
 
How Scala code is expressed in the JVM
How Scala code is expressed in the JVMHow Scala code is expressed in the JVM
How Scala code is expressed in the JVM
 
Migrating to Java 9 Modules
Migrating to Java 9 ModulesMigrating to Java 9 Modules
Migrating to Java 9 Modules
 
DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9DevoxxFR17 - Préparez-vous à la modularité selon Java 9
DevoxxFR17 - Préparez-vous à la modularité selon Java 9
 
Devoxx17 - Préparez-vous à la modularité selon Java 9
Devoxx17 - Préparez-vous à la modularité selon Java 9Devoxx17 - Préparez-vous à la modularité selon Java 9
Devoxx17 - Préparez-vous à la modularité selon Java 9
 
Eric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build systemEric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build system
 
Java 9 preview
Java 9 previewJava 9 preview
Java 9 preview
 
Java On Speed
Java On SpeedJava On Speed
Java On Speed
 
Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)Apache Maven supports all Java (JokerConf 2018)
Apache Maven supports all Java (JokerConf 2018)
 
Making The Move To Java 17 (JConf 2022)
Making The Move To Java 17 (JConf 2022)Making The Move To Java 17 (JConf 2022)
Making The Move To Java 17 (JConf 2022)
 
Portable, secure, and lightweight: Wasm runtimes and their use-cases - Natali...
Portable, secure, and lightweight: Wasm runtimes and their use-cases - Natali...Portable, secure, and lightweight: Wasm runtimes and their use-cases - Natali...
Portable, secure, and lightweight: Wasm runtimes and their use-cases - Natali...
 
Inside the JVM - Follow the white rabbit!
Inside the JVM - Follow the white rabbit!Inside the JVM - Follow the white rabbit!
Inside the JVM - Follow the white rabbit!
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy Plugins
 
Head toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DMHead toward Java 14 and Java 15 #LINE_DM
Head toward Java 14 and Java 15 #LINE_DM
 

Mais de Alexis Hassler

DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - Arquillian
Alexis Hassler
 
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presqueDevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
Alexis Hassler
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012
Alexis Hassler
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
Alexis Hassler
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012
Alexis Hassler
 

Mais de Alexis Hassler (20)

INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016INSA Lyon - Java in da Cloud - 06/2016
INSA Lyon - Java in da Cloud - 06/2016
 
LorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mortLorraineJUG - Le classpath n'est pas mort
LorraineJUG - Le classpath n'est pas mort
 
LorraineJUG - WildFly
LorraineJUG - WildFlyLorraineJUG - WildFly
LorraineJUG - WildFly
 
INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014INSA - Java in Ze Cloud - 2014
INSA - Java in Ze Cloud - 2014
 
softshake 2014 - Java EE
softshake 2014 - Java EEsoftshake 2014 - Java EE
softshake 2014 - Java EE
 
INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)INSA - Java in ze Cloud (2013)
INSA - Java in ze Cloud (2013)
 
MarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presqueMarsJUG - Le classpath n'est pas mort, mais presque
MarsJUG - Le classpath n'est pas mort, mais presque
 
MarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec ArquillianMarsJUG - Une nouvelle vision des tests avec Arquillian
MarsJUG - Une nouvelle vision des tests avec Arquillian
 
JUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec ArquillianJUG Summer Camp - Une nouvelle vision des tests avec Arquillian
JUG Summer Camp - Une nouvelle vision des tests avec Arquillian
 
DevoxxFR 2013 - Arquillian
DevoxxFR 2013 - ArquillianDevoxxFR 2013 - Arquillian
DevoxxFR 2013 - Arquillian
 
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presqueDevoxxFR 2013 - Le classpath n'est pas mort, mais presque
DevoxxFR 2013 - Le classpath n'est pas mort, mais presque
 
Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012Java in ze Cloud - INSA - nov. 2012
Java in ze Cloud - INSA - nov. 2012
 
Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012Arquillian - YaJUG - nov. 2012
Arquillian - YaJUG - nov. 2012
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuages
 
Arquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuagesArquillian : Tester sur terre et dans les nuages
Arquillian : Tester sur terre et dans les nuages
 
Arquillian, un alien en Bretagne
Arquillian, un alien en BretagneArquillian, un alien en Bretagne
Arquillian, un alien en Bretagne
 
Tester la persistance Java avec Arquillian
Tester la persistance Java avec ArquillianTester la persistance Java avec Arquillian
Tester la persistance Java avec Arquillian
 
Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012Arquillian - Ippevent 01/2012
Arquillian - Ippevent 01/2012
 
JavaEE - Test & Deploy
JavaEE - Test & DeployJavaEE - Test & Deploy
JavaEE - Test & Deploy
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

DevFest Nantes 2016 - Jigsaw est prêt à tuer le classpath Java