SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Heavy Duty YUI 3 & YQL
Eric Ferraiuolo
@ericf
http://tiptheweb.org
Community-Supported
Web Publishing
http://www.flickr.com/photos/alper/4094452745/
Live Demo
YUI 3 at TipTheWeb
A Lot of YUI 3
56YUI 3 Modules
http://www.flickr.com/photos/curiousexpeditions/489992128/
Top-Level Components
• Manage interactions within page
• Extends Y.Base uses ATTRS, Custom Events
•Y.BaseComponentMgr
•Y.Resource
Component Management
• Y.Base extension
• Adds COMPONENTS to Y.Base, think ATTRS
• Dependencies & Instances on-demand
• this.useComponent('foo', callback);
Y.BaseComponentMgr Example
// Defined statically
COMPONENTS : {
! myOverlay : {
! ! requires : ['overlay', 'gallery-overlay-extras'],
! ! initializer : '_initMyOverlay'
! }
}
// …Somewhere else
Y.one('#show').on('click', Y.bind(function(e){
this.useComponent('myOverlay', function(overlay){
overlay.show();
});
}, this));
RESTful Client
• RESTful HTTP semantics
• JSON in, JSON out
• Resource-scoped Events
Y.Resource Example
var r = new Y.Resource({ uri: 'path/to/{id}' });
r.GET({! // makes request to: path/to/123
! params!: { id: 123 },
! on! : {
! ! success : function(e){
! !
! ! ! // e.entity is an Object parsed from JSON
! ! !
! ! }
! }
});
Lots of Overlays
Overlay Extras
• Y.Plugin.OverlayModal
• Y.Plugin.OverlayKeepaligned
• Y.Plugin.OverlayAutohide
YQL at TipTheWeb
URLs
• http://925html.com/code/photos-around-you/
• http://www.flickr.com/photos/37592789@N00/5095656356/
• http://www.flickr.com/photos/fwiltrakis/5095656356/
• http://www.youtube.com/watch?v=8410qUT4QtA
• http://bit.ly/Bb6g0
URL Processing — Targeting Tips
Example: http://bit.ly/Bb6g0
1.Determine Integration, If Any
2.Gather URL Data
3.Cache & Return Results
SELECT * FROM targetresolver
WHERE url="http://bit.ly/Bb6g0"
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
No, Request Page
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
No, Request Page
SELECT url FROM docresolver
WHERE url="http://bit.ly/Bb6g0"
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Redirected?
No, Request Page
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Redirected?
No, Request Page
Yes, http://www.youtube.com/watch?v=8410qUT4QtA
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Redirected?
No, Request Page
Yes, http://www.youtube.com/watch?v=8410qUT4QtA
youtube.com Matches?
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Redirected?
No, Request Page
Yes, http://www.youtube.com/watch?v=8410qUT4QtA
youtube.com Matches?
Yes, Load Integration
Determine Integration, If Any
http://bit.ly/Bb6g0
bit.ly Matches?
Redirected?
No, Request Page
Yes, http://www.youtube.com/watch?v=8410qUT4QtA
youtube.com Matches?
Yes, Load Integration
y.include("store://youtube.js");
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Yes, 8410qUT4QtA
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Is YouTube Video?
Yes, 8410qUT4QtA
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Is YouTube Video?
Yes, 8410qUT4QtA
SELECT title, author FROM youtube.videos
where id="8410qUT4QtA"
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Is YouTube Video?
Yes, 8410qUT4QtA
Yes, Valid YouTube Video
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Is YouTube Video?
Yes, 8410qUT4QtA
Yes, Valid YouTube Video
Gather Video MetaData
Gather URL Data
http://www.youtube.com/watch?v=8410qUT4QtA
Matches Video URL?
Is YouTube Video?
Yes, 8410qUT4QtA
Yes, Valid YouTube Video
Gather Video MetaData
{
"author": "…",
"title": "…"
}
• Cache Result for 1 hour
• Return Target Data:
Cache & Return Results
{
! "link"! : "http://www.youtube.com/watch?
v=8410qUT4QtA",
! "title"!: "Chicken Techno by Oli Chang",
! "target": "youtube:unicornhunters"
}
Requests Made By YQL
1.Requested: http://bit.ly/Bb6g0
2.Redirected: http://www.youtube.com/
watch?v=8410qUT4QtA
3.Included: store://youtube.js
4.Requested: Google GData Video Feed
YQL via the Browser
• Thick-clients can do real work
• Off-load YQL requests
• Rate limits become a non-issue
• Server’s resources freed-up
YQL via YUI 3
• Spread load and rate limits to browsers
• Guinea pig for Dav Glass’ YQL module for YUI
• Y.YQL(query, callback);
Y.YQL('SELECT * FROM targetresolver WHERE url="…"',
! function(r) {
!
! var results = r.query.results;
!
});
http://www.flickr.com/photos/monkeyc/231565309/
• Cached results are not rate limited!
• ?_maxage=3600
• response.maxAge=3600;
Caching
Timeout
• Preventing table lock!
• request.timeout(25000);
• y.rest(url).timeout(25000);
• y.query(query, params, 25000);
timer.getRemaining()
timer = (function(){
! timeout = timeout > 29000 ? 29000 : timeout;
! var start = new Date().getTime();
!
! return {
! ! getRemaining : function () {
! ! ! var now = new Date().getTime(),
! ! ! ! elapsed = now - start,
! ! ! ! remaining = timeout - elapsed;
! ! ! !
! ! ! return ( remaining > 0 ? remaining : 0 );
! ! }
! };
}());
Summary
• YUI 3 & YQL— enabling small teams
• YUI 3 top-level components
• YQL— cache, timeout, access via browser
Invite Code: yuiconf
Eric Ferraiuolo
@ericf
http://tiptheweb.org

