SlideShare une entreprise Scribd logo
1  sur  111
Télécharger pour lire hors ligne
b
b
Large Scale CSS Refactoring at trivago
Amsterdam 12 May 2016
Christoph Reinartz ~ @pistenprinz
since 2012
twitter/medium
@pistenprinz
www.creinartz.de
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
Christoph Reinartz - @pistenprinz
peaks at the beginning
of the stylesheet
Graph before Ironman

Way better, but still…
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
Christoph Reinartz - @pistenprinz
#3
Too much CSS
How many Selectors do you use? ALL!
Christoph Reinartz - @pistenprinz
#3
Too much CSS
How many Selectors do you use? ALL!
Christoph Reinartz - @pistenprinz
#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
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
New CSS Core Old CSS Core
normalize.css reset.css
border-box content-box
mobile first (min-width) desktop first (max-width)
media queries inline in separate files
embed SVG icon image sprites
ITCSS layering [something]
BEM, OOCSS, Atomic CSS [something]
Post processing (MQPacker etc.) nothing
improved legacy / fallback handling [something]
Christoph Reinartz - @pistenprinz
Normalize.css incl. border-box switch
Replace reset.css and remove content-box for box-sizing
Christoph Reinartz - @pistenprinz
Mobile first switch
Rewrite all media queries
Christoph Reinartz - @pistenprinz
Replace image sprites with SVGs and
Fallback
Icon solution based on Grunticon
Christoph Reinartz - @pistenprinz
Ironman - YOLO?!
Requirement Engineering
https://www.flickr.com/photos/jesper/346483272/
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
Stop at components layer

Fix the things at the root first
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
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
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
20162015
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
peaks at the beginning
of the stylesheet
Graph before Ironman

Way better, but still…
Christoph Reinartz - @pistenprinz
New CSS
base
Adapted old UI components.
Can now be easily rebuilt!
SVG
Graph after Ironman

Improved curve…
Christoph Reinartz - @pistenprinz
The metrics

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

Lets celebrate and merge
Christoph Reinartz - @pistenprinz
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
Moved to ITCSS

Prepared base for new UI components
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
The next challenges

Auto integrate all the things
Christoph Reinartz - @pistenprinz
Ready for the next steps

Automate the pattern integration
Christoph Reinartz - @pistenprinz
Thanks

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

Contenu connexe

En vedette

UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016
UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016
UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016Codemotion
 
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...Codemotion
 
Outthink: machines coping with humans. A journey into the cognitive world - E...
Outthink: machines coping with humans. A journey into the cognitive world - E...Outthink: machines coping with humans. A journey into the cognitive world - E...
Outthink: machines coping with humans. A journey into the cognitive world - E...Codemotion
 
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016Codemotion
 
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016Codemotion
 
Bias Driven Development - Mario Fusco - Codemotion Milan 2016
Bias Driven Development - Mario Fusco - Codemotion Milan 2016Bias Driven Development - Mario Fusco - Codemotion Milan 2016
Bias Driven Development - Mario Fusco - Codemotion Milan 2016Codemotion
 
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...Codemotion
 
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...Codemotion
 
Higher order infrastructure: from Docker basics to cluster management - Nicol...
Higher order infrastructure: from Docker basics to cluster management - Nicol...Higher order infrastructure: from Docker basics to cluster management - Nicol...
Higher order infrastructure: from Docker basics to cluster management - Nicol...Codemotion
 
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Codemotion
 
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016Codemotion
 
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...Codemotion
 
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...Codemotion
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Codemotion
 
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...Codemotion
 
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...Codemotion
 
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016Codemotion
 
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Codemotion
 
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Codemotion
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Codemotion
 

En vedette (20)

UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016
UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016
UGIdotNET Meetup - Andrea Saltarello - Codemotion Milan 2016
 
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...
Living on the Edge (Service): Bundling Microservices to Optimize Consumption ...
 
Outthink: machines coping with humans. A journey into the cognitive world - E...
Outthink: machines coping with humans. A journey into the cognitive world - E...Outthink: machines coping with humans. A journey into the cognitive world - E...
Outthink: machines coping with humans. A journey into the cognitive world - E...
 
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
 
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016
Can Super Coders be a reality? - Atreyam Sharma - Codemotion Milan 2016
 
Bias Driven Development - Mario Fusco - Codemotion Milan 2016
Bias Driven Development - Mario Fusco - Codemotion Milan 2016Bias Driven Development - Mario Fusco - Codemotion Milan 2016
Bias Driven Development - Mario Fusco - Codemotion Milan 2016
 
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...
SASI, Cassandra on the full text search ride - DuyHai Doan - Codemotion Milan...
 
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...
Angular Rebooted: Components Everywhere - Carlo Bonamico, Sonia Pini - Codemo...
 
