SlideShare a Scribd company logo
Ops Tooling for UI
DevOps and the CSS Developer
CSSConf June 18, 2015
(full speaker notes included)
Rachael L Moore
UI Engineer
OpenTable
morewry
Design Dev Ops
Design Dev Ops
Design Dev Ops
button {
dispay: block;
padding: 0 1rem;
color: #FFF;
background: #333;
text-transform: uppercase;
}
Typo Example
button {
dispay: block;
padding: 0 1rem;
color: #FFF;
background: #333;
text-transform: uppercase;
}
Typo Example
button {
display: block;
padding: 0 1rem;
Typo Example
button {
display: flex;
flex: 1 1 auto;
justify-content: center;
align-items: center;
}
Prefix Example
Prefix Example
button {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
Layout Problem
.table {
display: table;
width: 100%;
margin: 0 auto;
}
.table {
display: table;
table-layout: fixed;
width: 100%;
margin: 0 auto;
}
Layout Problem
DevOps
(cross your fingers)
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Cupcake Cup+Cake
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
idea goes in and product comes out
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Ideation
Design
Implementation
Verification
Release
DevOps
Product & Design
ALL Implementation??
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Brainstorming
Prototyping
Usability testing
Hand off final design
Operations Tooling for UI - DevOps for CSS Developers
Questions
What are we delivering?
What's the process for
producing it?
Operations Tooling for UI - DevOps for CSS Developers
UI Components
<link rel="import" src="components/button.html" />
UI Components
<custom-button />
UI Components
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
UI Components Technical Benefits
<custom-button />
<custom-button option="option value" />
UI Components Technical Benefits
<custom-button />
UI Components Technical Benefits
Operations Tooling for UI - DevOps for CSS Developers
What are we delivering?
UI Components
What's the process for
producing it?
Questions
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
What are we delivering?
UI Components
What's the process for
producing it?
Supported by automated
pipeline
Questions
Automated pipeline
Tasks to automate
Basic setup
Operations Tooling for UI - DevOps for CSS Developers
Build
Test
Distribute
Build
Test
Distribute
Build Test Distribute
Operations Tooling for UI - DevOps for CSS Developers
Build
Lint
Preprocess
Postprocess
ul#id li button {
display: block;
color: white;
}
Linting vs
Validating
button }
display: block;
color: %FFF

