SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
@ljacomet#DevoxxMA #ehcache
Ehcache 3
JSR-107 on steroids
Louis Jacomet - Lead Software Engineer
@ljacomet#DevoxxMA #ehcache
Who am I?
• Louis Jacomet
• Software engineer, closer to 40 than 20 and still coding!
• @ Terracotta (Software AG) since 2013
• Working on Ehcache mostly
• Team manager and fiddling in infrastructure
• No idea how to do a (nice) UI, especially a web one
• Enjoys concurrency, API design and hard problems
@ljacomet#DevoxxMA #ehcache
And what about you?
• Who knows nothing about caching?
• Who already uses caching in production?
• Who had production problems related to
caching?
• Who knows about JCache?
@ljacomet#DevoxxMA #ehcache
Agenda
•Caching and JSR-107
•Ehcache past and present
•Ehcache 3 future
@ljacomet#DevoxxMA #ehcache
Caching and JSR-107
@ljacomet#DevoxxMA #ehcache
Caching
• Data structure holding a temporary copy of data
• Trade off between higher memory usage and
reduced latency
• Targets
• Data which is reused
• Data which is expensive to compute / retrieve
@ljacomet#DevoxxMA #ehcache
Caches all over the place
CPU
Browser
Network
Disk
@ljacomet#DevoxxMA #ehcache
What should I cache?
• Keys
• Proper equals/
hashcode
• Immutable
• Small(ish)
• Value
• Proper equals/
hashcode
• Ideally immutable
• Think concurrent
otherwise
• Size matters
@ljacomet#DevoxxMA #ehcache
JSR-107 javax.cache
• Java Community Process driven standard
• Specifies API and semantics for temporary, 

