campus party 2010
DESCRIPTION
Palestra sobre assuntos aleatórios de Ruby, otimização de sites com YSlow, EventMachine, Search com acts_as_solr_reloadedTRANSCRIPT
![Page 1: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/1.jpg)
A apresentação comecará em alguns minutos ...
Wednesday, January 27, 2010
![Page 2: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/2.jpg)
A apresentação comecará em alguns minutos ...
Wednesday, January 27, 2010
![Page 3: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/3.jpg)
AkitaOnRails.com
Wednesday, January 27, 2010
![Page 4: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/4.jpg)
~ 1 h> 100 slides
Wednesday, January 27, 2010
![Page 5: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/5.jpg)
www.slideshare.net/akitaonrails
www.akitaonrails.com/!les/entendendo-a-web-movies.zip
Wednesday, January 27, 2010
![Page 6: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/6.jpg)
Entendendo a WebLições sobre Desenvolvimento Web com Ruby
Fabio Akita
Wednesday, January 27, 2010
![Page 7: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/7.jpg)
Pensamento Tradicional
Wednesday, January 27, 2010
![Page 8: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/8.jpg)
Web Server
MySQL
Browser
Wednesday, January 27, 2010
![Page 9: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/9.jpg)
Web Server
MySQL
Browser
Wednesday, January 27, 2010
![Page 10: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/10.jpg)
Web Server
MySQL
Browser
Wednesday, January 27, 2010
![Page 11: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/11.jpg)
/site/default.asp
Wednesday, January 27, 2010
![Page 12: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/12.jpg)
include header
/site/default.asp
Wednesday, January 27, 2010
![Page 13: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/13.jpg)
include header
while ...
/site/default.asp
Wednesday, January 27, 2010
![Page 14: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/14.jpg)
include header
while ...
Response.write
/site/default.asp
Wednesday, January 27, 2010
![Page 15: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/15.jpg)
include header
include footer
while ...
Response.write
/site/default.asp
Wednesday, January 27, 2010
![Page 16: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/16.jpg)
Ruby?
Wednesday, January 27, 2010
![Page 17: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/17.jpg)
Wednesday, January 27, 2010
![Page 18: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/18.jpg)
Ruby on Rails 2.3
Ruby 1.8
“Novo” Ruby 1.9Wednesday, January 27, 2010
![Page 19: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/19.jpg)
Ruby on Rails 2.3
Ruby 1.8
“Novo” Ruby 1.9Wednesday, January 27, 2010
![Page 20: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/20.jpg)
Ruby on Rails 2.3
Ruby 1.8
“Novo” Ruby 1.9Wednesday, January 27, 2010
![Page 21: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/21.jpg)
x mais lento que C++
Wednesday, January 27, 2010
![Page 22: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/22.jpg)
Python 2
Ruby 1.9
Perl
JRuby
Python 3
PHP
Ruby 1.8.6
0 50 100 150 200
x mais lento que C++
Wednesday, January 27, 2010
![Page 23: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/23.jpg)
Wednesday, January 27, 2010
![Page 24: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/24.jpg)
Wednesday, January 27, 2010
![Page 25: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/25.jpg)
Wednesday, January 27, 2010
![Page 26: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/26.jpg)
Wednesday, January 27, 2010
![Page 27: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/27.jpg)
Wednesday, January 27, 2010
![Page 28: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/28.jpg)
Wednesday, January 27, 2010
![Page 29: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/29.jpg)
Wednesday, January 27, 2010
![Page 30: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/30.jpg)
Wednesday, January 27, 2010
![Page 31: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/31.jpg)
6
Wednesday, January 27, 2010
![Page 32: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/32.jpg)
Menos Requisições
Wednesday, January 27, 2010
![Page 33: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/33.jpg)
Wednesday, January 27, 2010
![Page 34: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/34.jpg)
Wednesday, January 27, 2010
![Page 35: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/35.jpg)
DEVELOPMENT
Wednesday, January 27, 2010
![Page 36: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/36.jpg)
PRODUCTION
Wednesday, January 27, 2010
![Page 37: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/37.jpg)
Mini!que CSS e Javascript
Wednesday, January 27, 2010
![Page 38: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/38.jpg)
Juicerhttp://github.com/cjohansen/juicer/
Wednesday, January 27, 2010
![Page 39: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/39.jpg)
Wednesday, January 27, 2010
![Page 40: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/40.jpg)
• git clone git://github.com/cjohansen/juicer.git
Wednesday, January 27, 2010
![Page 41: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/41.jpg)
• git clone git://github.com/cjohansen/juicer.git
• cd juicer ; rake build
Wednesday, January 27, 2010
![Page 42: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/42.jpg)
• git clone git://github.com/cjohansen/juicer.git
• cd juicer ; rake build
• gem install pkg/juicer-0.9.9.gem
Wednesday, January 27, 2010
![Page 43: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/43.jpg)
• git clone git://github.com/cjohansen/juicer.git
• cd juicer ; rake build
• gem install pkg/juicer-0.9.9.gem
Wednesday, January 27, 2010
![Page 44: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/44.jpg)
• git clone git://github.com/cjohansen/juicer.git
• cd juicer ; rake build
• gem install pkg/juicer-0.9.9.gem
• ./script/plugin install git://github.com/ktheory/juicer-rails.git
Wednesday, January 27, 2010
![Page 45: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/45.jpg)
• juicer install yuicompressor
• juicer install jslint
Wednesday, January 27, 2010
![Page 46: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/46.jpg)
<%= juiced_tag '/stylesheets/application.css' %> <%= yield(:head) %>
</head><body>
... <%= juiced_tag '/javascripts/application.js' %>
</body>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 47: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/47.jpg)
<%= juiced_tag '/stylesheets/application.css' %> <%= yield(:head) %>
</head><body>
... <%= juiced_tag '/javascripts/application.js' %>
</body>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 48: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/48.jpg)
@import url("reset.css");@import url("base.css");@import url("fonts.css");
...
/* @depends jquery-1.4.min.js @depends jquery.edit_in_place.js @depends jqueryamail.js*/
...
/public/stylesheets/application.css
/public/javascripts/application.js
Wednesday, January 27, 2010
![Page 49: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/49.jpg)
@import url("reset.css");@import url("base.css");@import url("fonts.css");
...
/* @depends jquery-1.4.min.js @depends jquery.edit_in_place.js @depends jqueryamail.js*/
...
/public/stylesheets/application.css
/public/javascripts/application.js
Wednesday, January 27, 2010
![Page 50: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/50.jpg)
Wednesday, January 27, 2010
![Page 51: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/51.jpg)
• juicer merge public/stylesheets/application.css
• public/stylesheets/application.min.css
Wednesday, January 27, 2010
![Page 52: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/52.jpg)
• juicer merge public/stylesheets/application.css
• public/stylesheets/application.min.css
• juicer merge -i public/javascripts/application.js
• public/javascripts/application.min.js
Wednesday, January 27, 2010
![Page 53: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/53.jpg)
DEVELOPMENT
Wednesday, January 27, 2010
![Page 54: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/54.jpg)
PRODUCTION
Wednesday, January 27, 2010
![Page 55: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/55.jpg)
Asset HostsNavegadores abrem poucas conexões
simultâneas por domínio
Wednesday, January 27, 2010
![Page 56: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/56.jpg)
Wednesday, January 27, 2010
![Page 57: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/57.jpg)
def gallery gallery_path = File.join(Rails.root, "public/images/gallery/")
@images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") }
end
/app/controllers/hello_controller.rb
Wednesday, January 27, 2010
![Page 58: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/58.jpg)
def gallery gallery_path = File.join(Rails.root, "public/images/gallery/")
@images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") }
end
/app/controllers/hello_controller.rb
/app/views/hello/gallery.html.erb
<% title "Gallery" %>
<% @images.each do |image| -%> <%= image_tag "gallery/#{image}" %>
<% end -%>
Wednesday, January 27, 2010
![Page 59: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/59.jpg)
def gallery gallery_path = File.join(Rails.root, "public/images/gallery/")
@images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") }
end
/app/controllers/hello_controller.rb
/app/views/hello/gallery.html.erb
<% title "Gallery" %>
<% @images.each do |image| -%> <%= image_tag "gallery/#{image}" %>
<% end -%>
Wednesday, January 27, 2010
![Page 60: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/60.jpg)
DEVELOPMENT
Wednesday, January 27, 2010
![Page 61: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/61.jpg)
DEVELOPMENT
Wednesday, January 27, 2010
![Page 62: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/62.jpg)
/con!g/environments/production.rb
config.action_controller.asset_host = Proc.new do |source, request| protocol = if request.ssl?
request.headers["USER_AGENT"] =~ /(Safari)/ ? "http" : "https" else
"http" end
"#{protocol}://asset#{rand(6) + 1}.akitaonrails.local:3000"end
Wednesday, January 27, 2010
![Page 63: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/63.jpg)
/con!g/environments/production.rb
config.action_controller.asset_host = Proc.new do |source, request| protocol = if request.ssl?
request.headers["USER_AGENT"] =~ /(Safari)/ ? "http" : "https" else
"http" end
"#{protocol}://asset#{rand(6) + 1}.akitaonrails.local:3000"end
Wednesday, January 27, 2010
![Page 64: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/64.jpg)
### Host Database## localhost is used to configure the loopback interface# when the system is booting. Do not change this entry.##127.0.0.1 localhost255.255.255.255 broadcasthost::1 localhost fe80::1%lo0 localhost127.0.0.1 asset1.akitaonrails.local asset2.akitaonrails.local asset3.akitaonrails.local asset4.akitaonrails.local asset5.akitaonrails.local asset6.akitaonrails.local www.akitaonrails.local
/etc/hosts
Wednesday, January 27, 2010
![Page 65: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/65.jpg)
PRODUCTION
Wednesday, January 27, 2010
![Page 66: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/66.jpg)
PRODUCTION
Wednesday, January 27, 2010
![Page 67: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/67.jpg)
Javascript embaixo!
Wednesday, January 27, 2010
![Page 68: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/68.jpg)
<head> <title><%= h(yield(:title) || "Untitled") %></title> <%= stylesheet_link_tag 'application' %> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script> <%= yield(:head) %></head><body>...
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 69: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/69.jpg)
<head> <title><%= h(yield(:title) || "Untitled") %></title> <%= stylesheet_link_tag 'application' %> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script> <%= yield(:head) %></head><body>...
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 70: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/70.jpg)
... <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script> <script type="text/javascript"> // meu javascript customizado ... </script> </body></html>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 71: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/71.jpg)
... <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script> <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script> <script type="text/javascript"> // meu javascript customizado ... </script> </body></html>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 72: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/72.jpg)
Gzip
Wednesday, January 27, 2010
![Page 73: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/73.jpg)
• a2enmod de!ate
• editar /etc/apache2/mods-available/de!ate.conf
Wednesday, January 27, 2010
![Page 74: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/74.jpg)
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/x-httpd-eruby
DeflateCompressionLevel 9
# Netscape 4.X has some problems BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSIE !no-gzip !gzip-only-text/html</IfModule>
/etc/apache2/mods-available/de"ate.conf
Wednesday, January 27, 2010
![Page 75: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/75.jpg)
Cabeçalhos de Expiração
Wednesday, January 27, 2010
![Page 76: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/76.jpg)
• a2enmod expires
• editar /etc/apache2/mods-available/expires.conf
Wednesday, January 27, 2010
![Page 77: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/77.jpg)
<IfModule mod_expires.c> ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType application/pdf "access plus 1 year" ExpiresByType audio/x-wav "access plus 1 year" ExpiresByType audio/mpeg "access plus 1 year" ExpiresByType video/mpeg "access plus 1 year" ExpiresByType video/mp4 "access plus 1 year" ExpiresByType video/quicktime "access plus 1 year" ExpiresByType video/x-ms-wmv "access plus 1 year" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType text/css "access plus 1 year" ExpiresByType text/javascript "access plus 1 year"</IfModule>
/etc/apache2/mods-available/expires.conf
Wednesday, January 27, 2010
![Page 78: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/78.jpg)
Cache Busters
Wednesday, January 27, 2010
![Page 79: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/79.jpg)
<%= stylesheet_link_tag 'application' %>
<%= javascript_include_tag 'application' %>
<%= image_tag "logo.png" %>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 80: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/80.jpg)
<link href="/stylesheets/application.css?1264345891" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/application.js?1264345058"
type="text/javascript"></script>
<img alt="Logo" src="/images/logo.png?1268943058" />
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 81: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/81.jpg)
<link href="/stylesheets/application.css?1264345891" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/application.js?1264345058"
type="text/javascript"></script>
<img alt="Logo" src="/images/logo.png?1268943058" />
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 82: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/82.jpg)
Use CDNs
Wednesday, January 27, 2010
![Page 83: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/83.jpg)
<script src="/javascripts/jquery-1.4.min.js" type="text/javascript"></script><script src="/javascripts/jquery-ui-1.7.2.min.js" type="text/javascript"></script><script src="/javascripts/swfobject-2.2.js" type="text/javascript"></script><script src="/javascripts/CFInstall-1.0.2.min.js" type="text/javascript"></script>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 84: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/84.jpg)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 85: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/85.jpg)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js" type="text/javascript"></script><script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.2/CFInstall.min.js" type="text/javascript"></script>
/app/views/layouts/application.html.erb
Wednesday, January 27, 2010
![Page 86: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/86.jpg)
Search
Wednesday, January 27, 2010
![Page 87: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/87.jpg)
select * from ... where ... like “%...%”
Wednesday, January 27, 2010
![Page 88: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/88.jpg)
select * from ... where ... like “%...%”
or ... like “%...%”or ... like “%...%”or ... like “%...%”or ... like “%...%”
Wednesday, January 27, 2010
![Page 89: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/89.jpg)
select * from ... where ... like “%...%”
or ... like “%...%”or ... like “%...%”or ... like “%...%”or ... like “%...%”
Wednesday, January 27, 2010
![Page 90: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/90.jpg)
Wednesday, January 27, 2010
![Page 91: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/91.jpg)
• Open Source Enterprise Search Platform
• Baseado no famoso Lucene
• Full Text Search, com relevância
• Indexa documentos (Word, PDF, etc)
• Interface REST
• Roda em containers de Servlet (Tomcat)
Wednesday, January 27, 2010
![Page 92: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/92.jpg)
Wednesday, January 27, 2010
![Page 93: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/93.jpg)
Wednesday, January 27, 2010
![Page 94: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/94.jpg)
select * from ... where ... like “%...%”
or ... like “%...%”or ... like “%...%”or ... like “%...%”or ... like “%...%”
Wednesday, January 27, 2010
![Page 95: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/95.jpg)
select * from ... where ... like “%...%”
or ... like “%...%”or ... like “%...%”or ... like “%...%”or ... like “%...%”
Wednesday, January 27, 2010
![Page 96: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/96.jpg)
RackA API mais simples possível que
representa uma aplicação web genérica
Wednesday, January 27, 2010
![Page 97: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/97.jpg)
ServerHTTP
Wednesday, January 27, 2010
![Page 98: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/98.jpg)
ServerHTTPRequest
Wednesday, January 27, 2010
![Page 99: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/99.jpg)
ServerHTTPRequest
Wednesday, January 27, 2010
![Page 100: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/100.jpg)
ServerHTTPRequest
Wednesday, January 27, 2010
![Page 101: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/101.jpg)
ServerHTTPRequest Response
Wednesday, January 27, 2010
![Page 102: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/102.jpg)
lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] }
Wednesday, January 27, 2010
![Page 103: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/103.jpg)
lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] }
Requisição
Wednesday, January 27, 2010
![Page 104: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/104.jpg)
lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] }
Status
Requisição
Wednesday, January 27, 2010
![Page 105: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/105.jpg)
lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] }
Status Cabeçalhos
Requisição
Wednesday, January 27, 2010
![Page 106: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/106.jpg)
lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] }
Status Cabeçalhos Corpo
Requisição
Wednesday, January 27, 2010
![Page 107: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/107.jpg)
RackRequest(env)
Response(Array)
Wednesday, January 27, 2010
![Page 108: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/108.jpg)
RackRequest(env)
Response(Array)
.call(env)
Wednesday, January 27, 2010
![Page 109: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/109.jpg)
RackRequest
Response
Rack
Rack
Wednesday, January 27, 2010
![Page 110: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/110.jpg)
RackRequest
Response
Rack
Rack
Wednesday, January 27, 2010
![Page 111: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/111.jpg)
RackRequest
Response
Rack
Rack
Wednesday, January 27, 2010
![Page 112: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/112.jpg)
RackRequest
Response
Rack
Rack
Wednesday, January 27, 2010
![Page 113: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/113.jpg)
RackRequest
Response
Rack
Rack
Wednesday, January 27, 2010
![Page 114: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/114.jpg)
$ rake middleware
use ActionDispatch::Staticuse Rack::Lockuse Rack::Runtimeuse Rails::Rack::Loggeruse ActionDispatch::ShowExceptionsuse ActionDispatch::Callbacksuse ActionDispatch::Cookiesuse ActionDispatch::Session::CookieStoreuse ActionDispatch::Flashuse ActionDispatch::Cascadeuse ActionDispatch::ParamsParseruse Rack::MethodOverrideuse ActionDispatch::Headuse ActiveRecord::ConnectionAdapters::ConnectionManagementuse ActiveRecord::QueryCacherun Class
Wednesday, January 27, 2010
![Page 115: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/115.jpg)
gem install rack
Wednesday, January 27, 2010
![Page 116: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/116.jpg)
# run with 'rackup -p 9292 config.ru'require 'rubygems'
require 'rack'
app = Proc.new { |env| [200, {"Content-Type" => "text/html"}, "Hello Rack!"] }
run app
con!g.ru
Wednesday, January 27, 2010
![Page 117: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/117.jpg)
rackup con!g.ru
Wednesday, January 27, 2010
![Page 118: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/118.jpg)
Wednesday, January 27, 2010
![Page 119: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/119.jpg)
Sinatrahttp://www.sinatrarb.com/
Wednesday, January 27, 2010
![Page 120: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/120.jpg)
Wednesday, January 27, 2010
![Page 121: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/121.jpg)
Otimizações Backend
Wednesday, January 27, 2010
![Page 122: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/122.jpg)
Wednesday, January 27, 2010
![Page 123: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/123.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 124: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/124.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 125: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/125.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 126: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/126.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 127: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/127.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 128: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/128.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 129: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/129.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 130: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/130.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 131: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/131.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 132: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/132.jpg)
Browser pede páginaSe existir no cache, retorna
Procura RotaChama ControllerExecuta AçãoComunica com Banco de Dados
Se existir no cache, pulaSe processar assíncrono, pula
Renderiza ViewRetorna resultado ao Browser
Wednesday, January 27, 2010
![Page 133: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/133.jpg)
Apache2+ mod_proxy_balancer
Squid
Varnish
Wednesday, January 27, 2010
![Page 134: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/134.jpg)
Memcached
MySQL Proxy
Assíncrono (ex. Resque, RabbitMQ)
Wednesday, January 27, 2010
![Page 135: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/135.jpg)
LoadBalancer
Wednesday, January 27, 2010
![Page 136: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/136.jpg)
LoadBalancer
App Server
Cache
Wednesday, January 27, 2010
![Page 137: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/137.jpg)
LoadBalancer
App Server App Server
CacheCache
Wednesday, January 27, 2010
![Page 138: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/138.jpg)
LoadBalancer
App Server App Server
Cache
App Server
CacheCache
Wednesday, January 27, 2010
![Page 139: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/139.jpg)
LoadBalancer
App Server App Server
Cache
App Server
CacheCache
Wednesday, January 27, 2010
![Page 140: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/140.jpg)
LoadBalancer
App Server App Server
Cache
App Server
Cache
MySQLMaster
Cache
Wednesday, January 27, 2010
![Page 141: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/141.jpg)
LoadBalancer
App Server App Server
Cache
App Server
Cache
MySQLMaster
MySQLSlave
MySQLSlave
Cache
Wednesday, January 27, 2010
![Page 142: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/142.jpg)
LoadBalancer
App Server App Server
Cache
App Server
Cache
MySQL Proxy
MySQLMaster
MySQLSlave
MySQLSlave
Cache
Wednesday, January 27, 2010
![Page 143: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/143.jpg)
LoadBalancer
App Server App Server
Cache
App Server
Cache
MySQL Proxy
MySQLMaster
MySQLSlave
MySQLSlave
Cache
Wednesday, January 27, 2010
![Page 144: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/144.jpg)
LoadBalancer
App Server App Server
Cache
App Server
Cache
MySQL Proxy
MySQLMaster
MySQLSlave
MySQLSlave
Cache
Job Server
Wednesday, January 27, 2010
![Page 145: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/145.jpg)
Tendências
Wednesday, January 27, 2010
![Page 146: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/146.jpg)
C10K Problem
Wednesday, January 27, 2010
![Page 147: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/147.jpg)
Wednesday, January 27, 2010
![Page 148: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/148.jpg)
HTML 5
Web Sockets
Reactor/Deferrable Pattern
Wednesday, January 27, 2010
![Page 149: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/149.jpg)
HTML 5
Web Sockets
Reactor/Deferrable Pattern
Wednesday, January 27, 2010
![Page 150: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/150.jpg)
HTML 5
Web Sockets
Reactor/Deferrable Pattern
Wednesday, January 27, 2010
![Page 151: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/151.jpg)
Wednesday, January 27, 2010
![Page 152: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/152.jpg)
Wednesday, January 27, 2010
![Page 153: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/153.jpg)
Browser
App
Banco
Browser
App
Browser
App
Wednesday, January 27, 2010
![Page 154: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/154.jpg)
Browser
App
Banco
Browser
App
Browser
App
Wednesday, January 27, 2010
![Page 155: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/155.jpg)
Browser
App
Banco
Browser
App
Browser
App
Wednesday, January 27, 2010
![Page 156: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/156.jpg)
Browser
App
Banco
Browser
App
Browser
App
Wednesday, January 27, 2010
![Page 157: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/157.jpg)
Browser
App
Banco
Browser
App
Browser
App
Browser
Wednesday, January 27, 2010
![Page 158: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/158.jpg)
Browser
App
Banco
Browser
App
Browser
App
Browser
?
Wednesday, January 27, 2010
![Page 159: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/159.jpg)
Browser
Banco
Browser Browser
Wednesday, January 27, 2010
![Page 160: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/160.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
Wednesday, January 27, 2010
![Page 161: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/161.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Wednesday, January 27, 2010
![Page 162: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/162.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Wednesday, January 27, 2010
![Page 163: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/163.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Wednesday, January 27, 2010
![Page 164: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/164.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Wednesday, January 27, 2010
![Page 165: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/165.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Browser
Wednesday, January 27, 2010
![Page 166: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/166.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
Browser
Wednesday, January 27, 2010
![Page 167: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/167.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
BrowserBrowser
Wednesday, January 27, 2010
![Page 168: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/168.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
BrowserBrowser
Wednesday, January 27, 2010
![Page 169: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/169.jpg)
Browser
Banco
Browser
conexões/eventos
Browser
processamento/eventos
BrowserBrowser
Wednesday, January 27, 2010
![Page 170: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/170.jpg)
Wednesday, January 27, 2010
![Page 171: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/171.jpg)
Wednesday, January 27, 2010
![Page 172: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/172.jpg)
Aprendendo Mais
Wednesday, January 27, 2010
![Page 173: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/173.jpg)
RAILS LABS
Wednesday, January 27, 2010
![Page 174: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/174.jpg)
Wednesday, January 27, 2010
![Page 175: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/175.jpg)
RAILSCASTS.com
Wednesday, January 27, 2010
![Page 176: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/176.jpg)
Wednesday, January 27, 2010
![Page 177: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/177.jpg)
Wednesday, January 27, 2010
![Page 178: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/178.jpg)
Entenda os browsers
Entenda HTTP
Arquiteturas
Mundo Assíncrono
Mundo não Relacional
Wednesday, January 27, 2010
![Page 179: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/179.jpg)
Entenda os browsers
Entenda HTTP
Arquiteturas
Mundo Assíncrono
Mundo não Relacional
Wednesday, January 27, 2010
![Page 180: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/180.jpg)
Entenda os browsers
Entenda HTTP
Arquiteturas
Mundo Assíncrono
Mundo não Relacional
Wednesday, January 27, 2010
![Page 181: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/181.jpg)
Entenda os browsers
Entenda HTTP
Arquiteturas
Mundo Assíncrono
Mundo não Relacional
Wednesday, January 27, 2010
![Page 182: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/182.jpg)
Entenda os browsers
Entenda HTTP
Arquiteturas
Mundo Assíncrono
Mundo não Relacional
Wednesday, January 27, 2010
![Page 183: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/183.jpg)
Wednesday, January 27, 2010
![Page 184: Campus Party 2010](https://reader035.vdocuments.site/reader035/viewer/2022062404/554a3a03b4c9055a408b47d8/html5/thumbnails/184.jpg)
Thx!www.slideshare.net/akitaonrails
www.akitaonrails.com/!les/entendendo-a-web-movies.zip
Wednesday, January 27, 2010