SlideShare a Scribd company logo
1 of 83
Download to read offline
Beyond Breakpoints
@renettarenula Aysha Anggraini Rakuten Tech Conf ‘16
Improving performance for responsive sites
1. Optimize Web Fonts
2. Reduce Render-Blocking Scripts
3. Optimize Images
Optimize Web Fonts
@font-face {
font-family: 'Open Sans';
src: url('open-sans.woff2') format("woff2"),
url('open-sans.woff') format("woff");
}
CSS
Does not guarantee load of fonts
body {
font-family: 'Open Sans', sans-serif;
}
CSS
Will only load when font is specifically declared under a rule
Problem
Construct
DOM
Construct
CSSOM
Download
Fonts!
Web fonts are lazy loaded!
Problem
Image Credit: Bram Stein @ Smashing Magazine’s Real Life Responsive Web Design (Web Fonts Performance)
Results in FOUT or FOIT
Problem
Different browsers handles this differently
FOUT & FOIT
Present Solution
Define fallback
& web fonts in
CSS
Basic Font Loading Strategy
Leverage
browser cache
Load fonts
dynamically &
use it
Define fallback & web fonts in CSS
@font-face {
font-family: 'Open Sans';
src: url('open-sans.woff2') format("woff2"),
url('open-sans.woff') format("woff");
}
CSS
Define fallback & web fonts in CSS
Detect specific
font loa
body {
font-family: sans-serif;
}
CSS
.fonts-loaded {
body {
font-family: 'Open Sans', sans-serif;
}
}
Present Solution
Define fallback
& web fonts in
CSS
Basic Font Loading Strategy
Leverage
browser cache
Load fonts
dynamically &
use it
Font Face Observer
by Bram Stein
https://github.com/bramstein/fontfaceobserver
Detect specific font load (Basic Font Load)
Detect
specific font
loafont.load().then(function () {
// Font successfully loads; use webfont class
window.document.documentElement.className += " fonts-loaded";
});
JS
// Font Face Observer is written by Bram Stein:
// https://github.com/bramstein/fontfaceobserver
var font = new FontFaceObserver("Open Sans", {weight: 400});
Toggle class in order to use web fonts
Detect specific
font loa
body {
font-family: sans-serif;
}
.fonts-loaded {
body {
font-family: 'Open Sans', sans-serif;
}
}
CSS
<html class="fonts-loaded">
<body>
<!-- Open sans fonts with class added w JS -->
<p>Your content here</p>
</body>
</html>
HTML
Present Solution
Define fallback
& web fonts in
CSS
Basic Font Loading Strategy
Leverage
browser cache
Load fonts
dynamically &
use it
Leverage browser cache
Detect
specific font
loa
<!--#if expr="$HTTP_COOKIE=/fonts-loaded=true/" -->
<html class="fonts-loaded">
<!--#else -->
<html>
<!--#endif -->
HTML
Set a cookie!
Leverage Browser Cache
Detect
specific font
loa
// do not do anything if class is set
if (w.document.documentElement.className.indexOf("fonts-loaded") > -1) {
return;
}
var font = new FontFaceObserver("Open Sans", {weight: 400});
font.load().then(function () {
window.document.documentElement.className += " fonts-loaded";
// Set cookie to optimize for repeat views
document.cookie = "fonts_loaded=true; domain=" + viki.com + "; path=/";
});
JS
Problem
Image Credit: Bram Stein @ Smashing Magazine’s Real Life Responsive Web Design (Web Fonts Performance)
Future Solution
Give ability to define custom loading logic
Preload
Future Solution
FOUT and FOIT can be reduced!
Image Credit: https://www.bramstein.com/writing/preload-hints-for-web-fonts.html
Future Solution
<link rel="preload" href="assets/opensans.woff2" as="font" type="font/woff2" crossorigin>
HTML
Important in
order to set
priority
Future Solution
Source: http://caniuse.com/#search=preload
Future Solution
Determines how a font-face is displayed when it
is downloading & once it is downloaded
Font-Display
Future Solution
@font-face {
font-family: 'Open Sans';
font-display: 'auto';
src: local('Open Sans Light'), local('OpenSans-Light'),
url('open-sans-v13-latin-300.woff2') format('woff2');
}
CSS
Future Solution
@font-face {
font-display: auto | block | swap | fallback | optional;
} Determine by user
agent
Invisible text & swap
once fonts is loaded
(FOIT)
Show fallback & swap
once fonts is loaded
(FOUT)
Same as swap but
will show fallback
when font fails to
load
Font is used if it is
already downloaded;
else fallback is used
Source: https://tabatkins.github.io/specs/css-font-display/#font-display-desc
Font Display Spec
by Tab Atkins
https://tabatkins.github.io/specs/css-font-display/#font-display-desc
Future Solution
Detect specific
font loa
@font-face {
font-family: 'Open Sans';
font-display: 'fallback';
src: local('Open Sans'), local('OpenSans-Light'),
url('open-sans.woff2') format('woff2');
}
CSS
<link rel="preload" href="open-sans.woff2" as="font" type="font/woff2">
HTML
Can be combined to make font loading efficient
Comprehensive Guide to Font
Loading Strategy
by Zach Leatherman
https://www.zachleat.com/web/comprehensive-webfonts/
Web Font Loading Patterns
by Bram Stein
https://www.bramstein.com/writing/web-font-loading-patterns.html
Reduce Render-Blocking
Scripts
Problem
Document
Object Model
(DOM)
CSS Object
Model
(CSSOM)
Render Tree Layout Paint
CSS is render
blocking!
Contains both
content & style
information
Browser calculates
the size & position of
elements
Browser picks up
layout results and
paint pixels to the
screen
“DOM construction cannot proceed until
JavaScript is executed, and JavaScript
execution cannot proceed until CSSOM is
available.” - Ilya Grigorik
Source: https://hpbn.co/primer-on-web-performance/#hypertext-web-pages-and-web-applications
Problem
HTML Parser
Script Download
Parser Paused
Script Execute
HTML Parser
Script
Source: http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html
Document
Object Model
(DOM)
CSS Object
Model
(CSSOM)
Render Tree Layout Paint
CSS is render
blocking!
Contains both
content & style
information
Browser calculates
the size & position
of elements
Browser picks up
layout results and
paint pixels to the
screen
Time spent on each process should be minimize!
HTML Parser
Script Download
Parser Paused
Script Execute
HTML Parser
Script
Problem
CSSJS
Render-blocking scripts
Fonts
Present Solution
HTML
<script src="script.js" async></script>
<script src="script.js" defer></script>
Present Solution
HTML Parser
Script Download
Parser Paused
Script Execute
HTML Parser
Async
Defer
HTML Parser
Script Download
Script Execute
Source: http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html
Present Solution
Async —  Scripts with no dependencies
Execution order
implementation is
buggy in IE < 10
Removing dependencies completely or inline them
Only applies to
small JS code
Defer —  Scripts with dependencies; Execution order matters
Problem
CSSJS
Render-blocking scripts
Fonts
HTML
<noscript>
<link rel="stylesheet" href="path/to/all.css">
</noscript>
</head>
Present Solution
Library to defer the load of CSS:
https://github.com/filamentgroup/loadCSS
Inline CSS for first time page load
Include full CSS path in noscript tag
for people without JS
<head>
<script>
function loadCSS( href ) { ... }
loadCSS( "path/to/all.css" );
</script>
<style>
.carousel { width: 100%; } .card { background-color: #fff; } ...
</style>
Critical
by Addy Osmani
https://github.com/addyosmani/critical
Size of inline scripts & CSS < 14KB
“...server can send up to 10 TCP packets on a new connection (~14KB) in first
roundtrip, and then it must wait for the client to acknowledge this data before it
can grow its congestion window and proceed to deliver more data.”
“Due to this TCP behavior, it is important to optimize your content to minimize the
number of roundtrips required to deliver the necessary data to perform the first
render of the page. Ideally, the ATF (above the fold) content should fit under
14KB — this allows the browser to paint the page after just one roundtrip…”
Source: https://developers.google.com/speed/docs/insights/mobile#delivering-the-sub-one-second-rendering-experience
Limitations of HTTP/1.x
No compression of response headers
No effective resource prioritization
Multiple connections instead of one
HTTP/2
Awesome extension to HTTP/1.x
Future Solution
“HTTP/2 modifies how the data is formatted
(framed) and transported between the client
and server, both of whom manage the entire
process, and hides all the complexity from
our applications within the new framing
layer.” - Ilya Grigorik
Source: https://hpbn.co/http2/
HTTP/1.x
No compression of response
headers
No effective resource
prioritization
Multiple connections instead
of one
HTTP/2
Compress response headers
Allow prioritization of request
One connection for multiple
concurrent exchange
(multiplexing)
Source: https://hpbn.co/http2/#request-and-response-multiplexing
Future Solution
Future Solution
Server Push
Allows push of resources to client without client
requesting for it
“By manually inlining the resource into the
document, we are, in effect, pushing that
resource to the client, without waiting for
the client to request it.” - Ilya Grigorik
Source: https://hpbn.co/http2/#server-push
Server Push
Source: https://hpbn.co/http2/#server-push
Cached by client
Can be reused across other pages
Can be multiplexed along side other request
Can be prioritized by the server
High Performance Browser Networking
by Ilya Grigorik
https://hpbn.co/
Optimize Images
“It’s the problem of efficiently loading
appropriately sized content images that fit
the page’s design” - Yoav Weiss
Problem
Problem
CSS
img {
max-width: 100%;
}
Will cause bloat since image resolution must be
large
Variable
Width Images
Present Solution
Art Direction
Fixed Width
Images
Present Solution
Fixed Width
Images
Dimensions remain the same in other viewport
Higher quality image in retina displays; normal
quality is lower-end devices.
Examples: Logo or
small profile
pictures
Present Solution
<img src="logo_500px.jpg" srcset="logo_700px.jpg 1.5x,
logo_1000px.jpg 2x, logo_1500px.jpg 3x" width="500"
alt="logo image">
A fallback src and
also used for DPR
of 1x
X descriptors:
Pixel density of
screen
Browsers will choose the best resource that fits the screen
DPR
Variable
Width Images
Present Solution
Art Direction
Fixed Width
Images
Present Solution
Variable
width Images
Dimensions vary based on viewport
Examples: Header
images or
thumbnails
Present Solution
<img srcset="image_400.jpg 400w,
image_600.jpg 600w,
image_900.jpg 900w,
image_1200.jpg 1200w"
sizes="(min-width: 840px) 50vw,
(min-width: 450px) 75vw,
100vw"
src="image_600.jpg" alt="Some image for example’s sake">
VW is viewport width
100vw = 100% of viewport width
75vw = 75% of the viewport width
Browser will use srcset and sizes to serve
image that match the condition
So which will the browsers choose?
<img srcset="image_450.jpg 450w,
image_600.jpg 600w,
image_900.jpg 900w,
image_1200.jpg 1200w"
sizes="(min-width: 840px) 50vw,
(min-width: 600px) 75vw,
100vw"
src="image_600.jpg" alt="Some image for example’s sake">
Browser Viewport: 900px
900 * 0.50 =
450
Retina display with DPR of 2 will
load (450 * 2) px of image
Srcset —  Browser hint. No guarantee which image browsers will choose
Present Solution Browser may choose
lower res image due
to connectivity
Sizes —  Order matters; Browsers choose the first media condition that match in sizes
sizes="(min-width: 840px) 50vw,
(min-width: 450px) 75vw,
100vw"
sizes="(max-width: 320px) 50vw,
(max-width: 800px) 75vw,
100vw"
Min-width should be
organize from
largest to smallest
Max-width should be
organize from
smallest to largest
Variable
Width Images
Present Solution
Art Direction
Fixed Width
Images
Present Solution
Art Direction
Customize image for specific
breakpoints
Image varies in quality, crop area,
proportions, etc.
Image Credit: Yoav Weiss @ Smashing Magazine’s Real Life Responsive Web Design (Responsive Images)
Present Solution
Present Solution
<picture>
<source media="(min-width: 840px)" srcset="image-large.jpg">
<source media="(min-width: 600px)" srcset="image-medium.jpg">
<img src="image-small.jpg" alt="Art directions">
</picture>
Must have img tag for
fallback & must appear
after all sources
You can have as many
sources as you want &
it will be obeyed
Order matters
img {
max-width: 100%;
}
>
<img srcset="image_450.jpg 450w,
image_600.jpg 600w,
image_900.jpg 900w,
image_1200.jpg 1200w"
sizes="(min-width: 840px) 50vw,
(min-width: 600px) 75vw,
100vw"
src="image_600.jpg" alt="Some image for
example’s sake">
Too much syntax
Future Solution
Missing link between server & client for layout
information
Client Hints
Browsers Server
DPR
Viewport-Width
Width
Perfect fit image!
Future Solution
<img srcset="image_400.jpg 400w,
image_600.jpg 600w,
image_900.jpg 900w,
image_1200.jpg 1200w"
sizes="(min-width: 840px) 50vw,
(min-width: 450px) 75vw,
100vw"
src="image.jpg" alt="Example">
<img src="image.jpg"
sizes="(min-width: 840px) 50vw,
(min-width: 450px) 75vw,
100vw"
alt="Example">
Make markup simpler!
Future Solution
No longer need srcset
since image resizing will
be done server side
Future Solution
<meta http-equiv="Accept-CH" content="DPR, Viewport-Width, Width">
Enable Client Hints
<img src="sunset.png" alt="Beautiful Sunset" sizes="50vw"/>
Future Solution
Automating resource selection with
Client Hints
by Ilya Grigorik
https://developers.google.com/web/updates/2015/09/automating-resou
rce-selection-with-client-hints
The Anatomy of Responsive Images
by Jake Archibald
https://jakearchibald.com/2015/anatomy-of-responsive-images/
Responsive Images
by Yoav Weiss
Smashing Magazine Book 5: Real-Life Responsive Web Design
Thank You!
renaysha.me codepen.io/rrenula @renettarenula

More Related Content

What's hot

WordPress Performance Optimization for Mere Mortals
WordPress Performance Optimization for Mere MortalsWordPress Performance Optimization for Mere Mortals
WordPress Performance Optimization for Mere Mortals
John Levandowski
 
HTML5 Server Sent Events/JSF JAX 2011 Conference
HTML5 Server Sent Events/JSF  JAX 2011 ConferenceHTML5 Server Sent Events/JSF  JAX 2011 Conference
HTML5 Server Sent Events/JSF JAX 2011 Conference
Roger Kitain
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web Services
Rajarshi Guha
 

What's hot (20)

What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Hyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris ZachariasHyperlight Websites - Chris Zacharias
Hyperlight Websites - Chris Zacharias
 
Service workers your applications never felt so good
Service workers   your applications never felt so goodService workers   your applications never felt so good
Service workers your applications never felt so good
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web Development
 
Changhao jiang facebook
Changhao jiang facebookChanghao jiang facebook
Changhao jiang facebook
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
 
WordPress Performance Optimization for Mere Mortals
WordPress Performance Optimization for Mere MortalsWordPress Performance Optimization for Mere Mortals
WordPress Performance Optimization for Mere Mortals
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
HTML5 Server Sent Events/JSF JAX 2011 Conference
HTML5 Server Sent Events/JSF  JAX 2011 ConferenceHTML5 Server Sent Events/JSF  JAX 2011 Conference
HTML5 Server Sent Events/JSF JAX 2011 Conference
 
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST ServicesEWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
EWD 3 Training Course Part 43: Using JSON Web Tokens with QEWD REST Services
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
The Case for HTTP/2 - GreeceJS - June 2016
The Case for HTTP/2 -  GreeceJS - June 2016The Case for HTTP/2 -  GreeceJS - June 2016
The Case for HTTP/2 - GreeceJS - June 2016
 
Cache Rules Everything Around Me
Cache Rules Everything Around MeCache Rules Everything Around Me
Cache Rules Everything Around Me
 
Writing & Using Web Services
Writing & Using Web ServicesWriting & Using Web Services
Writing & Using Web Services
 

Viewers also liked

Ibm's watson
Ibm's watsonIbm's watson
Ibm's watson
Hdavey01
 

Viewers also liked (20)

Blockchain - Systems Without Boundaries
Blockchain - Systems Without BoundariesBlockchain - Systems Without Boundaries
Blockchain - Systems Without Boundaries
 
Using Algorithmia to leverage AI and Machine Learning APIs
Using Algorithmia to leverage AI and Machine Learning APIsUsing Algorithmia to leverage AI and Machine Learning APIs
Using Algorithmia to leverage AI and Machine Learning APIs
 
The web‘s next adventure(s)
The web‘s next adventure(s) The web‘s next adventure(s)
The web‘s next adventure(s)
 
Automation for the Humans
Automation for the HumansAutomation for the Humans
Automation for the Humans
 
Effective Communication in Multicultural Teams
Effective Communication in Multicultural TeamsEffective Communication in Multicultural Teams
Effective Communication in Multicultural Teams
 
The Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QAThe Quality Gatekeeper Rakuten Travel QA
The Quality Gatekeeper Rakuten Travel QA
 
Introduction to Mindfulness
Introduction to MindfulnessIntroduction to Mindfulness
Introduction to Mindfulness
 
Designing kinder Experiences
Designing kinder ExperiencesDesigning kinder Experiences
Designing kinder Experiences
 
Experiences with PlayStation VR
Experiences with PlayStation VRExperiences with PlayStation VR
Experiences with PlayStation VR
 
Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016Rakuten Ichiba_Rakuten Technology Conference 2016
Rakuten Ichiba_Rakuten Technology Conference 2016
 
The Spotify Playbook
The Spotify Playbook The Spotify Playbook
The Spotify Playbook
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して
 
IBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive ComputingIBM Watson Question-Answering System and Cognitive Computing
IBM Watson Question-Answering System and Cognitive Computing
 
Ml, AI and IBM Watson - 101 for Business
Ml, AI  and IBM Watson - 101 for BusinessMl, AI  and IBM Watson - 101 for Business
Ml, AI and IBM Watson - 101 for Business
 
Ibm's watson
Ibm's watsonIbm's watson
Ibm's watson
 
IBM Watson: How it Works, and What it means for Society beyond winning Jeopardy!
IBM Watson: How it Works, and What it means for Society beyond winning Jeopardy!IBM Watson: How it Works, and What it means for Society beyond winning Jeopardy!
IBM Watson: How it Works, and What it means for Society beyond winning Jeopardy!
 
IBM Watson Overview
IBM Watson OverviewIBM Watson Overview
IBM Watson Overview
 
Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)Sora Raku (Rakuten Drone Project)
Sora Raku (Rakuten Drone Project)
 
