SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
The Structure 
of Web Code 
Dublin, November 1, 2014 
A Case 
For Polymer 
v1
@polymer #itshackademic 
Tommie Gannert 
tommie@
Agenda 
The Structure of Web Code 
Web Components and Implementations 
Polymer 
Tools
The Structure of Web Code
Imagine a traffic light
@polymer #itshackademic 
Style Behavior 
Document Style Behavior 
http://jsbin.com/lefubayoha/4/ 
Style Behavior
@polymer #itshackademic 
printf (_("For complete documentation, run: " 
"info coreutils '%s invocation'n"), 
last_component (program_name));
@polymer #itshackademic 
Contents of section .text: 
401c40: mov $0x404ae0,%esi 
401c45: callq 401180 <dcgettext@plt> 
401c4a: mov %rbp,%rdx 
401c4d: mov %rax,%rsi 
401c50: mov $0x1,%edi 
401c55: xor %eax,%eax 
401c57: callq 401330 <__printf_chk@plt> 
Contents of section .rodata: 
404ae0: ascii "For complete documentation, run: " 
" info coreutils '%s invocation'n" 
404b21: ascii "echo" 
404b26: ascii "Report %s …
Back To Basics
Document light 
@polymer #itshackademic 
http://jsbin.com/zoyapiheju/2/ 
Style 
Behavior 
app
Document 
@polymer #itshackademic 
Style 
Document 
traffic-app 
Style 
Behavior 
traffic-light 
Behavior 
Web Components! 
?
I don't always 
structure my frontend code, 
but when I do, 
I use web components. 
@polymer #itshackademic 
https://imgflip.com/memegenerator/ 
The-Most-Interesting-Man-In-The-World
Web Components?
Custom Elements 
define new HTML/DOM elements
<paper-tabs selected=“1”> 
<paper-tab>Tab 1</paper-tab> 
<paper-tab>Tab 2</paper-tab> 
<paper-tab>Tab 3</paper-tab> 
</paper-tabs> 
@polymer #itshackademic 
Custom Elements 
define new HTML 
declarative, readable 
meaningful HTML 
extensible → reusable
@polymer #itshackademic 
Custom Elements 
define new HTML 
declarative, readable 
meaningful HTML 
extensible → reusable 
var tabs = document.querySelector('paper-tabs'); 
tabs.addEventListener('core-activate', function() { 
console.log(this.selected); 
});
Templates 
native client-side templating
@polymer #itshackademic 
<template> 
<div class=“comment”> 
<img src=“image.png”> 
</div> 
<script>…</script> 
</template> 
HTML Templates 
native client-side templates 
use DOM to scaffold DOM → no XSS 
parsed, not rendered 
content is inert until cloned/used 
doc fragment → not part of the page
Shadow DOM 
DOM/CSS scoping
<video src=“foo.webm” controls></video> 
@polymer #itshackademic
<video src=“foo.webm” controls></video>
Mutation/Object Observers 
declarative programming
<template> 
<img src=“{{src}}”> 
</template> 
<script> 
… this.src = 'lolcat.jpg'; … 
</script> 
@polymer #itshackademic 
Mutation Observers 
declarative programming 
data-binding minimal DOM manipulation 
safe behind-the-scenes escaping 
two-way img.src = 'otherlolcat.jpg'; 
integrated use in document and code
HTML Imports 
loading web components
@polymer #itshackademic 
<link rel="stylesheet" href="bootstrap.css"> 
<link rel="stylesheet" href="fonts.css"> 
<script src="jquery.js"></script> 
<script src="bootstrap.js"></script> 
<script src="bootstrap-tooltip.js"></script> 
<script src="bootstrap-dropdown.js"></script>
@polymer #itshackademic 
<link rel="import" href="bootstrap.html">
Web Components 
● Custom Elements 
● Templates 
● Shadow DOM 
● Mutation/Object Observers 
● HTML Imports
Good Design 
requires 
good implementation 
http://www.reddit.com/r/CrappyDesign/ 
comments/2k1ima 
/would_it_make_it_weird_if_i_closed_the_stall_door/
@polymer #itshackademic 
Browser support 
November 2014
Polyfills Web Components 
with platform.js* 
* soon to be called webcomponents.js
@polymer #itshackademic 
Browser support 
November 2014 (with Polymer)
polymer
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
@polymer #itshackademic 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
<template> 
@polymer #itshackademic 
<div></div> 
</template> 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light"> 
<template> 
@polymer #itshackademic 
<style> 
div { 
border-radius: 100px; 
height: 200px; 
width: 200px; 
} 
</style> 
<div></div> 
</template> 
… 
</polymer-element>
<link rel="import" href="../polymer/polymer.html"> 
<polymer-element name="traffic-light" attributes="color"> 
<template> 
@polymer #itshackademic 
<style> 
div { 
border-radius: 100px; 
height: 200px; 
width: 200px; 
} 
</style> 
<div style="background-color: {{ color }}"></div> 
</template> 
<script> 
Polymer({ 
color: 'blue' 
}); 
</script> 
</polymer-element>
<link rel="import" href="../traffic-light/traffic-light.html"> 
@polymer #itshackademic 
<traffic-light color="red"></traffic-light> 
<traffic-light color="yellow"></traffic-light> 
<traffic-light color="green"></traffic-light>
<link rel="import" href="../traffic-light/traffic-light.html"> 
<polymer-element name="traffic-app" attributes="activeColor"> 
<template> 
<link rel="stylesheet" href="traffic-app.css"> 
<traffic-light color="red"></traffic-light> 
<traffic-light color="yellow"></traffic-light> 
<traffic-light color="green"></traffic-light> 
</template> 
<script name="traffic-app.js"></script> 
</polymer-element> 
@polymer #itshackademic
<link rel="import" href="../traffic-light/traffic-light.html"> 
<polymer-element name="traffic-app" attributes="activeColor"> 
<template> 
<link rel="stylesheet" href="traffic-app.css"> 
<template repeat="{{ color in lights }}"> 
<traffic-light color="{{ color }}"></traffic-light> 
</template> 
</template> 
@polymer #itshackademic 
<script> 
Polymer({ 
activeColor: 'red', 
lights: [ 'red', 'yellow', 'green' ] 
}); 
</script> 
</polymer-element>
http://jsbin.com/kofowetapa/1/ @polymer #itshackademic
APIs
APIs (as elements)
@polymer #itshackademic 
I want to add a marker 
to a Google map.
@polymer #itshackademic 
} 
</style> 
<div id="map"></div> 
<script src=“http://maps.googleapis.com/maps/api/js?callback=mapReady"> 
</script> 
<script> 
var marker = null; 
function getCurrentLocation(callback) { 
navigator.geolocation.watchPosition(callback); 
} 
function addMarker(opts, info) { 
var marker = new google.maps.Marker(opts); 
var infoWindow = new google.maps.InfoWindow({content: info}); 
google.maps.event.addListener(marker, 'click', function() { 
infoWindow.open(opts.map, marker); 
}); 
return marker; 
} 
function mapReady() { 
var container = document.querySelector('#map'); 
var map = new google.maps.Map(container, { 
zoom: 14, disableDefaultUI: true 
}); 
getCurrentLocation(function(pos) { 
var current = new google.maps.LatLng(pos.coords.latitude, 
pos.coords.longitude); 
map.setCenter(current); 
// Re-position marker or create new one. 
if (marker) { 
marker.setPosition(map.getCenter()); 
} else { 
marker = addMarker({ 
position: current, map: map, title: 'Your location' 
}, '<b>Your location</b>'); 
} 
So much code for 
one map marker!
paper-elements
<paper-input floatinglabel 
label="Type only numbers... (floating)" 
validate="^[0-9]*$" 
error="Input is not a number!"> 
</paper-input> 
@polymer #itshackademic
Tools
Bower 
bower init 
$ bower install --save Polymer/polymer
Vulcanize 
npm install -g vulcanize 
$ vulcanize -o build.html --csp --strip  
index.html
Chrome Dev Editor 
goo.gl/UjLvb2
polymer-project.org/tools/designer/
polymer-project.org/apps/topeka/
customelements.io
Summary and Conclusions
<slide-thankyou> 
Questions? 
</slide-thankyou>
○ https://www.polymer-project.org/ 
○ https://www.polymer-project.org/docs/start/creatingelements.html 
○ https://www.polymer-project.org/tools/designer/ 
○ https://github.com/Polymer/polymer-expressions 
○ http://itshackademic.com/codelabs 
○ http://www.w3.org/TR/custom-elements/ 
○ http://www.w3.org/TR/shadow-dom/ 
○ http://www.w3.org/TR/html5/scripting-1.html#the-template-element 
○ https://dom.spec.whatwg.org/#mutation-observers 
○ http://wiki.ecmascript.org/doku.php?id=harmony:observe 
○ www.w3.org/TR/html-imports/ 
○ http://blog.stevensanderson.com/2014/08/18/knockout-3-2-0-released/ 
○ http://www.x-tags.org/

Weitere ähnliche Inhalte

Was ist angesagt?

How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
Compare Infobase Limited
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
FITC
 
Polymer
Polymer Polymer
Polymer
jskvara
 

Was ist angesagt? (20)

Fast by Default
Fast by DefaultFast by Default
Fast by Default
 
How to build a web application with Polymer
How to build a web application with PolymerHow to build a web application with Polymer
How to build a web application with Polymer
 
ElggCamp Santiago - Dev Edition
ElggCamp Santiago - Dev EditionElggCamp Santiago - Dev Edition
ElggCamp Santiago - Dev Edition
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
 
Maven
MavenMaven
Maven
 
Introduction to polymer project
Introduction to polymer projectIntroduction to polymer project
Introduction to polymer project
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Facelets
FaceletsFacelets
Facelets
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps - Intro & Learnings
Progressive Web Apps - Intro & LearningsProgressive Web Apps - Intro & Learnings
Progressive Web Apps - Intro & Learnings
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
Polytechnic 1.0 Granada
Polytechnic 1.0 GranadaPolytechnic 1.0 Granada
Polytechnic 1.0 Granada
 
Polymer
Polymer Polymer
Polymer
 
Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.
 
plumbing for the next web
plumbing for the next webplumbing for the next web
plumbing for the next web
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOS
 

Andere mochten auch

I'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedInI'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedIn
Todd Palino
 

Andere mochten auch (19)

Rahul Site Reliability_Engineer
Rahul Site Reliability_EngineerRahul Site Reliability_Engineer
Rahul Site Reliability_Engineer
 
SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016
 
SRE Tools
SRE ToolsSRE Tools
SRE Tools
 
Stephen McHenry - Chanecellor of Site Reliability Engineering, Google
Stephen McHenry - Chanecellor of Site Reliability Engineering, GoogleStephen McHenry - Chanecellor of Site Reliability Engineering, Google
Stephen McHenry - Chanecellor of Site Reliability Engineering, Google
 
Works of site reliability engineer
Works of site reliability engineerWorks of site reliability engineer
Works of site reliability engineer
 
Software reliability tools and common software errors
Software reliability tools and common software errorsSoftware reliability tools and common software errors
Software reliability tools and common software errors
 
I'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedInI'm No Hero: Full Stack Reliability at LinkedIn
I'm No Hero: Full Stack Reliability at LinkedIn
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
 
SRE From Scratch
SRE From ScratchSRE From Scratch
SRE From Scratch
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
Site Reliability Engineering Helps Google Conquer The World
Site Reliability Engineering Helps Google Conquer The WorldSite Reliability Engineering Helps Google Conquer The World
Site Reliability Engineering Helps Google Conquer The World
 
Multi tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafkaMulti tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafka
 
ITサービスマネジメントとSRE
ITサービスマネジメントとSREITサービスマネジメントとSRE
ITサービスマネジメントとSRE
 
overview of reliability engineering
overview of reliability engineeringoverview of reliability engineering
overview of reliability engineering
 
Scaling Operations At Spotify
Scaling Operations At SpotifyScaling Operations At Spotify
Scaling Operations At Spotify
 
160724 jtf2016sre
160724 jtf2016sre160724 jtf2016sre
160724 jtf2016sre
 
Reliability engineering ppt-Internship
Reliability engineering ppt-InternshipReliability engineering ppt-Internship
Reliability engineering ppt-Internship
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Ähnlich wie The Structure of Web Code: A Case For Polymer, November 1, 2014

Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
DataArt
 
Doctype html
Doctype htmlDoctype html
Doctype html
Eddy_TKJ
 
Private slideshow
Private slideshowPrivate slideshow
Private slideshow
sblackman
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
gdgyaounde
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 

Ähnlich wie The Structure of Web Code: A Case For Polymer, November 1, 2014 (20)

Introduction to web components
Introduction to web componentsIntroduction to web components
Introduction to web components
 
Polymer Code Lab in Dart - DevFest Kraków 2014
Polymer Code Lab in Dart - DevFest Kraków 2014Polymer Code Lab in Dart - DevFest Kraków 2014
Polymer Code Lab in Dart - DevFest Kraków 2014
 
Polymer - Una bella historia de amor
Polymer - Una bella historia de amorPolymer - Una bella historia de amor
Polymer - Una bella historia de amor
 
Upload[1]
Upload[1]Upload[1]
Upload[1]
 
Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)Polymer vs other libraries (Devfest Ukraine 2015)
Polymer vs other libraries (Devfest Ukraine 2015)
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
 
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
The Web Components interoperability challenge - Horacio Gonzalez - Codemotion...
 
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com RubyFisl 11 - Dicas de Desenvolvimento Web com Ruby
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
Doctype html
Doctype htmlDoctype html
Doctype html
 
Private slideshow
Private slideshowPrivate slideshow
Private slideshow
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
Sara Harkousse - "Web Components: It's all rainbows and unicorns! Is it?"
 
Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013Intro to polymer-Devfest Yaoundé 2013
Intro to polymer-Devfest Yaoundé 2013
 
WordCamp Montreal 2016 WP-API + React with server rendering
WordCamp Montreal 2016  WP-API + React with server renderingWordCamp Montreal 2016  WP-API + React with server rendering
WordCamp Montreal 2016 WP-API + React with server rendering
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Repaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares webRepaso rápido a los nuevos estándares web
Repaso rápido a los nuevos estándares web
 
Django Rest Framework and React and Redux, Oh My!
Django Rest Framework and React and Redux, Oh My!Django Rest Framework and React and Redux, Oh My!
Django Rest Framework and React and Redux, Oh My!
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

The Structure of Web Code: A Case For Polymer, November 1, 2014