Higher order infrastructure: from Docker basics to cluster management - Nicol...
Higher order infrastructure: from Docker basics to cluster management - Nicol...Higher order infrastructure: from Docker basics to cluster management - Nicol...
Higher order infrastructure: from Docker basics to cluster management - Nicol...
 
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
Sviluppare applicazioni cross-platform con Xamarin Forms e il framework Prism...
 
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016
Il Bot di Codemotion - Emanuele Capparelli - Codemotion Milan 2016
 
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...
Cross-platform Apps using Xamarin and MvvmCross - Martijn van Dijk - Codemoti...
 
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...
Search on the fly: how to lighten your Big Data - Simona Russo, Auro Rolle - ...
 
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
 
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...
Continuous Budgeting. Come fare scelte corrette, in un mondo complesso - Fran...
 
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...
Combining AI and IoT. New Industrial Revolution in our houses and in the Univ...
 
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016
The (almost) lost art of Smalltalk - Nikolas Martens - Codemotion Milan 2016
 
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
Cyber Analysts: who they are, what they do, where they are - Marco Ramilli - ...
 
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
Lo sviluppo di Edge Guardian VR - Maurizio Tatafiore - Codemotion Milan 2016
 
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
Master the chaos: from raw data to analytics - Andrea Pompili, Riccardo Rossi...
 

Similaire à Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterdam 2016

Project Ironman - Large Scale CSS Refactoring @trivago
Project Ironman - Large Scale CSS Refactoring @trivagoProject Ironman - Large Scale CSS Refactoring @trivago
Project Ironman - Large Scale CSS Refactoring @trivagoChristoph Reinartz
 
about:consistency - lesson learned: the hard way
about:consistency - lesson learned: the hard wayabout:consistency - lesson learned: the hard way
about:consistency - lesson learned: the hard wayChristoph Reinartz
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Frédéric Harper
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEric Overfield
 
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
 
DesignLife_CACareer2015
DesignLife_CACareer2015DesignLife_CACareer2015
DesignLife_CACareer2015Chris Anthony
 
Drupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part IDrupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part ITim 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
 
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
 
Wine & Web: How to do a content audit
Wine & Web: How to do a content audit Wine & Web: How to do a content audit
Wine & Web: How to do a content audit Orbit Media Studios
 
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markers
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markersDevoxx: Event storming a DDD/MicroService landscape using post-it's and markers
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markersstijn vanpoucke
 
Creating multillingual apps for android
Creating multillingual apps for androidCreating multillingual apps for android
Creating multillingual apps for androidSergi Martínez
 
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
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as CodeKris Buytaert
 
OSMC 2021 | Pipeline your Dashboards as Code
OSMC 2021 | Pipeline your Dashboards as CodeOSMC 2021 | Pipeline your Dashboards as Code
OSMC 2021 | Pipeline your Dashboards as CodeNETWAYS
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 

Similaire à Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterdam 2016 (20)

Project Ironman - Large Scale CSS Refactoring @trivago
Project Ironman - Large Scale CSS Refactoring @trivagoProject Ironman - Large Scale CSS Refactoring @trivago
Project Ironman - Large Scale CSS Refactoring @trivago
 
about:consistency - lesson learned: the hard way
about:consistency - lesson learned: the hard wayabout:consistency - lesson learned: the hard way
about:consistency - lesson learned: the hard way
 
Describing Design
Describing DesignDescribing Design
Describing Design
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
 
Enhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web DesignEnhancing SharePoint with Responsive Web Design
Enhancing SharePoint with Responsive Web Design
 
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
 
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
 
DesignLife_CACareer2015
DesignLife_CACareer2015DesignLife_CACareer2015
DesignLife_CACareer2015
 
Coding a SaaS
Coding a SaaSCoding a SaaS
Coding a SaaS
 
Drupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part IDrupal as a Data Purveyor, Part I
Drupal as a Data Purveyor, Part I
 
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 ?
 
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
 
Wine & Web: How to do a content audit
Wine & Web: How to do a content audit Wine & Web: How to do a content audit
Wine & Web: How to do a content audit
 
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markers
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markersDevoxx: Event storming a DDD/MicroService landscape using post-it's and markers
Devoxx: Event storming a DDD/MicroService landscape using post-it's and markers
 
Creating multillingual apps for android
Creating multillingual apps for androidCreating multillingual apps for android
Creating multillingual apps for android
 
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
 
SAP agile proof of concept
SAP agile proof of conceptSAP agile proof of concept
SAP agile proof of concept
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as Code
 
OSMC 2021 | Pipeline your Dashboards as Code
OSMC 2021 | Pipeline your Dashboards as CodeOSMC 2021 | Pipeline your Dashboards as Code
OSMC 2021 | Pipeline your Dashboards as Code
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 

Plus de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Plus de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Dernier

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Dernier (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Large Scale Refactoring at Trivago - Christoph Reinartz - Codemotion Amsterdam 2016