SlideShare a Scribd company logo
DomainModel.stream()
DOMAINMODEL.STREAM()
https://github.com/lesfurets/model­map
WELCOME TO THE FURETS !
@GDIGUGLI – GILLES DI GUGLIELMO
Designer of sweet cooked software since 1999
Software Architect at LesFurets.com
@JUBAUDRY – JULIEN BAUDRY
Java Developer since 2007
Software Architect at LesFurets.com
1 website, 5 Insurance Products : Car, Health, Home, Bike, Loan
1 codebase, 450k lines of code, 60k unit tests, 150 selenium tests
22 Developers, 2 DevOps, 3 Architects
10+ production servers
1 release per day
7 years of code history
2.5M quotes/year, 31% of market share
DOMAIN MODEL, WHAT DO YOU MEAN ?
MOVING THE ARCHITECTURE
ARCHITECTURE BUZZ
Copy on write
Immutable data
NoSQL
Clustered Data Base
Data streaming
Micro batching
Lambda architecture
Data on demand
WHAT YOU HAVE ...
WHAT YOU WANT …
YOU ARE IN TROUBLE ...
FRONT APP EVOLUTIONS
Your domain model is cloned using two
different languages.
Governance of the domain model and
change requests are difficult to
implement.
Development owners of the server and
front application are different.
UI Spaghetti code.
FRONT STORAGE EVOLUTIONS
Mapping entities in Cassandra is painful.
Don’t migrate your Entity/Relation model
using cut & paste!
You should probably flat your domain
model to fit a single row.
Infinite storage.
BACKOFFICE EVOLUTIONS
A lot of rework to implement.
Spark and ML­lib love data
vectors.
Spark read raw data, aggregate,
write them in microbatches.
No more (very long) nightly
batches.
Full history is available for
custom computations.
WHAT WE DO NOW ?
ADD KEYS EVERYWHERE !
A BIT OF DECORATION
LET'S START WITH THIS MODEL...
... AND TRANSFORM IT TO A KEY­VALUE MODEL
USER MODEL
USER MODEL
USER MODEL
ACCOUNT MODEL
ACCOUNT MODEL
ACCOUNT MODEL
ACCOUNT MODEL
ACCOUNT MODEL
FROM DOMAIN MODEL TO KEY­VALUE MODEL
Step 1 : create one Enumeration with all keys
Step 2 : annotate your domain model
Step 3 : generate the key value model
LET'S SEE THE DOMAIN MODEL & THE KEY­VALUE MODEL
STEP 1 : ONE ENUMERATION WITH ALL KEYS
one literal for each key
position (optional) : used when collections are denormalized
tag (optional) : used to add meta­information
STEP 2 : ONE ANNOTATION TO ANNOTATE THE DOMAIN
one method to retrieve the FieldId
one method to retrieve the Constraint
STEP 3 : ANNOTATE YOUR DOMAIN MODEL
attribute, getter or setter can be annotated
getter and setter must follow Java naming conventions
STEP 4 : GENERATE THE KEY VALUE MODEL
... JUST ONE LITTLE ISSUE.
ACCOUNT & USER ID
sampleModel.getUser().getId()
ACCOUNT & USER ID
sampleModel.getAccount().getId()
MANY KEY FOR A SINGLE ATTRIBUTE
Each key must have a unique path to retrieve its value
How to retrieve the right value for each field?
getAccount().getId()? getUser().getId()?
SOLUTION : CONSTRAINTS
One for each field, specify which getter to use
ADD A CONSTRAINT FOR EACH ANNOTATION
the code generator only use the path with the specified getter
each field is now mapped correctly
LET THE MAGIC BEGIN ...
CODE GENERATOR UNDER THE HOOD
Execution is done using a maven plugin
Annotated properties are processed using Java Reflection
Generate handwritten style code, easy to read
Enable JIT optimisations by combining lambdas and enumerations
Lightweight pattern, designed for performance
GENERATION OUTPUT (1/3)
GENERATION OUTPUT (2/3)
An Enumeration containing metadate : type, generics type
GENERATION OUTPUT (3/3)
a CSV containing each field, path, and value type
USAGES ARE UNLIMITED
YOU CAN USE JAVA 8 STREAM ON YOUR DOMAIN MODEL !
FieldModel#stream() : a stream of key/value pair (FieldId/Object)
FieldModel#parallelStream() : parallel stream and better performance
Easy use a filter/map/reduce operations on a domain model
Could you write a domain model diff tool now ?
WHERE WE USE IT AT LESFURETS.COM
Simple UI binding by replacing JSON model by a Dictionary (80% less code)
Use JSON Dictionary for client/server RPC
Batch and ETL with an email provider (90% less code)
Persistence in cassandra (from scratch with 200 lines of code for a whole model)
Injecting user data in selenium (40% less code)
Mocking our domain model in thousand of unit tests
... everything in iterative fashion during the past 2 years.
FUTURE AND IDEAS
Push as OSS our Cassandra serialisation code
Push some Spark samples
JEP 276: Dynamic Linking of Language­Defined Object Models
MODEL­MAP AVAILABLE ON GITHUB
http://github.com/lesfurets/model­map
Framework and examples
Apache Licence
Try it and contribute !
THANK YOU!

