SlideShare una empresa de Scribd logo
1 de 102
Descargar para leer sin conexión
Large Scale CSS Refactoring at trivago
@pistenprinz
Ironman release picture
Crazy Guy
Talking to you 

right now
Does something
with frontend at
trivago
Loves giving
presentations
U.Bolt
Performance
Unicorn
Christoph Reinartz - @pistenprinz
What is it?

A description
Project Ironman was the technical migration of the
trivago hotel search's existing CSS core to a pattern
library based user interface.*
*) business translation for #refactorAllTheThings
Christoph Reinartz - @pistenprinz
Ironman - Tech Context

The Big Picture
Christoph Reinartz - @pistenprinz
#1
Establish design and

code consistency
Introduce a Frontend / Design System into the trivago
hotel search
Christoph Reinartz - @pistenprinz
#2
Improve code quality and
maintainability
Reduce technical debt
Christoph Reinartz - @pistenprinz
#3
Provide base for modern &
sustainable UI rebuild
Build modern applications fast
Christoph Reinartz - @pistenprinz
The former Case Study

A Pattern Library and Atomic Design
Christoph Reinartz - @pistenprinz
The old company pages

Built without Design Thinking and Atomic Design
Christoph Reinartz - @pistenprinz
The relaunched site

Built with Design Thinking and Atomic Design
Christoph Reinartz - @pistenprinz
The first Redesigns

Company Pages and Quality Test Intro Page
Christoph Reinartz - @pistenprinz
Where we come from
What happened since 2012
Christoph Reinartz - @pistenprinz
Specificity graph 2012

The specificity wall
–Christian Bauer
„Zitat hier eingeben.“
Christoph Reinartz - @pistenprinz
Graph before ironman

Way better, but still …
peaks at the beginning
of the stylesheet
Christoph Reinartz - @pistenprinz
Before Ironman
The Pain Points
Christoph Reinartz - @pistenprinz
#1
Sprites were out of control
We built Frankenstein with Icons
Christoph Reinartz - @pistenprinz
#2
Creepy Render Bugs
No, i don’t render your site
#3
Too much CSS
How many Selectors do you use? ALL!
Christoph Reinartz - @pistenprinz
#4
Desktop first approach
Oh you poor mobile devices
Christoph Reinartz - @pistenprinz
#5
Inconsistency and missing
Styleguide
Or how to create fifty shades of grey or anything else
Code / Process Audits
• IE7 support
• Layout built on reset.css
• too complex CSS structure
Christoph Reinartz - @pistenprinz
#6
Overly complex CSS/DOM
structure
div, div, div, span, span, span
Christoph Reinartz - @pistenprinz
Ironman - the scope
The three disciplines
Christoph Reinartz - @pistenprinz
#1
Normalize.css incl. border-
box switch
Replace reset.css and remove content-box for box-sizing
Christoph Reinartz - @pistenprinz
#2
Mobile first switch
Rewrite all media queries
Christoph Reinartz - @pistenprinz
#3
Replace image sprites with
SVGs and Fallback
Icon solution based on Grunticon
Christoph Reinartz - @pistenprinz
Ironman - the oath
What we had to promise
Christoph Reinartz - @pistenprinz
Retain the existing Layout &
Design
integrate the new CSS framework base which was
developed with the Pattern Library without changing
the appearance of the site
Christoph Reinartz - @pistenprinz
Ironman - technical details
What we had to refactor
Christoph Reinartz - @pistenprinz
#1
Refactor > 50k LOC of Scss
Rewrite / adapt the whole Scss Base
Christoph Reinartz - @pistenprinz
#2
Adapt dozens of templates
Markup changes needed for the new architecture
Christoph Reinartz - @pistenprinz
#3
Keep IE8 support
Yeah we still make money with IE8
Christoph Reinartz - @pistenprinz
#4
Remove all the Icons
coming from sprites
Prettify Frankenstein
Christoph Reinartz - @pistenprinz
#5
Extensive Device-Testing
Re-Test the application on all possible device
Christoph Reinartz - @pistenprinz
#6
Do it four weeks
Time is limited
Christoph Reinartz - @pistenprinz
Ironman - the business side
Management <3 refactoring. Not. </3
Christoph Reinartz - @pistenprinz
How to tell management that you
need 4 weeks of feature freeze
and the User Interface will look
exactly the same afterwards?
Developer goes Marketing
Code / Process Audits
How to tell management that you need you need 4 weeks of feature
freeze and the User Interface will exactly look the same afterwards?
Christoph Reinartz - @pistenprinz
#1
Be a salesman- Sell it!
Prove it! Show benefits!
Argue!
Christoph Reinartz - @pistenprinz
#2
Do it in 3 weeks!
Meet the deadline
Christoph Reinartz - @pistenprinz
#3
Don’t only think technically!
Think like a business person
Christoph Reinartz - @pistenprinz
Ironman - the process
How to integrate such a project
Christoph Reinartz - @pistenprinz
#?
How to integrate such a project
into an existing process?
Don’t harm the existing process
Christoph Reinartz - @pistenprinz
#?
How to handle management
expectation?
How to keep management up to date
Christoph Reinartz - @pistenprinz
#?
How to plan and estimate?
#noEstimates
Christoph Reinartz - @pistenprinz
Ironman - Agility
Possible ways to enforce culture
Christoph Reinartz - @pistenprinz
#1
People over process
The Agile Manifesto told ya
Christoph Reinartz - @pistenprinz
#2
Commitment over
estimation*
Interested to know when you are done, or interested to
be as fast as possible?