in-memory caching of Java objects,
including object creation, shared access,
spooling, invalidation, and consistency
across JVM's
@ljacomet#DevoxxMA #ehcache
JSR-107 Features
• CacheManager / Cache
• Expiration
• Creation/Access/
Update
• Integration
• CacheLoader /
Writer
• CacheEntryListener
• Created/Updated
• Removed/Expired
• Get old value
• Entry processor
• Annotations
• MBeans, exposing
• Configuration
• Statistics
• No capacity control !
@ljacomet#DevoxxMA #ehcache
JSR-107 gotcha’s
• MutableConfiguration
• Always invoke
MutableConfiguration.setTypes(Class, Class)
• Otherwise Cache only knows about Object
• Adding a CacheLoader factory is not enough -
need to invoke setReadThrough(boolean)
@ljacomet#DevoxxMA #ehcache
JSR-107 gotcha’s (2)
• Compare and Swap operations with a CacheLoader
• Loader is ignored
• putIfAbsent checks Cache only, not underlying
system of record
• Results in a weird contract
@ljacomet#DevoxxMA #ehcache
Ehcache past and
present
@ljacomet#DevoxxMA #ehcache
A bit of history
• Announced in November 2003 on
• v1.0 released on September 2004
• Only a few days before Java 5 and generics
• Acquired in 2009 by
• v2.0 released in March 2010
• Terracotta acquired in 2011 by
@ljacomet#DevoxxMA #ehcache
Storage model: tiers
• Multiple storage tiers
• Heap: like objects in a regular hash map
• Off-heap: binary form stored outside of
Garbage Collector reach
• Disk: binary form stored on disk
• Clustered: binary form stored on other
server(s)
@ljacomet#DevoxxMA #ehcache
Overflow model
Heap
Disk
@ljacomet#DevoxxMA #ehcache
Heap
Disk
Overflow model
@ljacomet#DevoxxMA #ehcache
Disk
Heap
Overflow model
@ljacomet#DevoxxMA #ehcache
Disk
Heap
Overflow model
@ljacomet#DevoxxMA #ehcache
Disk
Heap
Overflow model
@ljacomet#DevoxxMA #ehcache
Authoritative tier model
Heap
Disk
@ljacomet#DevoxxMA #ehcache
Disk
Heap
Authoritative tier model
@ljacomet#DevoxxMA #ehcache
Heap
Disk
Authoritative tier model
@ljacomet#DevoxxMA #ehcache
Heap
Disk
Authoritative tier model
@ljacomet#DevoxxMA #ehcache
Heap
Disk
Authoritative tier model
@ljacomet#DevoxxMA #ehcache
Why the new model?
• Predictable latency
• Every put pays the price of the lower /
slowest tier
• No degradation when a higher tier gets full
• Preserves fast(er) access for hot set
• When a mapping is accessed it moves to the
fastest tier available
@ljacomet#DevoxxMA #ehcache
Not a cache feature?
• Search
• What does searching on a hot set means?
• Even without interacting with the cache, two
execution of the same query could return different
results
• Pinning
• Prevent eviction from cache entries
• May adversly effect the ability of the cache to
respect size constraints
@ljacomet#DevoxxMA #ehcache
Ehcache 3
The future is here
@ljacomet#DevoxxMA #ehcache
Lifecycle - explicit
• CacheManager
• init / close methods
• create and close caches
• PersistentCacheManager
• Maintenance mode
• Destroy cache data
@ljacomet#DevoxxMA #ehcache
Cache<K, V> for proper typing
• Ehcache 2.x not generic, was time to change
that
• Needs to be known at runtime
• No one wants a ClassCastException
• Cache data may live beyond application
lifecycle
• Usage show that frequently key and values are
of the same type in a given cache
@ljacomet#DevoxxMA #ehcache
Serialization
• Required as soon as we move away from the
heap
• Fully customisable in Ehcache 3
@ljacomet#DevoxxMA #ehcache
CacheLoaderWriter
• Enables the cache-through pattern
• Consistent across all cache operations
• Single interface
• Loader only - make sure write related
methods throw
• Writer only - what?
• Anyone having a good use case for this -
talk to us
@ljacomet#DevoxxMA #ehcache
Cache through - miss
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - miss
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - miss
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - miss
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - miss
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - hit
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - hit
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - hit
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - write
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - write
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - write
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Cache through - write
Application Cache
Database
@ljacomet#DevoxxMA #ehcache
Write behind
• Enables scaling your writes
• Putter does not pay for write latency
• Batching and coalescing options
• Simplified compared to 2.x - no more sizing
gotchas
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind - eviction
(K1,V1)
(K1,V1)
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind - eviction
(K1,V1)
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind - eviction
(K1,V1)
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind - eviction
(K1,V1)
@ljacomet#DevoxxMA #ehcache
Application Cache
Database
queue
Write behind - eviction
(K1,V1)
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Application Cache
queue
Database
@ljacomet#DevoxxMA #ehcache
Write behind - failure
Database
@ljacomet#DevoxxMA #ehcache
Database
Write behind - failure
@ljacomet#DevoxxMA #ehcache
queue
Database
Write behind - failure
@ljacomet#DevoxxMA #ehcache
queue
Database
Write behind - failure
@ljacomet#DevoxxMA #ehcache
queue
Database
Write behind - failure
@ljacomet#DevoxxMA #ehcache
Expiry
• Offers context
@ljacomet#DevoxxMA #ehcache
Eviction Veto and Prioritizer
• Veto
• Enables to suggest a veto on certain mappings
• Prioritizer
• Allows to sort sample before picking eviction
victim
• Not applicable to all stores
• Both are hints only - capacity always takes priority
@ljacomet#DevoxxMA #ehcache
Transactions
• Full blown XA resource
• includes recovery support
• Needs work for transaction managers
integration
• Code isolated in its own module
• Currently part of the main Ehcache 3 jar
@ljacomet#DevoxxMA #ehcache
Clustering using Terracotta
@ljacomet#DevoxxMA #ehcache
Automatic Resource Control
• Enables sizing in natural units
• n bytes on heap
• Percentage of the max heap available
• Define resource pools at the cache manager
• Cross eviction amongst caches
• Enables auto balancing
@ljacomet#DevoxxMA #ehcache
Resilience strategy
• A cache is to be resilient
• Yet… sh*t happens
• Storage failures
• SLA violations (timeouts?)
• Very explicit contract at this time
• To be refined when clustering is wrapping up
@ljacomet#DevoxxMA #ehcache
Q&A
Thank you for your time

Contenu connexe

Tendances

Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on NetscalerMark Hillick
 
Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deploymentzeeg
 
DjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling DisqusDjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling Disquszeeg
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneEnkitec
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009NorthScale
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production知教 本間
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APCBen Ramsey
 
Data Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageData Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageSATOSHI TAGOMORI
 
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTanel Poder
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingTanel Poder
 
Moxi - Memcached Proxy
Moxi - Memcached ProxyMoxi - Memcached Proxy
Moxi - Memcached ProxyNorthScale
 
Understanding DSE Search by Matt Stump
Understanding DSE Search by Matt StumpUnderstanding DSE Search by Matt Stump
Understanding DSE Search by Matt StumpDataStax
 
Meetup on Apache Zookeeper
Meetup on Apache ZookeeperMeetup on Apache Zookeeper
Meetup on Apache ZookeeperAnshul Patel
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & LuaKit Chan
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder
 
Ansible at work
Ansible at workAnsible at work
Ansible at workBas Meijer
 
Async and Non-blocking IO w/ JRuby
Async and Non-blocking IO w/ JRubyAsync and Non-blocking IO w/ JRuby
Async and Non-blocking IO w/ JRubyJoe Kutner
 

Tendances (20)

Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
Practicing Continuous Deployment
Practicing Continuous DeploymentPracticing Continuous Deployment
Practicing Continuous Deployment
 
DjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling DisqusDjangoCon 2010 Scaling Disqus
DjangoCon 2010 Scaling Disqus
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009
 
Memcached
MemcachedMemcached
Memcached
 