More Related Content

Similar to SoftShake 2015 - DomainModel.stream()

AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
Eamon Muldoon
 
Syncsort and Db2 – How to Get More from Your Db2 Systems
Syncsort and Db2 – How to Get More from Your Db2 SystemsSyncsort and Db2 – How to Get More from Your Db2 Systems
Syncsort and Db2 – How to Get More from Your Db2 Systems
Precisely
 
ConnectED2015: IBM Domino Applications in Bluemix
ConnectED2015: 	IBM Domino Applications in BluemixConnectED2015: 	IBM Domino Applications in Bluemix
ConnectED2015: IBM Domino Applications in Bluemix
Martin Donnelly
 
Kotlin native for iOS and Android
Kotlin native for iOS and AndroidKotlin native for iOS and Android
Kotlin native for iOS and Android
Shady Selim
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
Samaritan InfoTech
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
Will Smythe
 
2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems
Roger Snook
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
Asanka Abeysinghe
 
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
apidays
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
Lorenzo Barbieri
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
LetsConnect
 
JavaScript Frameworks For Mobile App Development | Redbytes
JavaScript Frameworks For Mobile App Development | RedbytesJavaScript Frameworks For Mobile App Development | Redbytes
JavaScript Frameworks For Mobile App Development | Redbytes
Redbytes Software
 
What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How?
Shady Selim
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
Mark Roden
 
resume
resumeresume
resume
Mike Burdick
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For Reuse
Bill Duncan
 
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
Chris Schalk
 
Resume of Md Imtiaz Uddin Ahmed
Resume of Md Imtiaz Uddin AhmedResume of Md Imtiaz Uddin Ahmed
Resume of Md Imtiaz Uddin Ahmed
Imtiaz Uddin Ahmed
 
When applications mean business - developer day
When applications mean business - developer dayWhen applications mean business - developer day
When applications mean business - developer day
Micro Focus
 

Similar to SoftShake 2015 - DomainModel.stream() (20)

AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
Syncsort and Db2 – How to Get More from Your Db2 Systems
Syncsort and Db2 – How to Get More from Your Db2 SystemsSyncsort and Db2 – How to Get More from Your Db2 Systems
Syncsort and Db2 – How to Get More from Your Db2 Systems
 
ConnectED2015: IBM Domino Applications in Bluemix
ConnectED2015: 	IBM Domino Applications in BluemixConnectED2015: 	IBM Domino Applications in Bluemix
ConnectED2015: IBM Domino Applications in Bluemix
 
Kotlin native for iOS and Android
Kotlin native for iOS and AndroidKotlin native for iOS and Android
Kotlin native for iOS and Android
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
 
2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
 
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
JavaScript Frameworks For Mobile App Development | Redbytes
JavaScript Frameworks For Mobile App Development | RedbytesJavaScript Frameworks For Mobile App Development | Redbytes
JavaScript Frameworks For Mobile App Development | Redbytes
 
What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How?
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 
resume
resumeresume
resume
 
Rhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For ReuseRhapsody Leveraging Software For Reuse
Rhapsody Leveraging Software For Reuse
 
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
 