*) only works if you meet the deadline
Christoph Reinartz - @pistenprinz
#3
Make progress transparent
& involve everybody
Update the stakeholders as often as possible
Christoph Reinartz - @pistenprinz
#4
Motivate people and let
them be awesome
Hire awesome people and get out of their way
Christoph Reinartz - @pistenprinz
Ironman - the numbers
People & processes
Christoph Reinartz - @pistenprinz
The People
One project team
… and infinite supporters
Christoph Reinartz - @pistenprinz
9 Front-End Devs
3 Designers2 QA
Release
Engineer
Management
Back-End
Devs
Performance
Lead
UBolt
UXBolt
Product
Owner
Christoph Reinartz - @pistenprinz
The (lean) Process
3 Meetings +17 Stand-Ups
… and a Kanban board with 67 Post-Its and a slack-
channel is all we needed
Christoph Reinartz - @pistenprinz
Ironman - the numbers
Code and Outcome
Christoph Reinartz - @pistenprinz
889 commits in 3 weeks
16 commits per hour #YOLO
Christoph Reinartz - @pistenprinz
11973 LOC added
That is new / changed code
Christoph Reinartz - @pistenprinz
36668 LOC removed
Delete all the things (CSS,HTML,JS)
Christoph Reinartz - @pistenprinz
LOC from 52991 to 39755
Removed nearly 25% of the Scss Base
Christoph Reinartz - @pistenprinz
Replaced 451 Icons
Infinite Icons replaced with SVG Icons
Christoph Reinartz - @pistenprinz
352 changed files
Infinite Icons replaced with SVG Icons
Christoph Reinartz - @pistenprinz
Code / Process Audits
• Foundation built to move the UI Development to the next level
• Better rendering performance on mobile
• Shared knowledge and understanding throughout, between all developers and the entire design/product team
CSS Selectors
Before and after
7009 vs 5605
Christoph Reinartz - @pistenprinz
Code / Process Audits
• Foundation built to move the UI Development to the next level
• Better rendering performance on mobile
• Shared knowledge and understanding throughout, between all developers and the entire design/product team
CSS Rules
Before and after
5817 vs 4870
Christoph Reinartz - @pistenprinz
Code / Process Audits
• Foundation built to move the UI Development to the next level
• Better rendering performance on mobile
• Shared knowledge and understanding throughout, between all developers and the entire design/product team
CSS Declarations
Before and after
13500 vs 11300
Christoph Reinartz - @pistenprinz
Showcase 1

Desktop first vs. Mobile first
Christoph Reinartz - @pistenprinz
Showcase 2

Sprite Wars vs. SVG beauty
Christoph Reinartz - @pistenprinz
Showcase 3

HTTP Requests
Christoph Reinartz - @pistenprinz
Showcase 3

HTTP requests
Christoph Reinartz - @pistenprinz
Showcase 3

