Web Expo Forum

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites

    Web Expo Forum - Presentation Transcript

    1. Ruby on Rails Wednesday, March 18, 2009
    2. AkitaOnRails.com www.slideshare.net/akitaonrails Wednesday, March 18, 2009
    3. Wednesday, March 18, 2009
    4. Wednesday, March 18, 2009
    5. 1 Wednesday, March 18, 2009
    6. Joel Spolsky Wednesday, March 18, 2009
    7. Wednesday, March 18, 2009
    8. “Without understanding functional programming, you can't invent MapReduce, the algorithm that makes Google so massively scalable.” “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005 http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Wednesday, March 18, 2009
    9. “The terms Map and Reduce come from Lisp and functional programming...” “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005 http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Wednesday, March 18, 2009
    10. “The very fact that Google invented MapReduce, and Microsoft didn't, says something about why Microsoft is still playing catch up.” “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005 http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html Wednesday, March 18, 2009
    11. Codificadores x Desenvolvedores Wednesday, March 18, 2009
    12. Qual foi o concurso? Qual foi o prêmio? Wednesday, March 18, 2009
    13. Wednesday, March 18, 2009
    14. Wednesday, March 18, 2009
    15. Wednesday, March 18, 2009
    16. Wednesday, March 18, 2009
    17. Wednesday, March 18, 2009
    18. Martin Fowler Wednesday, March 18, 2009
    19. Agile Wednesday, March 18, 2009
    20. AGILIDADE Wednesday, March 18, 2009
    21. Wednesday, March 18, 2009
    22. Estamos “descobrindo” maneiras melhores de desenvolver software na prática e ajudando outros a desenvolver. Wednesday, March 18, 2009
    23. Wednesday, March 18, 2009
    24. Big Design Up Front “Waterfall” (Cascata) Escopo Fechado “Change Requests” Wednesday, March 18, 2009
    25. Big Design Up Front “Waterfall” (Cascata) Escopo Fechado “Change Requests” Wednesday, March 18, 2009
    26. Big Design Up Front “Waterfall” (Cascata) Escopo Fechado “Change Requests” Wednesday, March 18, 2009
    27. Big Design Up Front “Waterfall” (Cascata) Escopo Fechado “Change Requests” Wednesday, March 18, 2009
    28. Wednesday, March 18, 2009
    29. Ceticismo Wednesday, March 18, 2009
    30. Wednesday, March 18, 2009
    31. Winston W. Royce - 1970 Wednesday, March 18, 2009
    32. “Eu acredito neste conceito mas a implementação descrita acima é arriscada e convida falhas.” Winston W. Royce - 1970 Wednesday, March 18, 2009
    33. “Eu acredito neste conceito mas a implementação descrita acima é arriscada e convida falhas.” Winston W. Royce - 1970 Wednesday, March 18, 2009
    34. “Eu acredito neste conceito mas a implementação descrita acima é arriscada e convida falhas.” Winston W. Royce - 1970 Wednesday, March 18, 2009
    35. “Cargo Cult” Wednesday, March 18, 2009
    36. Wednesday, March 18, 2009
    37. Wednesday, March 18, 2009
    38. “SOFT”WARE Wednesday, March 18, 2009
    39. Wednesday, March 18, 2009
    40. Wednesday, March 18, 2009
    41. 1 Wednesday, March 18, 2009
    42. 2 Wednesday, March 18, 2009
    43. “Matz” 1993 Wednesday, March 18, 2009
    44. “Prag Dave” 2001 Wednesday, March 18, 2009
    45. “DHH” 2004 Wednesday, March 18, 2009
    46. Wednesday, March 18, 2009
    47. Wednesday, March 18, 2009
    48. “Tornar as coisas simples fáceis e as coisas complexas possíveis” Filosofia Ruby Wednesday, March 18, 2009
    49. Wednesday, March 18, 2009
    50. Ruby on Rails Wednesday, March 18, 2009
    51. RUBY Wednesday, March 18, 2009
    52. ActiveSupport Rails RUBY Wednesday, March 18, 2009
    53. ActionController ActionPack ActionView ActiveSupport Rails RUBY Wednesday, March 18, 2009
    54. ActiveRecord ActionController ActionPack ActionView ActiveSupport Rails RUBY Wednesday, March 18, 2009
    55. ActionMailer ActiveRecord ActionController ActionPack ActionView ActiveSupport Rails RUBY Wednesday, March 18, 2009
    56. ActiveResource ActionWebService ActionMailer ActiveRecord ActionController ActionPack ActionView ActiveSupport Rails RUBY Wednesday, March 18, 2009
    57. Wednesday, March 18, 2009
    58. Wednesday, March 18, 2009
    59. Wednesday, March 18, 2009
    60. Wednesday, March 18, 2009
    61. Wednesday, March 18, 2009
    62. Wednesday, March 18, 2009
    63. Wednesday, March 18, 2009
    64. Wednesday, March 18, 2009
    65. Wednesday, March 18, 2009
    66. RSpec describe Product do include ProductSpecHelper before(:each) do @product = Product.new end it \"should not be valid when empty\" do @product.should_not be_valid end it \"should be valid when having correct information\" do @product.attributes = valid_product_attributes @product.should be_valid end end Wednesday, March 18, 2009
    67. RSpec describe Product do include ProductSpecHelper before(:each) do @product = Product.new end it \"should not be valid when empty\" do @product.should_not be_valid spec rake end it \"should be valid when having correct information\" do @product.attributes = valid_product_attributes @product.should be_valid end end Wednesday, March 18, 2009
    68. Model class Product < ActiveRecord::Base after_create :set_initial_inventory has_many :variants, :dependent => :destroy has_many :images, :as => :viewable, :order => :position, :dependent => :destroy has_many :properties, :through => :product_properties belongs_to :tax_category validates_presence_of :name validates_presence_of :master_price validates_presence_of :description make_permalink :with => :name, :field => :permalink end Wednesday, March 18, 2009
    69. Model class Product < ActiveRecord::Base after_create :set_initial_inventory has_many :variants, :dependent => :destroy has_many :images, :as => :viewable, :order => :position, :dependent => :destroy has_many :properties, :through => :product_properties Product.find(1) belongs_to :tax_category validates_presence_of :name validates_presence_of :master_price validates_presence_of :description make_permalink :with => :name, :field => :permalink end Wednesday, March 18, 2009
    70. Controller class UsersController < Spree::BaseController resource_controller before_filter :initialize_extension_partials actions :all, :except => [:index, :destroy] show.before do @orders = Order.checkout_completed(true) .find_all_by_user_id(current_user.id) end create.after { self.current_user = @user } create.response do |wants| wants.html { redirect_back_or_default(products_path) } end end Wednesday, March 18, 2009
    71. Controller class UsersController < Spree::BaseController resource_controller before_filter :initialize_extension_partials actions :all, :except => [:index, :destroy] show.before do @orders = Order.checkout_completed(true) /users/1 .find_all_by_user_id(current_user.id) end create.after { self.current_user = @user } create.response do |wants| wants.html { redirect_back_or_default(products_path) } end end Wednesday, March 18, 2009
    72. Views ERB <div id=\"product-listing\"> <%= breadcrumbs(@taxon) %> <br/> <%= render :partial => \"shared/products.html.erb\", :locals => {:products => @products, :taxon => @taxon } %> </div> <% content_for :sidebar do %> <td id=\"shop-by-col\" valign=\"top\"> <%= render :partial => \"shared/taxonomies\" %> </td> <% end %> <%= render :partial => 'shared/paginate', :locals => {:collection => @products, :options => {}} unless @products.empty? %> Wednesday, March 18, 2009
    73. Views HAML #product-listing =breadcrumbs(@taxon) %br =render :partial => \"shared/products.html.erb\", :locals => {:products => @products, :taxon => @taxon} -content_for :sidebar do %td#shop-by-col(:valign => \"top\") =render :partial => \"shared/taxonomies\" =render :partial => 'shared/paginate', :locals => {:collection => @products, :options => {}} unless @products.empty? Wednesday, March 18, 2009
    74. Rotas RESTFul ActionController::Routing::Routes.draw do |map| map.connect ':controller/service.wsdl', :action => 'wsdl' map.resources :products, :member => {:change_image => :post} map.resources :addresses map.resources :orders, :has_many => [:line_items] map.namespace :admin do |admin| admin.resources :users admin.resources :products end end Wednesday, March 18, 2009
    75. Rotas RESTFul GET /products/new ActionController::Routing::Routes.draw do |map| map.connect ':controller/service.wsdl', :action => 'wsdl' GET /products map.resources :products, POST /products :member => {:change_image => :post} GET /products/1 map.resources :addresses map.resources :orders, :has_many => GET /products/1/edit [:line_items] PUT /products/1 map.namespace :admin do |admin| admin.resources :users DESTROY /products/1 admin.resources :products end end Wednesday, March 18, 2009
    76. Migrations class RenameAppConfiguration < ActiveRecord::Migration def self.up rename_table :app_configurations, :configurations change_table :configurations do |t| t.string :type end end def self.down change_table :configurations do |t| t.remove :type end rename_table :configurations, :app_configurations end end Wednesday, March 18, 2009
    77. Migrations class RenameAppConfiguration < ActiveRecord::Migration def self.up rename_table :app_configurations, :configurations change_table :configurations do |t| t.string :type rake db:migrate end end def self.down change_table :configurations do |t| t.remove :type end rename_table :configurations, :app_configurations end end Wednesday, March 18, 2009
    78. “Beautiful Code” Wednesday, March 18, 2009
    79. Wednesday, March 18, 2009
    80. Wednesday, March 18, 2009
    81. Wednesday, March 18, 2009
    82. 11 mil classes! 46 só de Collections! Wednesday, March 18, 2009
    83. • Classes: • Modules: • Array • Enumerable • Hash • Comparable • Set • Sorted Set Wednesday, March 18, 2009
    84. 1.400 Classes: • classesArray • Modules: • • Enumerable • Hash • Comparable 6 deSet só • Collections! Set • Sorted Wednesday, March 18, 2009
    85. • Convention over Configuration • Don’t Repeat Yourself • You Ain’t Gonna Need It • Boas Práticas • Escalabilidade • Segurança • Automação Wednesday, March 18, 2009
    86. 2 Wednesday, March 18, 2009
    87. 3 Wednesday, March 18, 2009
    88. Mitos Wednesday, March 18, 2009
    89. Rails não Escala Wednesday, March 18, 2009
    90. Wednesday, March 18, 2009
    91. To put things into perspective, though, Friendster was written in Java to start, and switched to PHP. Myspace was written in ColdFusion and transitioned to ASP.NET. When people run into problems scaling sites they often think that the language is the problem, but I think it’s rarely the case. Blaine Cook http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter Wednesday, March 18, 2009
    92. “The New York Times used Ruby on Rails to pull together, analyze and display election results in near real time on one of its busiest Web traffic days ever. ” http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1 Wednesday, March 18, 2009
    93. “They serve up 23 million visitors a month. The conversion resulted in 20,000 lines of Ruby code instead of 125,000 lines of Java code, and most importantly eased the difficulty they had in maintaining it. Once complete, and optimized their site is now faster than before. They also completed the rewrite in three months with four developers.” http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails Wednesday, March 18, 2009
    94. Wednesday, March 18, 2009
    95. Wednesday, March 18, 2009
    96. Mitos Wednesday, March 18, 2009
    97. Deployment de Rails é difícil Wednesday, March 18, 2009
    98. Wednesday, March 18, 2009
    99. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    100. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    101. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    102. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    103. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    104. Apache + FastCGI LightTPD + FastCGI Litespeed + SAPI Apache + Mongrel Nginx + Mongrel Nginx + Thin Wednesday, March 18, 2009
    105. Wednesday, March 18, 2009
    106. gem install passenger passenger-install-apache2-module Wednesday, March 18, 2009
    107. Wednesday, March 18, 2009
    108. Wednesday, March 18, 2009
    109. Mitos Wednesday, March 18, 2009
    110. Rails é mal documentado Wednesday, March 18, 2009
    111. Geoffrey Wednesday, March 18, 2009
    112. Jason e Gregg Wednesday, March 18, 2009
    113. Pratik Naik Wednesday, March 18, 2009
    114. Satish Talim Wednesday, March 18, 2009
    115. Peter Cooper Wednesday, March 18, 2009
    116. _why Wednesday, March 18, 2009
    117. Ryan Bates Wednesday, March 18, 2009
    118. Wednesday, March 18, 2009
    119. Wednesday, March 18, 2009
    120. 3 Wednesday, March 18, 2009
    121. 4 Wednesday, March 18, 2009
    122. Open Source Wednesday, March 18, 2009
    123. Chris Wanstrath Wednesday, March 18, 2009
    124. Wednesday, March 18, 2009
    125. Wednesday, March 18, 2009
    126. Wednesday, March 18, 2009
    127. Wednesday, March 18, 2009
    128. Conferências Wednesday, March 18, 2009
    129. Wednesday, March 18, 2009
    130. Wednesday, March 18, 2009
    131. Wednesday, March 18, 2009
    132. Wednesday, March 18, 2009
    133. Wednesday, March 18, 2009
    134. Wednesday, March 18, 2009
    135. 4 Wednesday, March 18, 2009
    136. One more thing ... Wednesday, March 18, 2009
    137. Wednesday, March 18, 2009
    138. “Especialista de uma coisa só é um amador em todo o resto.” Wednesday, March 18, 2009
    139. Obrigado! www.akitaonrails.com Wednesday, March 18, 2009

    + Fabio AkitaFabio Akita, 7 months ago

    custom

    806 views, 3 favs, 0 embeds more stats

    Palestra introdutória de Rails e de filosofia de d more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 806
      • 806 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 23
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories