Your SlideShare is downloading. ×
0
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Campus Party 2010
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Campus Party 2010

2,177

Published on

Palestra sobre assuntos aleatórios de Ruby, otimização de sites com YSlow, EventMachine, Search com acts_as_solr_reloaded

Palestra sobre assuntos aleatórios de Ruby, otimização de sites com YSlow, EventMachine, Search com acts_as_solr_reloaded

Published in: Technology
3 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,177
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
100
Comments
3
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. A apresentação comecará em alguns minutos ... Wednesday, January 27, 2010
  2. A apresentação comecará em alguns minutos ... Wednesday, January 27, 2010
  3. AkitaOnRails.com Wednesday, January 27, 2010
  4. ~1h > 100 slides Wednesday, January 27, 2010
  5. www.slideshare.net/akitaonrails www.akitaonrails.com/ les/entendendo-a-web-movies.zip fabio.akita@locaweb.com.br Wednesday, January 27, 2010
  6. Entendendo a Web Lições sobre Desenvolvimento Web com Ruby Fabio Akita Wednesday, January 27, 2010
  7. Pensamento Tradicional Wednesday, January 27, 2010
  8. Browser Web Server MySQL Wednesday, January 27, 2010
  9. Browser Web Server MySQL Wednesday, January 27, 2010
  10. Browser Web Server MySQL Wednesday, January 27, 2010
  11. /site/default.asp Wednesday, January 27, 2010
  12. /site/default.asp include header Wednesday, January 27, 2010
  13. /site/default.asp include header while ... Wednesday, January 27, 2010
  14. /site/default.asp include header while ... Response.write Wednesday, January 27, 2010
  15. /site/default.asp include header while ... Response.write include footer Wednesday, January 27, 2010
  16. Ruby? Wednesday, January 27, 2010
  17. Wednesday, January 27, 2010
  18. Ruby on Rails 2.3 Ruby 1.8 “Novo” Ruby 1.9 Wednesday, January 27, 2010
  19. Ruby on Rails 2.3 Ruby 1.8 “Novo” Ruby 1.9 Wednesday, January 27, 2010
  20. Ruby on Rails 2.3 Ruby 1.8 “Novo” Ruby 1.9 Wednesday, January 27, 2010
  21. x mais lento que C++ Wednesday, January 27, 2010
  22. x mais lento que C++ Python 2 Ruby 1.9 Perl JRuby Python 3 PHP Ruby 1.8.6 0 50 100 150 200 Wednesday, January 27, 2010
  23. Wednesday, January 27, 2010
  24. Wednesday, January 27, 2010
  25. Wednesday, January 27, 2010
  26. Wednesday, January 27, 2010
  27. Wednesday, January 27, 2010
  28. Wednesday, January 27, 2010
  29. Wednesday, January 27, 2010
  30. Wednesday, January 27, 2010
  31. 6 Wednesday, January 27, 2010
  32. Menos Requisições Wednesday, January 27, 2010
  33. Wednesday, January 27, 2010
  34. Wednesday, January 27, 2010
  35. DEVELOPMENT Wednesday, January 27, 2010
  36. PRODUCTION Wednesday, January 27, 2010
  37. Mini que CSS e Javascript Wednesday, January 27, 2010
  38. Juicer http://github.com/cjohansen/juicer/ Wednesday, January 27, 2010
  39. Wednesday, January 27, 2010
  40. • git clone git://github.com/cjohansen/ juicer.git Wednesday, January 27, 2010
  41. • git clone git://github.com/cjohansen/ juicer.git • cd juicer ; rake build Wednesday, January 27, 2010
  42. • git clone git://github.com/cjohansen/ juicer.git • cd juicer ; rake build • gem install pkg/juicer-0.9.9.gem Wednesday, January 27, 2010
  43. • git clone git://github.com/cjohansen/ juicer.git • cd juicer ; rake build • gem install pkg/juicer-0.9.9.gem Wednesday, January 27, 2010
  44. • 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
  45. • juicer install yuicompressor • juicer install jslint Wednesday, January 27, 2010
  46. /app/views/layouts/application.html.erb <%= juiced_tag '/stylesheets/application.css' %> <%= yield(:head) %> </head> <body> ... <%= juiced_tag '/javascripts/application.js' %> </body> Wednesday, January 27, 2010
  47. /app/views/layouts/application.html.erb <%= juiced_tag '/stylesheets/application.css' %> <%= yield(:head) %> </head> <body> ... <%= juiced_tag '/javascripts/application.js' %> </body> Wednesday, January 27, 2010
  48. /public/stylesheets/application.css @import url("reset.css"); @import url("base.css"); @import url("fonts.css"); ... /public/javascripts/application.js /* @depends jquery-1.4.min.js @depends jquery.edit_in_place.js @depends jqueryamail.js */ ... Wednesday, January 27, 2010
  49. /public/stylesheets/application.css @import url("reset.css"); @import url("base.css"); @import url("fonts.css"); ... /public/javascripts/application.js /* @depends jquery-1.4.min.js @depends jquery.edit_in_place.js @depends jqueryamail.js */ ... Wednesday, January 27, 2010
  50. Wednesday, January 27, 2010
  51. • juicer merge public/stylesheets/ application.css • public/stylesheets/application.min.css Wednesday, January 27, 2010
  52. • 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
  53. DEVELOPMENT Wednesday, January 27, 2010
  54. PRODUCTION Wednesday, January 27, 2010
  55. Asset Hosts Navegadores abrem poucas conexões simultâneas por domínio Wednesday, January 27, 2010
  56. Wednesday, January 27, 2010
  57. /app/controllers/hello_controller.rb def gallery gallery_path = File.join(Rails.root, "public/images/gallery/") @images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") } end Wednesday, January 27, 2010
  58. /app/controllers/hello_controller.rb def gallery gallery_path = File.join(Rails.root, "public/images/gallery/") @images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") } end /app/views/hello/gallery.html.erb <% title "Gallery" %> <% @images.each do |image| -%> <%= image_tag "gallery/#{image}" %> <% end -%> Wednesday, January 27, 2010
  59. /app/controllers/hello_controller.rb def gallery gallery_path = File.join(Rails.root, "public/images/gallery/") @images = Dir.glob(gallery_path + "*").map{ |f| f.gsub(gallery_path, "") } end /app/views/hello/gallery.html.erb <% title "Gallery" %> <% @images.each do |image| -%> <%= image_tag "gallery/#{image}" %> <% end -%> Wednesday, January 27, 2010
  60. DEVELOPMENT Wednesday, January 27, 2010
  61. DEVELOPMENT Wednesday, January 27, 2010
  62. /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
  63. /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
  64. /etc/hosts ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost 127.0.0.1 asset1.akitaonrails.local asset2.akitaonrails.local asset3.akitaonrails.local asset4.akitaonrails.local asset5.akitaonrails.local asset6.akitaonrails.local www.akitaonrails.local Wednesday, January 27, 2010
  65. PRODUCTION Wednesday, January 27, 2010
  66. PRODUCTION Wednesday, January 27, 2010
  67. Javascript embaixo! Wednesday, January 27, 2010
  68. /app/views/layouts/application.html.erb <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> ... Wednesday, January 27, 2010
  69. /app/views/layouts/application.html.erb <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> ... Wednesday, January 27, 2010
  70. /app/views/layouts/application.html.erb ... <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> Wednesday, January 27, 2010
  71. /app/views/layouts/application.html.erb ... <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> Wednesday, January 27, 2010
  72. Gzip Wednesday, January 27, 2010
  73. • a2enmod de ate • editar /etc/apache2/mods-available/ de ate.conf Wednesday, January 27, 2010
  74. /etc/apache2/mods-available/de ate.conf <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> Wednesday, January 27, 2010
  75. Cabeçalhos de Expiração Wednesday, January 27, 2010
  76. • a2enmod expires • editar /etc/apache2/mods-available/ expires.conf Wednesday, January 27, 2010
  77. /etc/apache2/mods-available/expires.conf <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> Wednesday, January 27, 2010
  78. Cache Busters Wednesday, January 27, 2010
  79. /app/views/layouts/application.html.erb <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'application' %> <%= image_tag "logo.png" %> Wednesday, January 27, 2010
  80. /app/views/layouts/application.html.erb <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" /> Wednesday, January 27, 2010
  81. /app/views/layouts/application.html.erb <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" /> Wednesday, January 27, 2010
  82. Use CDNs Wednesday, January 27, 2010
  83. /app/views/layouts/application.html.erb <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> Wednesday, January 27, 2010
  84. /app/views/layouts/application.html.erb <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> Wednesday, January 27, 2010
  85. /app/views/layouts/application.html.erb <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> Wednesday, January 27, 2010
  86. Search Wednesday, January 27, 2010
  87. select * from ... where ... like “%...%” Wednesday, January 27, 2010
  88. select * from ... where ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” Wednesday, January 27, 2010
  89. select * from ... where ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” Wednesday, January 27, 2010
  90. Wednesday, January 27, 2010
  91. • 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
  92. Wednesday, January 27, 2010
  93. Wednesday, January 27, 2010
  94. select * from ... where ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” Wednesday, January 27, 2010
  95. select * from ... where ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” or ... like “%...%” Wednesday, January 27, 2010
  96. Rack A API mais simples possível que representa uma aplicação web genérica Wednesday, January 27, 2010
  97. Server HTTP Wednesday, January 27, 2010
  98. Server Request HTTP Wednesday, January 27, 2010
  99. Server Request HTTP Wednesday, January 27, 2010
  100. Server Request HTTP Wednesday, January 27, 2010
  101. Server Request HTTP Response Wednesday, January 27, 2010
  102. lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] } Wednesday, January 27, 2010
  103. Requisição lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] } Wednesday, January 27, 2010
  104. Requisição lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] } Status Wednesday, January 27, 2010
  105. Requisição lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] } Status Cabeçalhos Wednesday, January 27, 2010
  106. Requisição lambda { |env| [200, {"Content-type" => "text/plain"}, "Hello World"] } Status Cabeçalhos Corpo Wednesday, January 27, 2010
  107. Request Response Rack (env) (Array) Wednesday, January 27, 2010
  108. Request Response Rack (env) (Array) .call(env) Wednesday, January 27, 2010
  109. Request Rack Rack Rack Response Wednesday, January 27, 2010
  110. Request Rack Rack Rack Response Wednesday, January 27, 2010
  111. Request Rack Rack Rack Response Wednesday, January 27, 2010
  112. Request Rack Rack Rack Response Wednesday, January 27, 2010
  113. Request Rack Rack Rack Response Wednesday, January 27, 2010
  114. $ rake middleware use ActionDispatch::Static use Rack::Lock use Rack::Runtime use Rails::Rack::Logger use ActionDispatch::ShowExceptions use ActionDispatch::Callbacks use ActionDispatch::Cookies use ActionDispatch::Session::CookieStore use ActionDispatch::Flash use ActionDispatch::Cascade use ActionDispatch::ParamsParser use Rack::MethodOverride use ActionDispatch::Head use ActiveRecord::ConnectionAdapters::ConnectionManagement use ActiveRecord::QueryCache run Class Wednesday, January 27, 2010
  115. gem install rack Wednesday, January 27, 2010
  116. con g.ru # run with 'rackup -p 9292 config.ru' require 'rubygems' require 'rack' app = Proc.new { |env| [200, {"Content-Type" => "text/html"}, "Hello Rack!"] } run app Wednesday, January 27, 2010
  117. rackup con g.ru Wednesday, January 27, 2010
  118. Wednesday, January 27, 2010
  119. Sinatra http://www.sinatrarb.com/ Wednesday, January 27, 2010
  120. Wednesday, January 27, 2010
  121. Otimizações Backend Wednesday, January 27, 2010
  122. Wednesday, January 27, 2010
  123. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  124. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  125. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  126. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  127. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  128. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  129. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  130. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  131. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  132. Browser pede página Se existir no cache, retorna Procura Rota Chama Controller Executa Ação Comunica com Banco de Dados Se existir no cache, pula Se processar assíncrono, pula Renderiza View Retorna resultado ao Browser Wednesday, January 27, 2010
  133. Apache2 + mod_proxy_balancer Squid Varnish Wednesday, January 27, 2010
  134. Memcached MySQL Proxy Assíncrono (ex. Resque, RabbitMQ) Wednesday, January 27, 2010
  135. Load Balancer Wednesday, January 27, 2010
  136. Load Balancer App Server Cache Wednesday, January 27, 2010
  137. Load Balancer App Server App Server Cache Cache Wednesday, January 27, 2010
  138. Load Balancer App Server App Server App Server Cache Cache Cache Wednesday, January 27, 2010
  139. Load Balancer App Server App Server App Server Cache Cache Cache Wednesday, January 27, 2010
  140. Load Balancer App Server App Server App Server Cache Cache Cache MySQL Master Wednesday, January 27, 2010
  141. Load Balancer App Server App Server App Server Cache Cache Cache MySQL MySQL MySQL Master Slave Slave Wednesday, January 27, 2010
  142. Load Balancer App Server App Server App Server Cache Cache Cache MySQL Proxy MySQL MySQL MySQL Master Slave Slave Wednesday, January 27, 2010
  143. Load Balancer App Server App Server App Server Cache Cache Cache MySQL Proxy MySQL MySQL MySQL Master Slave Slave Wednesday, January 27, 2010
  144. Load Balancer App Server App Server App Server Cache Cache Cache Job Server MySQL Proxy MySQL MySQL MySQL Master Slave Slave Wednesday, January 27, 2010
  145. Tendências Wednesday, January 27, 2010
  146. C10K Problem Wednesday, January 27, 2010
  147. Wednesday, January 27, 2010
  148. HTML 5 Web Sockets Reactor/Deferrable Pattern Wednesday, January 27, 2010
  149. HTML 5 Web Sockets Reactor/Deferrable Pattern Wednesday, January 27, 2010
  150. HTML 5 Web Sockets Reactor/Deferrable Pattern Wednesday, January 27, 2010
  151. Wednesday, January 27, 2010
  152. Wednesday, January 27, 2010
  153. Browser Browser Browser App App App Banco Wednesday, January 27, 2010
  154. Browser Browser Browser App App App Banco Wednesday, January 27, 2010
  155. Browser Browser Browser App App App Banco Wednesday, January 27, 2010
  156. Browser Browser Browser App App App Banco Wednesday, January 27, 2010
  157. Browser Browser Browser Browser App App App Banco Wednesday, January 27, 2010
  158. Browser Browser Browser Browser App App App ? Banco Wednesday, January 27, 2010
  159. Browser Browser Browser Banco Wednesday, January 27, 2010
  160. Browser Browser Browser conexões/eventos Banco Wednesday, January 27, 2010
  161. Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  162. Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  163. Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  164. Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  165. Browser Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  166. Browser Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  167. Browser Browser Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  168. Browser Browser Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  169. Browser Browser Browser Browser Browser conexões/eventos processamento/eventos Banco Wednesday, January 27, 2010
  170. Wednesday, January 27, 2010
  171. Wednesday, January 27, 2010
  172. Aprendendo Mais Wednesday, January 27, 2010
  173. RAILS LABS Wednesday, January 27, 2010
  174. Wednesday, January 27, 2010
  175. RAILSCASTS.com Wednesday, January 27, 2010
  176. Wednesday, January 27, 2010
  177. Wednesday, January 27, 2010
  178. Entenda os browsers Entenda HTTP Arquiteturas Mundo Assíncrono Mundo não Relacional Wednesday, January 27, 2010
  179. Entenda os browsers Entenda HTTP Arquiteturas Mundo Assíncrono Mundo não Relacional Wednesday, January 27, 2010
  180. Entenda os browsers Entenda HTTP Arquiteturas Mundo Assíncrono Mundo não Relacional Wednesday, January 27, 2010
  181. Entenda os browsers Entenda HTTP Arquiteturas Mundo Assíncrono Mundo não Relacional Wednesday, January 27, 2010
  182. Entenda os browsers Entenda HTTP Arquiteturas Mundo Assíncrono Mundo não Relacional Wednesday, January 27, 2010
  183. Wednesday, January 27, 2010
  184. Thx! www.slideshare.net/akitaonrails www.akitaonrails.com/ les/entendendo-a-web-movies.zip fabio.akita@locaweb.com.br Wednesday, January 27, 2010

×