SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
Scalable Continuous Deployment
with Maven
fromfragiletoagile.com
@AbrahamMarin
@AbrahamMarin
About Me
@AbrahamMarin
About Me
@AbrahamMarin
About Me
@AbrahamMarin
Table of Contents
• Continuous Deployment with Maven
• Scaling Continuous Deployment
• Analyse Data from the CI System
• Automate Analysis and Visualisation
@AbrahamMarin
Table of Contents
• Continuous Deployment with Maven
• Scaling Continuous Deployment
• Analyse Data from the CI System
• Automate Analysis and Visualisation
@AbrahamMarin
What is Continuous Deployment?
Continuous Integration: check everything is still
working after every commit
•
• Continuous Deployment: every successful
commit turns into a release
•
@AbrahamMarin
Why maven?
• Just because…
@AbrahamMarin
Other technologies
@AbrahamMarin
To Caesar what is Caesar’s
Based on John Ferguson Smart’s
“Real-World Strategies for Continuous Delivery
with maven and Jenkins”
http://youtu.be/McTZtyb9M38
@AbrahamMarin
John’s approach
Maven wasn’t built for Continuous
Deployment
commit
commit
commit
...
0.0.1-SNAPSHOT
Release!
0.0.1
@AbrahamMarin
John’s approach
Don’t use RELEASE plugin
Use VERSIONS plugin
Set version to <version scheme>.<build number>
Run mvn deploy
Commit pom file to repository
@AbrahamMarin
John’s approach
Set version to <version scheme>.<build number>
mvn versions:set –DnewVersion=**your version**
@AbrahamMarin
John’s approach
Run mvn deploy
mvn clean deploy
@AbrahamMarin
John’s approach
Commit pom file to repository
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>commit</id>
<phase>deploy</phase>
<goals>
<goal>checkin</goal>
</goals>
</execution>
</executions>
</plugin>
@AbrahamMarin
John’s approach
@AbrahamMarin
John’s approach
0.0.1.1
commit
BUILD!
0.0.1.2
commit
BUILD!
0.0.1.3
commit
BUILD!
@AbrahamMarin
Table of Contents
• Continuous Deployment with Maven
• Scaling Continuous Deployment
• Analyse Data from the CI System
• Automate Analysis and Visualisation
@AbrahamMarin
How do you scale this?
@AbrahamMarin
SUPER
APP
# Files: 75
# Tests: 800
Build Time: 4 min
Output: superapp.war
@AbrahamMarin
SUPER
APP
# Files: 113
# Tests: 1200
Build Time: 6 min
Output: superapp.war
@AbrahamMarin
SUPER
APP
# Files: 169
# Tests: 1800
Build Time: 9 min
Output: superapp.war
@AbrahamMarin
When Builds Get Too Big
@AbrahamMarin
"MAN Atlante fronte 1040572" by Lalupa - Own work. Licensed under GFDL via Commons -
https://commons.wikimedia.org/wiki/File:MAN_Atlante_fronte_1040572.JPG#/media/File:MAN_Atlante_fronte_1040572.JPG
SUPER
APP
# Files: 169
# Tests: 1800
Build Time: 9 min
Output: superapp.war
APP
BACKEND
SUPER
APP
# Files: 115
# Tests: 1200
Build Time: 6 min
Output: superapp.war
# Files: 72
# Tests: 800
Build Time: 4 min
Output: appbackend.jar
@AbrahamMarin
<dependency>
<groupId>com.superappfactory</groupId>
<artifactId>appbackend</artifactId>
<version>??????</version>
</dependency>
<dependency>
<groupId>com.superappfactory</groupId>
<artifactId>appbackend</artifactId>
<version>LATEST</version>
</dependency>
Setting up dependencies
APP
BACKEND
SUPER
APP
appbackend.jar superapp.war
@AbrahamMarin
@AbrahamMarin
@AbrahamMarin
@AbrahamMarin
Setting up dependencies
APP
BACKEND
SUPER
APP
appbackend.jar superapp.war
@AbrahamMarin
Rebuilding old versions
@AbrahamMarin
Rebuilding old versions
Using “LATEST” makes it impossible to build old
versions correctly
@AbrahamMarin
<dependency>
<groupId>com.superappfactory</groupId>
<artifactId>appbackend</artifactId>
<version>???????</version>
</dependency>
<dependency>
<groupId>com.superappfactory</groupId>
<artifactId>appbackend</artifactId>
<version>1.5.3.1</version>
</dependency>
Rebuilding old versions
APP
BACKEND
SUPER
APP
appbackend.jar superapp.war
@AbrahamMarin
Update versions of dependencies
mvn versions:use-latest-releases
@AbrahamMarin
APP
BACKEND
SUPER
APP
APP
BACKEND
SUPER
APP
DATA
MODEL
SUPER
APP
DATA
MODEL
GUI
APP
BACKEND
Like it?
@AbrahamMarin
Like it?
@AbrahamMarin
Like it?
@AbrahamMarin
Like it?
@AbrahamMarin
Like it?
@AbrahamMarin
@AbrahamMarin
http://thechive.com/2014/02/26/your
e-doing-it-wrong-31-photos-2/
I Can Help 
@AbrahamMarin
Problem: Infinite Trigger
commitbuild
deploy
commit
@AbrahamMarin
@AbrahamMarin
@AbrahamMarin
Problem: Unnecessary rebuilds
APP
BACKEND
SUPER
APP
commit
@AbrahamMarin
@AbrahamMarin
Problem: Unnecessary rebuilds
@AbrahamMarin
Problem: Unnecessary rebuilds
Get last
committer
buildAgent?
Proceed
normally
Don’t run
build
NO YES
touch skip_build
@AbrahamMarin
Problem: Unnecessary rebuilds
<profiles>
<!-- Plugins that need to be disabled when doing a no-run -->
<profile>
<id>do.nothing</id>
<activation>
<file>
<exists>skip_build</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<skipMain>true</skipMain>
<skip>true</skip>
</configuration>
</plugin>
@AbrahamMarin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Problem: Unnecessary rebuilds
@AbrahamMarin
Problem: Unnecessary rebuilds
APP
BACKEND
SUPER
APP
commit
@AbrahamMarin
Problem: Unnecessary rebuilds
@AbrahamMarin
Problem: Necessary rebuilds
APP
BACKEND
SUPER
APP
commit
@AbrahamMarin
Get last
committer
buildAgent?
Proceed
normally
Don’t run
build
NO YES
Problem: Necessary rebuilds
@AbrahamMarin
@AbrahamMarin
Get last
committer
buildAgent?
Proceed
normally
NO YES
Check
dependencies
Up to
date?
NO Don’t run
build
YES
touch skip_build
@AbrahamMarin
Problem: Necessary rebuilds
@AbrahamMarin
Problem: Doomed Build
build
deploy
commit
commit
commit
pom.xml
@AbrahamMarin
Get last
committer
buildAgent?
Proceed
normally
NO YES
Check
dependencies
Up to
date?
NO Don’t run
build
YES
touch skip_build
@AbrahamMarin
Get last
committer
buildAgent?
Check
pom.xml
NO YES
Check
dependencies
Up to
date?
NO
Don’t run
build
YES
touch skip_build
Up to
date?
NO
Proceed
normally
YES
@AbrahamMarin
Problem: Doomed Build
@AbrahamMarin
@AbrahamMarin
Table of Contents
• Continuous Deployment with Maven
• Scaling Continuous Deployment
• Analyse Data from the CI System
• Automate Analysis and Visualisation
@AbrahamMarin
A real case scenario
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
28%
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
28%
28%
28%
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
28%
28%
28%
20%
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
48%
28%
28%
20%
@AbrahamMarin
WAR file
WAR file
WAR file
Parent
POM
Logging
@AbrahamMarin
WAR file
WAR file
WAR
file
@AbrahamMarin
Build-Driven Architecture
@AbrahamMarin
Table of Contents
• Continuous Deployment with Maven
• Scaling Continuous Deployment
• Analyse Data from the CI System
• Automate Analysis and Visualisation
@AbrahamMarin
WAR file
WAR file
WAR
file
@AbrahamMarin
Manual processing
takes time...
@AbrahamMarin
Automating Build Analysis
• Most CI systems provide an API
• Calculations aren’t complex
• Multiple graphical tools available
@AbrahamMarin
Build Hotspots
github.com/quiram/build-hotspots
@AbrahamMarin
Automating Build Analysis
• Add colour and size
• Add support for other CI systems
• Show subset of builds
• Update data automatically (for build displays)
• Anything else you may find useful!
@AbrahamMarin
Summary
• Setting up Continuous Deployment is possible
• Scaling is challenging, but also possible
• Build data can help you shape the architecture
of your application
• Still plenty to improve, please join me 
@AbrahamMarin
Questions?
@AbrahamMarin
fromfragiletoagile.com
@AbrahamMarin
Thank You!
JavaOne 2015: Scalable Continous Deployment with Maven