Use case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in productionUse case for using the ElastiCache for Redis in production
Use case for using the ElastiCache for Redis in production
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
Memcached Study
Memcached StudyMemcached Study
Memcached Study
 
Data Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby UsageData Analytics Service Company and Its Ruby Usage
Data Analytics Service Company and Its Ruby Usage
 
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel PoderTroubleshooting Complex Oracle Performance Problems with Tanel Poder
Troubleshooting Complex Oracle Performance Problems with Tanel Poder
 
Oracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention TroubleshootingOracle Latch and Mutex Contention Troubleshooting
Oracle Latch and Mutex Contention Troubleshooting
 
Moxi - Memcached Proxy
Moxi - Memcached ProxyMoxi - Memcached Proxy
Moxi - Memcached Proxy
 
Understanding DSE Search by Matt Stump
Understanding DSE Search by Matt StumpUnderstanding DSE Search by Matt Stump
Understanding DSE Search by Matt Stump
 
Varnish 4 cool features
Varnish 4 cool featuresVarnish 4 cool features
Varnish 4 cool features
 
Meetup on Apache Zookeeper
Meetup on Apache ZookeeperMeetup on Apache Zookeeper
Meetup on Apache Zookeeper
 
Apache Traffic Server & Lua
Apache Traffic Server & LuaApache Traffic Server & Lua
Apache Traffic Server & Lua
 
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
 
Ansible at work
Ansible at workAnsible at work
Ansible at work
 
Async and Non-blocking IO w/ JRuby
Async and Non-blocking IO w/ JRubyAsync and Non-blocking IO w/ JRuby
Async and Non-blocking IO w/ JRuby
 

Similaire à Ehcache 3: JSR-107 on steroids at Devoxx Morocco

Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsAlex Snaps
 
Caching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàCaching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàLouis Jacomet
 
Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Louis Jacomet
 
Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Louis Jacomet
 
Embracing the Future
Embracing the FutureEmbracing the Future
Embracing the FutureJemuel Young
 
Devoxx UK 2015: How Java EE has changed pattern implementation
Devoxx UK 2015: How Java EE has changed pattern implementationDevoxx UK 2015: How Java EE has changed pattern implementation
Devoxx UK 2015: How Java EE has changed pattern implementationAlex Theedom
 
Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxMichael Hackstein
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsGianluca Varisco
 
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeOpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeJesse Gallagher
 
Overview of the ehcache
Overview of the ehcacheOverview of the ehcache
Overview of the ehcacheHyeonSeok Choi
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014Hazelcast
 
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearchErhwen Kuo
 
HTML5: Building the Next Generation of Web Applications
HTML5: Building the Next Generation of Web ApplicationsHTML5: Building the Next Generation of Web Applications
HTML5: Building the Next Generation of Web ApplicationsChrome Developer Relations
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsConcentric Sky
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Codemotion
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web FrameworkDaniel Woods
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcachedJurriaan Persyn
 

Similaire à Ehcache 3: JSR-107 on steroids at Devoxx Morocco (20)

Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroids
 
Caching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delàCaching 101: sur la JVM et au delà
Caching 101: sur la JVM et au delà
 
Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)
 
Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)Caching 101: Caching on the JVM (and beyond)
Caching 101: Caching on the JVM (and beyond)
 
Embracing the Future
Embracing the FutureEmbracing the Future
Embracing the Future
 
Devoxx UK 2015: How Java EE has changed pattern implementation
Devoxx UK 2015: How Java EE has changed pattern implementationDevoxx UK 2015: How Java EE has changed pattern implementation
Devoxx UK 2015: How Java EE has changed pattern implementation
 
Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB Foxx
 
Road to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoopsRoad to Opscon (Pisa '15) - DevOoops
Road to Opscon (Pisa '15) - DevOoops
 
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in PracticeOpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
OpenNTF Webinar 2022-08 - XPages Jakarta EE Support in Practice
 
Overview of the ehcache
Overview of the ehcacheOverview of the ehcache
Overview of the ehcache
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014
 
Platform cache
Platform cachePlatform cache
Platform cache
 
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
 
06 integrate elasticsearch
06 integrate elasticsearch06 integrate elasticsearch
06 integrate elasticsearch
 
HTML5: Building the Next Generation of Web Applications
HTML5: Building the Next Generation of Web ApplicationsHTML5: Building the Next Generation of Web Applications
HTML5: Building the Next Generation of Web Applications
 
Where Django Caching Bust at the Seams
Where Django Caching Bust at the SeamsWhere Django Caching Bust at the Seams
Where Django Caching Bust at the Seams
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
Gianluca Varisco - DevOoops (Increase awareness around DevOps infra security)
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcached
 

Dernier

Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotEdgard Alejos
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainAbdul Ahad
 

Dernier (20)

Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform Copilot
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Data modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software DomainData modeling 101 - Basics - Software Domain
Data modeling 101 - Basics - Software Domain
 

Ehcache 3: JSR-107 on steroids at Devoxx Morocco