Más contenido relacionado

Similar a TipTheWeb.org - Heavy Duty YUI 3 & YQL

YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012Saurabh Sahni
 
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...Jarek Wilkiewicz
 
Essential digital resources (2011 version)
Essential digital resources (2011 version)Essential digital resources (2011 version)
Essential digital resources (2011 version)Danny Nicholson
 
YQL - Christian Heilmann Open Hack London presentation
YQL - Christian Heilmann Open Hack London presentationYQL - Christian Heilmann Open Hack London presentation
YQL - Christian Heilmann Open Hack London presentationKorben00
 
YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011Saurabh Sahni
 
C___oop_to_Advanced zarif.pptx
C___oop_to_Advanced zarif.pptxC___oop_to_Advanced zarif.pptx
C___oop_to_Advanced zarif.pptxShafiqUllah27
 
Query the web with YQL
Query the web with YQLQuery the web with YQL
Query the web with YQLramace
 
Video Archiving and Playback in the Wayback Machine
Video Archiving and Playback in the Wayback MachineVideo Archiving and Playback in the Wayback Machine
Video Archiving and Playback in the Wayback MachineSawood Alam
 
Building Video Applications with YouTube APIs
Building Video Applications with YouTube APIsBuilding Video Applications with YouTube APIs
Building Video Applications with YouTube APIsJarek Wilkiewicz
 
Search 500-video-clips
Search 500-video-clipsSearch 500-video-clips
Search 500-video-clipsphanhung20
 
Creating custom modules using YUI3
Creating custom modules using YUI3Creating custom modules using YUI3
Creating custom modules using YUI3Gonzalo Cordero
 
Open Hack London - Introduction to YQL
Open Hack London - Introduction to YQLOpen Hack London - Introduction to YQL
Open Hack London - Introduction to YQLChristian Heilmann
 

Similar a TipTheWeb.org - Heavy Duty YUI 3 & YQL (20)

YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
YQL: Hacking on steroids - Yahoo! Open Hack Day 2012
 
YQL & Yahoo! Apis
YQL & Yahoo! ApisYQL & Yahoo! Apis
YQL & Yahoo! Apis
 
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
 
YQL - HackU IIT Madras 2012
YQL - HackU IIT Madras 2012YQL - HackU IIT Madras 2012
YQL - HackU IIT Madras 2012
 
Yql hacku iitd_2012
Yql hacku iitd_2012Yql hacku iitd_2012
Yql hacku iitd_2012
 
Essential digital resources (2011 version)
Essential digital resources (2011 version)Essential digital resources (2011 version)
Essential digital resources (2011 version)
 
Yql with geo
Yql with geoYql with geo
Yql with geo
 
YQL - Christian Heilmann Open Hack London presentation
YQL - Christian Heilmann Open Hack London presentationYQL - Christian Heilmann Open Hack London presentation
YQL - Christian Heilmann Open Hack London presentation
 
Web services and JavaScript
Web services and JavaScriptWeb services and JavaScript
Web services and JavaScript
 
YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011YQL & Yahoo! APIs - Open Hack India 2011
YQL & Yahoo! APIs - Open Hack India 2011
 
C___oop_to_Advanced zarif.pptx
C___oop_to_Advanced zarif.pptxC___oop_to_Advanced zarif.pptx
C___oop_to_Advanced zarif.pptx
 
Query the web with YQL
Query the web with YQLQuery the web with YQL
Query the web with YQL
 
Video Archiving and Playback in the Wayback Machine
Video Archiving and Playback in the Wayback MachineVideo Archiving and Playback in the Wayback Machine
Video Archiving and Playback in the Wayback Machine
 
Building Video Applications with YouTube APIs
Building Video Applications with YouTube APIsBuilding Video Applications with YouTube APIs
Building Video Applications with YouTube APIs
 
Search 500-video-clips
Search 500-video-clipsSearch 500-video-clips
Search 500-video-clips
 
Creating custom modules using YUI3
Creating custom modules using YUI3Creating custom modules using YUI3
Creating custom modules using YUI3
 
Open Hack London - Introduction to YQL
Open Hack London - Introduction to YQLOpen Hack London - Introduction to YQL
Open Hack London - Introduction to YQL
 
Technology Tips for Administrators
Technology Tips for AdministratorsTechnology Tips for Administrators
Technology Tips for Administrators
 
Embedded Videos: from Invisibility to Visibility
Embedded Videos: from Invisibility to VisibilityEmbedded Videos: from Invisibility to Visibility
Embedded Videos: from Invisibility to Visibility
 
Masal 2010 b&b - v13
Masal 2010   b&b - v13Masal 2010   b&b - v13
Masal 2010 b&b - v13
 

Último

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Último (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

TipTheWeb.org - Heavy Duty YUI 3 & YQL