Tracxn Startup Research Drones Landscape, July 2016
Tracxn Startup Research   Drones Landscape, July 2016Tracxn Startup Research   Drones Landscape, July 2016
Tracxn Startup Research Drones Landscape, July 2016
 
Data-driven innovations in foreign language learning
Data-driven innovations in foreign language learningData-driven innovations in foreign language learning
Data-driven innovations in foreign language learning
 

Similar to Beyond Breakpoints: Improving Performance for Responsive Sites

Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Ajax Experience 2009
 
Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 
[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
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
tkramar
 

Similar to Beyond Breakpoints: Improving Performance for Responsive Sites (20)

Presentation Tier optimizations
Presentation Tier optimizationsPresentation Tier optimizations
Presentation Tier optimizations
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
 
Modelling Web Performance Optimization - FFSUx
Modelling  Web Performance Optimization - FFSUxModelling  Web Performance Optimization - FFSUx
Modelling Web Performance Optimization - FFSUx
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
[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
 
Responsive content
Responsive contentResponsive content
Responsive content
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
Optimising Web Application Frontend
Optimising Web Application FrontendOptimising Web Application Frontend
Optimising Web Application Frontend
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 

More from Rakuten Group, Inc.

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
panagenda
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
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
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.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 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...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
"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 ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Beyond Breakpoints: Improving Performance for Responsive Sites