Resume of Md Imtiaz Uddin Ahmed
Resume of Md Imtiaz Uddin AhmedResume of Md Imtiaz Uddin Ahmed
Resume of Md Imtiaz Uddin Ahmed
 
When applications mean business - developer day
When applications mean business - developer dayWhen applications mean business - developer day
When applications mean business - developer day
 

More from gdigugli

Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013
gdigugli
 
Smart annotation processing - Paris JUG
Smart annotation processing - Paris JUGSmart annotation processing - Paris JUG
Smart annotation processing - Paris JUG
gdigugli
 
Smart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUGSmart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUG
gdigugli
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
gdigugli
 
Ez18n crowdsourcing
Ez18n crowdsourcingEz18n crowdsourcing
Ez18n crowdsourcing
gdigugli
 
Ez18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exempleEz18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exemple
gdigugli
 
Ez18n theorie encoding gouvernance
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernance
gdigugli
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
gdigugli
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
gdigugli
 

More from gdigugli (9)

Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013Rock solid UI modeling using annotation processing - CodeGeneration 2013
Rock solid UI modeling using annotation processing - CodeGeneration 2013
 
Smart annotation processing - Paris JUG
Smart annotation processing - Paris JUGSmart annotation processing - Paris JUG
Smart annotation processing - Paris JUG
 
Smart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUGSmart Annotation Processing - Marseille JUG
Smart Annotation Processing - Marseille JUG
 
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...
 
Ez18n crowdsourcing
Ez18n crowdsourcingEz18n crowdsourcing
Ez18n crowdsourcing
 
Ez18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exempleEz18n hands on - Annotation Processing Tool par l'exemple
Ez18n hands on - Annotation Processing Tool par l'exemple
 
Ez18n theorie encoding gouvernance
Ez18n theorie encoding gouvernanceEz18n theorie encoding gouvernance
Ez18n theorie encoding gouvernance
 
Ez18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshellEz18n Annotation Processing Tool in a nutshell
Ez18n Annotation Processing Tool in a nutshell
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
 

Recently uploaded

Call Girls Hyderabad (india) ☎️ +91-7426014248 Hyderabad Call Girl
Call Girls Hyderabad  (india) ☎️ +91-7426014248 Hyderabad  Call GirlCall Girls Hyderabad  (india) ☎️ +91-7426014248 Hyderabad  Call Girl
Call Girls Hyderabad (india) ☎️ +91-7426014248 Hyderabad Call Girl
sapna sharmap11
 
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
aguty
 
Senior Software Profiles Backend Sample - Sheet1.pdf
Senior Software Profiles  Backend Sample - Sheet1.pdfSenior Software Profiles  Backend Sample - Sheet1.pdf
Senior Software Profiles Backend Sample - Sheet1.pdf
Vineet
 
Q4FY24 Investor-Presentation.pdf bank slide
Q4FY24 Investor-Presentation.pdf bank slideQ4FY24 Investor-Presentation.pdf bank slide
Q4FY24 Investor-Presentation.pdf bank slide
mukulupadhayay1
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
hqfek
 
Econ3060_Screen Time and Success_ final_GroupProject.pdf
Econ3060_Screen Time and Success_ final_GroupProject.pdfEcon3060_Screen Time and Success_ final_GroupProject.pdf
Econ3060_Screen Time and Success_ final_GroupProject.pdf
blueshagoo1
 
06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus
Timothy Spann
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
bmucuha
 
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
9gr6pty
 
Template xxxxxxxx ssssssssssss Sertifikat.pptx
Template xxxxxxxx ssssssssssss Sertifikat.pptxTemplate xxxxxxxx ssssssssssss Sertifikat.pptx
Template xxxxxxxx ssssssssssss Sertifikat.pptx
TeukuEriSyahputra
 
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
eudsoh
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
Vineet
 
一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理
keesa2
 
Sid Sigma educational and problem solving power point- Six Sigma.ppt
Sid Sigma educational and problem solving power point- Six Sigma.pptSid Sigma educational and problem solving power point- Six Sigma.ppt
Sid Sigma educational and problem solving power point- Six Sigma.ppt
ArshadAyub49
 
一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理
ugydym
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
ytypuem
 
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
Vietnam Cotton & Spinning Association
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
uevausa
 