Validation vs Linting
button {
dispay: block;
padding: 0 1rem;
color: #FFF;
background: #333;
text-transform: uppercase;
}
Typo Example Caught by Linting
WARNING: Unknown property 'dispay'.
Properties should be known (listed in CSS3
specification) or be a vendor-prefixed property.
Typo Example Caught by Linting
.new-class {
font-size: $var-font-size;
@include custom-mixin;
font-weight: bold
@extend .old-class;
@if $var-condition {
// ...
}
}
Sass (SCSS) Syntax
Operations Tooling for UI - DevOps for CSS Developers
:root {
--restaurant-color: #5FA9C4;
--consumer-color: #CE3D44;
}
.class {
background-color: var(--restaurant-color);
}
Vanilla CSS Features
.class {
width: calc(100% - 3rem);
}
Vanilla CSS Features
button {
display: flex;
flex: 1 1 auto;
justify-content: center;
align-items: center;
}
Vanilla CSS Features
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Auto-Prefixed Comparison
button {
 display: -webkit-box;
 display: -moz-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -webkit-box-pack: center;
 -moz-box-pack: center;
 -webkit-justify-content: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-box-align: center;
 -moz-box-align: center;
 -webkit-align-items: center;
...
button {
 display: flex;
 justify-content: center;
 align-items: center;
}
Operations Tooling for UI - DevOps for CSS Developers
Test
Unit
Visual diff
End-to-end
test harness / test framework / test fixture
stub / spy / mock object / fake object
test double / dummy object / use case
unit / integration / performance / e2e / ui
smoke / compatibility / acceptance / coverage
black-box / white-box / gray-box
visual / system / regression / reporter
benchmark / test case / scenario / test suite
test matrix / security / page object
selenium / webdriver / test runner / baseline
functional / non-functional / ad hoc
bottom up / top down / test bed / test driver
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Unit Testing
var result = add(1, 2);
expect(result).to.equal(3);
Unit Testing
var button = $(".custom-button");
expect(button.styles).to.equal(written.styles);
*pseudocode
Unit Testing
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
✔
Operations Tooling for UI - DevOps for CSS Developers
Sample / Diff / Baseline
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Techniques
Test pages
Mock data
Operations Tooling for UI - DevOps for CSS Developers
{
"guests": [
{
"name": "Testina T. McTesterson-Testfield",
"seated": true
},
{
"name": "T.J. Test",
"seated": false
}
]
}
Mock Data Example
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Distribute
Pull Requests / CI
Versioning / Releasing
> grunt build
Running lint task
Running preprocess task
Running postprocess task
> grunt test
Running unit-test task
Running visual-diff task
Running e2e-test task
Grunt Tasks Running
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
1.2.3
(best version ever)
Tagging & Bower
> bower install custom-button
bower download ...
bower install ...
custom-button#1.2.3 bower_components/custom-button
Tagging & Bower
Automated pipeline
Build
Test
Distribute
Operations Tooling for UI - DevOps for CSS Developers
Prerequisites
Temple of Balance
Two tall stone pillars hold up the overhang of the
temple, shielding the worshippers from the
elements. You see the Temple Square to the north
and the altar of the neutral gods to the
east.
[Exits: north up (down)]
(White Aura) Iauro the old priest is here.
> look
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Operations Tooling for UI - DevOps for CSS Developers
Installing Grunt
> npm install -g grunt-cli
> npm install grunt --save-dev
Installing Grunt
Gruntfile.js
module.exports = function (grunt) {
// load tasks
grunt.loadNpmTasks("");
grunt.initConfig({});
// config tasks
grunt.config({})
// custom pipeline tasks
grunt.registerTask("", []);
};
...
// load tasks
grunt.loadNpmTasks("grunt-csslint");
// config tasks
grunt.config("csslint", {
"default": {
options: { csslintrc: ".csslintrc" },
src: ["/*.css"]
}
});
...
CSSLint - Gruntfile.js
...
// load tasks
grunt.loadNpmTasks("grunt-postcss");
// config tasks
grunt.config("postcss", {
options: { processors: [
require("autoprefixer-core")()
]},
"default": {
src: ["*.css"]
}
});
...
PostCSS/Autoprefixer - Gruntfile.js
...
// custom pipeline tasks
grunt.registerTask("build", [
"csslint:default",
"postcss:default"
]);
grunt.registerTask("test", [...]);
grunt.registerTask("distribute", [...]);
...
Pipline Tasks - Gruntfile.js
language: node_js
node_js:
- "0.12"
install:
- npm install -g grunt-cli
- npm install
script:
- grunt build
.travis.yml
Resources
Rachael L Moore
UI Engineer
OpenTable
morewry
Example Github Repository
http://github.com/morewry/CSSConf-2015-Pipeline
Supplementary Reading List
CSSConf-2015-Pipeline/wiki/Reading
Suggested Tools List
CSSConf-2015-Pipeline/wiki/Tools
Summary
DevOps
UI Components
Automated Pipelines
Thanks!
Sara Rahimian, Susan Lin, Agustin Colchado,
Barry Wong, Simon Attley, Rahul Choudhury
& entire Guest Center Web Team
Visit our careers page at
opentable.com/careers/
Visit our careers page at
opentable.com/careers/
We’re hiring!We’re hiring!
GUI Devs Q1 2016!
Ad

Recommended

Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
Unit testing PHP apps with PHPUnit
Unit testing PHP apps with PHPUnit
Michelangelo van Dam
 
UA testing with Selenium and PHPUnit - PFCongres 2013
UA testing with Selenium and PHPUnit - PFCongres 2013
Michelangelo van Dam
 
Compatibility Detector Tool of Chrome extensions
Compatibility Detector Tool of Chrome extensions
Kai Cui
 
Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013
Michelangelo van Dam
 
PHPUnit
PHPUnit
Hampton Roads PHP User Grop
 
Unit Testing Presentation
Unit Testing Presentation
nicobn
 
Test Driven Development with PHPUnit
Test Driven Development with PHPUnit
Mindfire Solutions
 
Creating GUI container components in Angular and Web Components
Creating GUI container components in Angular and Web Components
Rachael L Moore
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
Rachael L Moore
 
Creating GUI Component APIs in Angular and Web Components
Creating GUI Component APIs in Angular and Web Components
Rachael L Moore
 
Microformats I: What & Why
Microformats I: What & Why
Rachael L Moore
 
Refresh Tallahassee: The RE/MAX Front End Story
Refresh Tallahassee: The RE/MAX Front End Story
Rachael L Moore
 
3a8 picture driven computing in assistive
3a8 picture driven computing in assistive
AEGIS-ACCESSIBLE Projects
 
Redefining your core product
Redefining your core product
InVision App
 
Open table pdf
Open table pdf
Stephen Woodruff
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
BDD Testing and Automating from the trenches - Presented at Into The Box June...
BDD Testing and Automating from the trenches - Presented at Into The Box June...
Gavin Pickin
 
ITB2016 -BDD testing and automation from the trenches
ITB2016 -BDD testing and automation from the trenches
Ortus Solutions, Corp
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018
Ortus Solutions, Corp
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Josh Cypher
 
Benefits from AATs
Benefits from AATs
Wyn B. Van Devanter
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
VSTS Community MSFT
 
UPC Plone Testing Talk
UPC Plone Testing Talk
Timo Stollenwerk
 
JavaScript + Jenkins = Winning!
JavaScript + Jenkins = Winning!
Eric Wendelin
 
Bulletproof design systems using storybook
Bulletproof design systems using storybook
Chen Feldman
 
Creating testing tools to support development
Creating testing tools to support development
Chema del Barco
 

More Related Content

Viewers also liked (8)

Creating GUI container components in Angular and Web Components
Creating GUI container components in Angular and Web Components
Rachael L Moore
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
Rachael L Moore
 
Creating GUI Component APIs in Angular and Web Components
Creating GUI Component APIs in Angular and Web Components
Rachael L Moore
 
Microformats I: What & Why
Microformats I: What & Why
Rachael L Moore
 
Refresh Tallahassee: The RE/MAX Front End Story
Refresh Tallahassee: The RE/MAX Front End Story
Rachael L Moore
 
3a8 picture driven computing in assistive
3a8 picture driven computing in assistive
AEGIS-ACCESSIBLE Projects
 
Redefining your core product
Redefining your core product
InVision App
 
Open table pdf
Open table pdf
Stephen Woodruff
 
Creating GUI container components in Angular and Web Components
Creating GUI container components in Angular and Web Components
Rachael L Moore
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
Rachael L Moore
 
Creating GUI Component APIs in Angular and Web Components
Creating GUI Component APIs in Angular and Web Components
Rachael L Moore
 
Microformats I: What & Why
Microformats I: What & Why
Rachael L Moore
 
Refresh Tallahassee: The RE/MAX Front End Story
Refresh Tallahassee: The RE/MAX Front End Story
Rachael L Moore
 
Redefining your core product
Redefining your core product
InVision App
 

Similar to Operations Tooling for UI - DevOps for CSS Developers (20)

Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
BDD Testing and Automating from the trenches - Presented at Into The Box June...
BDD Testing and Automating from the trenches - Presented at Into The Box June...
Gavin Pickin
 
ITB2016 -BDD testing and automation from the trenches
ITB2016 -BDD testing and automation from the trenches
Ortus Solutions, Corp
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018
Ortus Solutions, Corp
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Josh Cypher
 
Benefits from AATs
Benefits from AATs
Wyn B. Van Devanter
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
VSTS Community MSFT
 
UPC Plone Testing Talk
UPC Plone Testing Talk
Timo Stollenwerk
 
JavaScript + Jenkins = Winning!
JavaScript + Jenkins = Winning!
Eric Wendelin
 
Bulletproof design systems using storybook
Bulletproof design systems using storybook
Chen Feldman
 
Creating testing tools to support development
Creating testing tools to support development
Chema del Barco
 
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Dave White
 
Modern UI Development With Node.js
Modern UI Development With Node.js
Ryan Anklam
 
Test automation expert days
Test automation expert days
Oren Rubin
 
Productive JavaScript Workflow
Productive JavaScript Workflow
Krzysztof Szafranek
 
General Software Tester Training
General Software Tester Training
Chris Scofield
 
Testing the User Interface - Coded UI Tests with Visual Studio 2010
Testing the User Interface - Coded UI Tests with Visual Studio 2010
Eric D. Boyd
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
BDD Testing and Automating from the trenches - Presented at Into The Box June...
BDD Testing and Automating from the trenches - Presented at Into The Box June...
Gavin Pickin
 
ITB2016 -BDD testing and automation from the trenches
ITB2016 -BDD testing and automation from the trenches
Ortus Solutions, Corp
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018
Ortus Solutions, Corp
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
Grig Gheorghiu
 
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIO
Josh Cypher
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
Moving 65,000 Microsofties to DevOps with Visual Studio Team Services
VSTS Community MSFT
 
JavaScript + Jenkins = Winning!
JavaScript + Jenkins = Winning!
Eric Wendelin
 
Bulletproof design systems using storybook
Bulletproof design systems using storybook
Chen Feldman
 
Creating testing tools to support development
Creating testing tools to support development
Chema del Barco
 
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Dave White
 
Modern UI Development With Node.js
Modern UI Development With Node.js
Ryan Anklam
 
Test automation expert days
Test automation expert days
Oren Rubin
 
General Software Tester Training
General Software Tester Training
Chris Scofield
 
Testing the User Interface - Coded UI Tests with Visual Studio 2010
Testing the User Interface - Coded UI Tests with Visual Studio 2010
Eric D. Boyd
 
Ad

Recently uploaded (20)

OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
EIS-Webinar-Engineering-Retail-Infrastructure-06-16-2025.pdf
Earley Information Science
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Ad

Operations Tooling for UI - DevOps for CSS Developers