Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cutting off the browser fat from your app
Search
Hector Bustillos
October 10, 2013
Technology
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cutting off the browser fat from your app
Hector Bustillos
October 10, 2013
More Decks by Hector Bustillos
See All by Hector Bustillos
Saving your Rails applications.
hecbuma
1
100
Other Decks in Technology
See All in Technology
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
160
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
540
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
170
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
260
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
0
210
Why is RC4 still being used?
tamaiyutaro
0
260
徹底討論!ECS vs EKS!
daitak
3
1.8k
背中から、背中へ /paying forward to community
naitosatoshi
0
190
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
310
打造你的 AI 工作流:Agent Skill + MCP 實戰工作坊
appleboy
0
280
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
210
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
250
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
630
Site-Speed That Sticks
csswizardry
13
1.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
570
Designing Experiences People Love
moore
143
24k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
GitHub's CSS Performance
jonrohan
1033
470k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
Thursday, October 10, 13
Hector @hecbuma Thursday, October 10, 13
Add time Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
15 beach houses Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
CFP opens in november Thursday, October 10, 13
Thursday, October 10, 13
magmaconf.com Thursday, October 10, 13
Photos by Thursday, October 10, 13
Thursday, October 10, 13
Cutting off the browser fat from your app Thursday, October
10, 13
browser fat? Thursday, October 10, 13
http://static.rcgroups.net/forums/attachments/2/3/6/3/1/2/a3083784-42-Fat%2520Guy.jpg?d=1267091993 Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
http://www.celebitchy.com/wp-content/uploads/2010/07/fp_5311598_spears_britney_fp1_070110.jpg Thursday, October 10, 13
Thursday, October 10, 13
“I’m not a front-end guy, why should I care?” Thursday,
October 10, 13
Time = Money Thursday, October 10, 13
1 Mississippi Thursday, October 10, 13
http://bitchinfilmreviews.com/wp-content/uploads/2012/06/Happy-Feet.jpg Thursday, October 10, 13
2 Mississippi Thursday, October 10, 13
http://1.bp.blogspot.com/-RM9X-maQqks/ToCkP_ziwHI/ AAAAAAAABDE/ZtMyr67Ar-4/s1600/challenge+accepted+meme +blank.png Thursday, October 10, 13
3 Mississippi Thursday, October 10, 13
http://marco-pivetta.com/doctrine-orm-zf2-tutorial/assets/img/waiting-meme.png Thursday, October 10, 13
4 Mississippi Thursday, October 10, 13
http://www.thereplicapropforum.com/gallery/data/509/300-publicity-photo-26.jpg Thursday, October 10, 13
The most important thing Thursday, October 10, 13
Thursday, October 10, 13
CSS Thursday, October 10, 13
Right - to - Left Thursday, October 10, 13
#active li a {...} Thursday, October 10, 13
a li #active Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Qualified Selectors ul#active {...} Thursday, October 10, 13
Qualified Selectors #active {...} Thursday, October 10, 13
Descendant Selectors body header div{ color: blue; } body header
p{ color: red; } Thursday, October 10, 13
Descendant Selectors .blue-text {color: blue;} .red-text {color: red;} Thursday, October
10, 13
Unqualified Selectors a[data-go^=”page-”]{ display: block; } Thursday, October 10, 13
Chaining .big.blue.text {...} Thursday, October 10, 13
Chaining .big-blue-text {...} Thursday, October 10, 13
Remember Cascade #wrapper ul li a { font-family: 'Helvetica' }
Thursday, October 10, 13
Remember Cascade #wrapper { font-family: 'Helvetica' } Thursday, October 10,
13
Sass Thursday, October 10, 13
Thursday, October 10, 13
Nesting too deep Thursday, October 10, 13
Thursday, October 10, 13
Mixins Thursday, October 10, 13
Thursday, October 10, 13
@extend Thursday, October 10, 13
Thursday, October 10, 13
LEARN CSS Thursday, October 10, 13
Thursday, October 10, 13
css-tricks.com/ all-about-floats/ Thursday, October 10, 13
smacss.com Thursday, October 10, 13
OOCSS github.com/ stubbornella/oocss/wik Thursday, October 10, 13
JS Thursday, October 10, 13
MOVE IT DOWN! Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
ASYNC & DEFER javascript_tag "alert('All is good')", :defer => 'defer'
javascript_include_tag "application", :async => true Thursday, October 10, 13
ID over Classes http://jsperf.com/web-test Thursday, October 10, 13
Use Context on jQuery http://jsperf.com/jquery-context Thursday, October 10, 13
Cached Objects http://jsperf.com/cache-objects Thursday, October 10, 13
Avoid $.each http://jsperf.com/string-join2 Thursday, October 10, 13
IMG Thursday, October 10, 13
It’s all about fewer HTTP requests Thursday, October 10, 13
6 to 8 parallel connections Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
File Types Thursday, October 10, 13
JPEG Thursday, October 10, 13
Thursday, October 10, 13
PNG Thursday, October 10, 13
Thursday, October 10, 13
GIF Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
DO NOT RESIZE! Thursday, October 10, 13
Thursday, October 10, 13
Set height and width! Thursday, October 10, 13
Thursday, October 10, 13
http://www.celebitchy.com/wp-content/uploads/2010/07/fp_5311598_spears_britney_fp1_070110.jpg Thursday, October 10, 13
Serve GZIP Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
gem ‘heroku_rails_deflate’ Thursday, October 10, 13
Rack::Deflater Thursday, October 10, 13
Thursday, October 10, 13
HTML Thursday, October 10, 13
Thursday, October 10, 13
TOOLS Thursday, October 10, 13
kraken.io Thursday, October 10, 13
Thursday, October 10, 13
# NOTE: You will need `multipart-post` gem: # $ gem
install multipart-post require 'rubygems' require 'json' require 'net/https' require 'net/http/post/multipart' url = URI.parse("https://api.kraken.io/file") uploadfile = {:name =>'/Path/To/File.jpg'} auth = { "user" => "your-kraken-username", "pass" => "your-kraken-password", "apikey" => "your-kraken-api-key" }.to_json File.open(uploadfile[:name]) do |file| req = Net::HTTP::Post::Multipart.new url.path, "auth" => auth, "file" => UploadIO.new(file, 'logotyp.png') https = Net::HTTP.new(url.host, url.port) https.use_ssl = true res = https.start() {|conn| conn.request(req)} response = JSON.parse(res.body) if response['success'] puts 'Success. Optimized image URL: ' + response['krakedURL'] else puts 'Fail. Error message: ' + response['error'] end end Thursday, October 10, 13
Chrome Developer tools Thursday, October 10, 13
Thursday, October 10, 13
Thursday, October 10, 13
Retrospectus.com Thursday, October 10, 13
~30sec Thursday, October 10, 13
~6sec Thursday, October 10, 13
Thursday, October 10, 13
` @hecbuma Thanks! Thursday, October 10, 13