Call Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
Call Girls Lucknow 0000000000 Independent Call Girl Service LucknowCall Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
Call Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
hiju9823
 
Overview IFM June 2024 Consumer Confidence INDEX Report.pdf
Overview IFM June 2024 Consumer Confidence INDEX Report.pdfOverview IFM June 2024 Consumer Confidence INDEX Report.pdf
Overview IFM June 2024 Consumer Confidence INDEX Report.pdf
nhutnguyen355078
 

Recently uploaded (20)

Call Girls Hyderabad (india) ☎️ +91-7426014248 Hyderabad Call Girl
Call Girls Hyderabad  (india) ☎️ +91-7426014248 Hyderabad  Call GirlCall Girls Hyderabad  (india) ☎️ +91-7426014248 Hyderabad  Call Girl
Call Girls Hyderabad (india) ☎️ +91-7426014248 Hyderabad Call Girl
 
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
一比一原版澳洲西澳大学毕业证(uwa毕业证书)如何办理
 
Senior Software Profiles Backend Sample - Sheet1.pdf
Senior Software Profiles  Backend Sample - Sheet1.pdfSenior Software Profiles  Backend Sample - Sheet1.pdf
Senior Software Profiles Backend Sample - Sheet1.pdf
 
Q4FY24 Investor-Presentation.pdf bank slide
Q4FY24 Investor-Presentation.pdf bank slideQ4FY24 Investor-Presentation.pdf bank slide
Q4FY24 Investor-Presentation.pdf bank slide
 
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
一比一原版爱尔兰都柏林大学毕业证(本硕)ucd学位证书如何办理
 
Econ3060_Screen Time and Success_ final_GroupProject.pdf
Econ3060_Screen Time and Success_ final_GroupProject.pdfEcon3060_Screen Time and Success_ final_GroupProject.pdf
Econ3060_Screen Time and Success_ final_GroupProject.pdf
 
06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus06-18-2024-Princeton Meetup-Introduction to Milvus
06-18-2024-Princeton Meetup-Introduction to Milvus
 
一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理一比一原版(UO毕业证)渥太华大学毕业证如何办理
一比一原版(UO毕业证)渥太华大学毕业证如何办理
 
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
一比一原版(uob毕业证书)伯明翰大学毕业证如何办理
 
Template xxxxxxxx ssssssssssss Sertifikat.pptx
Template xxxxxxxx ssssssssssss Sertifikat.pptxTemplate xxxxxxxx ssssssssssss Sertifikat.pptx
Template xxxxxxxx ssssssssssss Sertifikat.pptx
 
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
一比一原版马来西亚博特拉大学毕业证(upm毕业证)如何办理
 
Sample Devops SRE Product Companies .pdf
Sample Devops SRE  Product Companies .pdfSample Devops SRE  Product Companies .pdf
Sample Devops SRE Product Companies .pdf
 
一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理一比一原版悉尼大学毕业证如何办理
一比一原版悉尼大学毕业证如何办理
 
Sid Sigma educational and problem solving power point- Six Sigma.ppt
Sid Sigma educational and problem solving power point- Six Sigma.pptSid Sigma educational and problem solving power point- Six Sigma.ppt
Sid Sigma educational and problem solving power point- Six Sigma.ppt
 
一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理一比一原版南昆士兰大学毕业证如何办理
一比一原版南昆士兰大学毕业证如何办理
 
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
一比一原版(曼大毕业证书)曼尼托巴大学毕业证如何办理
 
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
[VCOSA] Monthly Report - Cotton & Yarn Statistics May 2024
 
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
一比一原版加拿大渥太华大学毕业证(uottawa毕业证书)如何办理
 
Call Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
Call Girls Lucknow 0000000000 Independent Call Girl Service LucknowCall Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
Call Girls Lucknow 0000000000 Independent Call Girl Service Lucknow
 
Overview IFM June 2024 Consumer Confidence INDEX Report.pdf
Overview IFM June 2024 Consumer Confidence INDEX Report.pdfOverview IFM June 2024 Consumer Confidence INDEX Report.pdf
Overview IFM June 2024 Consumer Confidence INDEX Report.pdf
 

SoftShake 2015 - DomainModel.stream()