Weitere ähnliche Inhalte

Was ist angesagt?

9 Things You Didn't Know You Could Do with Your Blog WPSLC
9 Things You Didn't Know You Could Do with Your Blog WPSLC9 Things You Didn't Know You Could Do with Your Blog WPSLC
9 Things You Didn't Know You Could Do with Your Blog WPSLC
Chris Reynolds
 

Was ist angesagt? (20)

Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
 
Don't use create react app
Don't use create react appDon't use create react app
Don't use create react app
 
Intro to Netflix's Chaos Monkey
Intro to Netflix's Chaos MonkeyIntro to Netflix's Chaos Monkey
Intro to Netflix's Chaos Monkey
 
(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC
(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC
(Ignite) DID ANYONE SAY SEMVER? - PHILIPP KRENN, ELASTIC
 
9 Things You Didn't Know You Could Do with Your Blog WPSLC
9 Things You Didn't Know You Could Do with Your Blog WPSLC9 Things You Didn't Know You Could Do with Your Blog WPSLC
9 Things You Didn't Know You Could Do with Your Blog WPSLC
 
Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"Postman Webinar: "API Governance with Postman"
Postman Webinar: "API Governance with Postman"
 
Postman covid-webinar
Postman covid-webinarPostman covid-webinar
Postman covid-webinar
 
[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url Design[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url Design
 
State of the API: Insights Into the Future of APIs
State of the API: Insights Into the Future of APIsState of the API: Insights Into the Future of APIs
State of the API: Insights Into the Future of APIs
 
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon LightsailDeploying and Scaling Your First Cloud Application with Amazon Lightsail
Deploying and Scaling Your First Cloud Application with Amazon Lightsail
 
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketEnterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
 
presentation-chaos-monkey
presentation-chaos-monkeypresentation-chaos-monkey
presentation-chaos-monkey
 
Top 8 Ruby on Rails Gems
Top 8 Ruby on Rails GemsTop 8 Ruby on Rails Gems
Top 8 Ruby on Rails Gems
 
Deploy, Manage & Scale Your Apps with Elastic Beanstalk
Deploy, Manage & Scale Your Apps with Elastic BeanstalkDeploy, Manage & Scale Your Apps with Elastic Beanstalk
Deploy, Manage & Scale Your Apps with Elastic Beanstalk
 
AEM OpenCloud
AEM OpenCloudAEM OpenCloud
AEM OpenCloud
 
Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
3112 final
3112 final3112 final
3112 final
 
Top 20 Free WordPress Slider Plugins in 2015 by Techtic Solutions
Top 20 Free WordPress Slider Plugins in 2015 by Techtic SolutionsTop 20 Free WordPress Slider Plugins in 2015 by Techtic Solutions
Top 20 Free WordPress Slider Plugins in 2015 by Techtic Solutions
 
Deployment with Elastic Beanstalk at Edinburgh Startup Event
Deployment with Elastic Beanstalk at Edinburgh Startup EventDeployment with Elastic Beanstalk at Edinburgh Startup Event
Deployment with Elastic Beanstalk at Edinburgh Startup Event
 
Azure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery wayAzure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery way
 

Andere mochten auch

Andere mochten auch (20)

Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to beAgile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
Agile roundabout 2017 01 - keeping your ci-cd system as fast as it needs to be
 
Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4Cursos Agile Think - Lean - 2/4
Cursos Agile Think - Lean - 2/4
 
Increase Your Intelligence 2014
Increase Your Intelligence 2014Increase Your Intelligence 2014
Increase Your Intelligence 2014
 
Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4Cursos Agile Think - Kanban - 3/4
Cursos Agile Think - Kanban - 3/4
 
Mountebank and you
Mountebank and youMountebank and you
Mountebank and you
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Expert Talks Cardiff 2017 - Keeping your ci-cd system as fast as it needs to be
Expert Talks Cardiff 2017 - Keeping your ci-cd system as fast as it needs to beExpert Talks Cardiff 2017 - Keeping your ci-cd system as fast as it needs to be
Expert Talks Cardiff 2017 - Keeping your ci-cd system as fast as it needs to be
 
Keeping your CI/CD pipeline as fast as it needs to be
Keeping your CI/CD pipeline as fast as it needs to beKeeping your CI/CD pipeline as fast as it needs to be
Keeping your CI/CD pipeline as fast as it needs to be
 
Creative Disobedience: How, When and Why to Break the Rules (from BIL 2014)
Creative Disobedience: How, When and Why to Break the Rules (from BIL 2014)Creative Disobedience: How, When and Why to Break the Rules (from BIL 2014)
Creative Disobedience: How, When and Why to Break the Rules (from BIL 2014)
 
Livro AGILE THINK® CANVAS
Livro AGILE THINK® CANVAS Livro AGILE THINK® CANVAS
Livro AGILE THINK® CANVAS
 
Cursos Agile Think - Framework Scrum - 1/4
Cursos Agile Think - Framework Scrum - 1/4Cursos Agile Think - Framework Scrum - 1/4
Cursos Agile Think - Framework Scrum - 1/4
 
Merge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescueMerge hells!! feature toggles to the rescue
Merge hells!! feature toggles to the rescue
 
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to BeKeeping Your CI/CD Pipeline as Fast as It Needs to Be
Keeping Your CI/CD Pipeline as Fast as It Needs to Be
 
Agile Requirements
Agile RequirementsAgile Requirements
Agile Requirements
 
Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)Methodology Patterns (Agile Cambridge 2014)
Methodology Patterns (Agile Cambridge 2014)
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software Development
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 
Serverless Architectures and Continuous Delivery
Serverless Architectures and Continuous DeliveryServerless Architectures and Continuous Delivery
Serverless Architectures and Continuous Delivery
 
Improve collaboration and confidence with Consumer-driven contracts
Improve collaboration and confidence with Consumer-driven contractsImprove collaboration and confidence with Consumer-driven contracts
Improve collaboration and confidence with Consumer-driven contracts
 
Pipeline conference 2017 - Breaking down your build: architectural patterns f...
Pipeline conference 2017 - Breaking down your build: architectural patterns f...Pipeline conference 2017 - Breaking down your build: architectural patterns f...
Pipeline conference 2017 - Breaking down your build: architectural patterns f...
 

Ähnlich wie JavaOne 2015: Scalable Continous Deployment with Maven

I don't always test...but when I do I test in production - Gareth Bowles
I don't always test...but when I do I test in production - Gareth BowlesI don't always test...but when I do I test in production - Gareth Bowles
I don't always test...but when I do I test in production - Gareth Bowles
QA or the Highway
 

Ähnlich wie JavaOne 2015: Scalable Continous Deployment with Maven (20)

DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real Things
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Active web page chapter for reading purpose
Active web page chapter for reading purposeActive web page chapter for reading purpose
Active web page chapter for reading purpose
 
Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014Continuous Updating with VersionEye at code.talks 2014
Continuous Updating with VersionEye at code.talks 2014
 
Uncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applicationsUncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applications
 
Gaejexperiments
GaejexperimentsGaejexperiments
Gaejexperiments
 
I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...
 
I don't always test...but when I do I test in production - Gareth Bowles
I don't always test...but when I do I test in production - Gareth BowlesI don't always test...but when I do I test in production - Gareth Bowles
I don't always test...but when I do I test in production - Gareth Bowles
 
The Rounds Project: Growing from thousands to millions - Berry Ventura & Yoah...
The Rounds Project: Growing from thousands to millions - Berry Ventura & Yoah...The Rounds Project: Growing from thousands to millions - Berry Ventura & Yoah...
The Rounds Project: Growing from thousands to millions - Berry Ventura & Yoah...
 
Waterford fast images
Waterford fast imagesWaterford fast images
Waterford fast images
 
Visual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOpsVisual Studio Mobile Center: A story about mobile DevOps
Visual Studio Mobile Center: A story about mobile DevOps
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQL
 
Rounds tips & tricks
Rounds tips & tricksRounds tips & tricks
Rounds tips & tricks
 
Beautiful and Fast Images
Beautiful and Fast Images Beautiful and Fast Images
Beautiful and Fast Images
 
MVVM & RxSwift
MVVM & RxSwiftMVVM & RxSwift
MVVM & RxSwift
 
Portafolio
PortafolioPortafolio
Portafolio
 

Kürzlich hochgeladen

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Kürzlich hochgeladen (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

JavaOne 2015: Scalable Continous Deployment with Maven