HTTP requests
Christoph Reinartz - @pistenprinz
<3
Sorted the colors
Established and introduce a color palette
trv-blue-light
#3f9fc1
trv-red-light
#d67763
trv-green-light
#8cba3f
trv-green-lighter
#b2d17f
trv-green-dark
#4c7b00
trv-juri-light
#697379
trv-juri-lighter
#9ba2a6
trv-juri-lightest
#ebeced
trv-blue-dark
#005f81
trv-blue
#007fad
trv-orange
#f48f00
trv-red
#c94a30
trv-orange-dark
#b76b00
trv-orange-light
#f6ab3f
trv-blue-lightest
#e5f2f6
trv-red-lightest
#f9ecea
trv-orange-lightest
#fdf3e5
trv-red-dark
#963724
trv-green
#66a400
trv-juri
#37454d
trv-juri-dark
#293339
16
12 18
16
12
12
18
12
18
16
*
trv-juri-very-light
#cdd0d2
trv-red-very-light
#f1d1cb
trv-green-very-light
#d8e8bf
trv-orange-very-light
#fce3bf
trv-blue-very-light
#bfdfea
trv-red-lighter
#e4a49b
trv-orange-lighter
#f9c780
trv-blue-lighter
#7fbfd6
trv-green-lightest
#eff5e5
Christoph Reinartz - @pistenprinz
<3
Solved the icon chaos
Replaced the image sprites with a SVG icon set
description details infobig hotelconnect smiley heart towel star pictures
wifi spa beach breakfast pool pet golf tv family eco parking
bed_single bed_double bed_small couple universal home menu share edit
checkout checkin general rates
faq_circle faq info_circleinfo
arrow_right_circle arrow_left_circle arrow_down_circle arrow_up_circle arrow_right arrow_left arrow_down arrow_up tick exclamation x plus minus
image media bag chair team candy journalist news hoteltest plus_circle minus_circle x_circle filter
dashboard statistics hotel2 hotel travel2 travel booking hotelchain upload delete tick_circle exclamation_circle contact
profile info product history giveback lock calendar search publisher career comment download map
smiley_belowaverage smiley_satisfactory smiley_good smiley_verygood smiley_excellent smiley_belowaverage smiley_satisfactory smiley_good smiley_verygood smiley_excellent
level sort department
poi_citycentre poi_airport poi_sight poi_conference poi_harbor poi_mainstation poi_nature poi_nightlife poi_sports
filterreset join
thin
share2 movie call piechart diagram music multimedia
wifi spa beach breakfast pool pet golf tv family eco parking
bed_single bed_double bed_small couple universal home menu share edit
checkout checkin general rates description details infobig hotelconnect smiley heart towel star pictures
icn_profile icn_info icn_product icn_history icn_giveback icn_lock icn_calendar icn_search icn_publisher icn_career icn_comment icn_download icn_map
icn_dashboard icn_statistics icn_hotel2 icn_hotel icn_travel2 icn_travel icn_booking icn_hotelchain icn_upload icn_delete icn_tick_circle exclamation_circle contact
image media bag chair team candy journalist news hoteltest plus_circle minus_circle x_circle icn_filter
arrow_right_circle arrow_left_circle arrow_down_circle arrow_up_circle arrow_right arrow_left arrow_down arrow_up tick exclamation x plus minus
faq_circle faq info_circle info
smiley_belowaverage smiley_satisfactory smiley_good smiley_verygood smiley_excellentsmiley_belowaverage smiley_satisfactory smiley_good smiley_verygood smiley_excellent
level sort department
poi_citycentre poi_airport poi_sight poi_conference poi_harbor poi_mainstation poi_nature poi_nightlife poi_sports
join
thin
filterreset share2 movie call piechart diagram music multimedia
Christoph Reinartz - @pistenprinz
Graph before Ironman

Way better, but still …
peaks at the beginning
of the stylesheet
Christoph Reinartz - @pistenprinz
Graph after Ironman

Improved curve
New CSS
base
Adapted old UI components.
Can now be easily rebuilt!
SVG
Christoph Reinartz - @pistenprinz
The metrics

A/B Test results
Christoph Reinartz - @pistenprinz
The final result

Lets celebrate and merge
Let’s go crazy

Christoph Reinartz - @pistenprinz
Retrospective

What we have achieved - High Level
Summary
Christoph Reinartz - @pistenprinz
<3
Foundation built to move the
UI to the next level
Sustainable base to continue UI rebuild
Christoph Reinartz - @pistenprinz
<3
Better rendering
performance on mobile
No more poor mobile devices
Christoph Reinartz - @pistenprinz
<3
Shared knowledge and
understanding
Affects the developers and the entire design/product
team
Christoph Reinartz - @pistenprinz
<3
Optimized design-
development process
Atomic Design FTW
Christoph Reinartz - @pistenprinz
<3
New coding guidelines and
improved structure
ITCSS, BEM, OOCSS, …
Christoph Reinartz - @pistenprinz
Moving faster

The time after
Christoph Reinartz - @pistenprinz
Faster Product Iterations

Old version of the search result
Christoph Reinartz - @pistenprinz
The new item element

New version built with pattern lab upon new base
Christoph Reinartz - @pistenprinz
Thanks

I’m done
Christoph Reinartz
Team Lead UI/UX Engineering
@pistenprinz

Más contenido relacionado

Destacado

Brainstorming ideas
Brainstorming ideasBrainstorming ideas
Brainstorming ideasAmybettell96
 
Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252sahilkharkara5
 
Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252sahilkharkara5
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689sahilkharkara5
 

Destacado (7)

Brainstorming ideas
Brainstorming ideasBrainstorming ideas
Brainstorming ideas
 
Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252
 
Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252Plots in Neemrana-Behror,8459137252
Plots in Neemrana-Behror,8459137252
 
Office365
Office365Office365
Office365
 
property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689property in Neemrana-Ashu Group,7503367689
property in Neemrana-Ashu Group,7503367689
 
Denmark by chloe and verónica
Denmark by chloe and verónicaDenmark by chloe and verónica
Denmark by chloe and verónica
 
Mother s day
Mother s dayMother s day
Mother s day
 

Similar a Large Scale CSS Refactoring at trivago

Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...
Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...
Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...Codemotion
 
Knowledge 18 presentation
Knowledge 18 presentationKnowledge 18 presentation
Knowledge 18 presentationYossi Shasha
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
What's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsWhat's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsBruno Sbille
 
Drupal as a Data Purveyor, Part II
Drupal as a Data Purveyor, Part IIDrupal as a Data Purveyor, Part II
Drupal as a Data Purveyor, Part IITim Hamilton
 
Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?Kaliop-slide
 
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...Ahmad Najjar
 
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...Unbounce
 
What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013Richard P. Doerer
 
DesignLife_CACareer2015
DesignLife_CACareer2015DesignLife_CACareer2015
DesignLife_CACareer2015Chris Anthony
 
The Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, WixThe Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, WixCodemotion Tel Aviv
 
Creating multillingual apps for android
Creating multillingual apps for androidCreating multillingual apps for android
Creating multillingual apps for androidSergi Martínez
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermRandy Shoup
 
Engineering at siroop
Engineering at siroopEngineering at siroop
Engineering at sirooppatforna
 
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016Codemotion
 

Similar a Large Scale CSS Refactoring at trivago (20)

Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...
Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...
Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterda...
 
Knowledge 18 presentation
Knowledge 18 presentationKnowledge 18 presentation
Knowledge 18 presentation
 
SAP agile proof of concept
SAP agile proof of conceptSAP agile proof of concept
SAP agile proof of concept
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
What's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methodsWhat's Agile ? Introduction to Agile methods
What's Agile ? Introduction to Agile methods
 
CV - Abhijit
CV - AbhijitCV - Abhijit
CV - Abhijit
 
Drupal as a Data Purveyor, Part II
Drupal as a Data Purveyor, Part IIDrupal as a Data Purveyor, Part II
Drupal as a Data Purveyor, Part II
 
Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?Comment créer, optimiser et monétiser vos contenus ?
Comment créer, optimiser et monétiser vos contenus ?
 
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...
CZSPC 2017 - Modern Business Applications: Microsoft flow, PowerApps & latest...
 
Describing Design
Describing DesignDescribing Design
Describing Design
 
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...
Conversion Mythbusting: Common Misconceptions That Are Killing Your Landing P...
 
What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013What is-agile henrik kniberg august 20 2013
What is-agile henrik kniberg august 20 2013
 
DesignLife_CACareer2015
DesignLife_CACareer2015DesignLife_CACareer2015
DesignLife_CACareer2015
 
Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845
 
The Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, WixThe Art of Decomposing Monoliths - Kfir Bloch, Wix
The Art of Decomposing Monoliths - Kfir Bloch, Wix
 
Creating multillingual apps for android
Creating multillingual apps for androidCreating multillingual apps for android
Creating multillingual apps for android
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long Term
 
Engineering at siroop
Engineering at siroopEngineering at siroop
Engineering at siroop
 
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
 
From Good-Enough to Great
From Good-Enough to GreatFrom Good-Enough to Great
From Good-Enough to Great
 

Último

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Large Scale CSS Refactoring at trivago