CRUDing Open Source - WhyDay - 19aug2010

2,161
-1

Published on

Palestra realizada por José Valim (@josevalim) no evento Why Day organizado pelo GURU-SP, em 19 de Agosto de 2010 na cidade de São Paulo.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,161
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

























































  • CRUDing Open Source - WhyDay - 19aug2010

    1. 1. CRUDING OPEN SOURCE @josevalim - blog.plataformatec.com.br
    2. 2. Desenvolvedor Ruby há 3,5 anos
    3. 3. Autor de diversos projetos Open Source
    4. 4. READ
    5. 5. CREATE
    6. 6. Eu sou preguiçoso
    7. 7. Preguiça é uma virtude
    8. 8. PROVA #1
    9. 9. Eu trabalho na PlataformaTec
    10. 10. Eu desenvolvo aplicações em Rails
    11. 11. # app/models/comment.rb class Comment < ActiveRecord::Base belongs_to :post end
    12. 12. #1 rails g scaffold comment post:references
    13. 13. #2 Mudar o modelo
    14. 14. #3 Mudar o controller
    15. 15. #4 Mudar as views
    16. 16. Vamos consertar o passo #3 “Mudar o controller”
    17. 17. INHERITED RESOURCES
    18. 18. # app/controllers/comments_controller.rb class CommentsController < InheritedResources::Base belongs_to :post end
    19. 19. É o fim do copy and paste!
    20. 20. PROVA #2
    21. 21. Aplicações tem formulários de contato
    22. 22. Fácil
    23. 23. ...porém entediante!
    24. 24. #1 Criar um “fake” model
    25. 25. #2 Criar um mailer
    26. 26. #3 Criar a view para o mailer
    27. 27. E se tudo isso fosse apenas um passo?
    28. 28. MAIL FORM
    29. 29. class ContactForm < MailForm append :request_ip, :user_agent attribute :name, :validate => true attribute :email, :validate => /[^@]+@[^.]+.[w.-]+/ attribute :file, :attachment => true attribute :message def headers { :subject => "My Contact Form", :from => "your.email@your.domain.com" } end end
    30. 30. Preguiça #win
    31. 31. UPDATE
    32. 32. Eu sou preguiçoso
    33. 33. Promoção => Contribuição
    34. 34. TDD
    35. 35. Pense primeiro na API, depois no código!
    36. 36. Excelente API == Excelente Propaganda
    37. 37. FORMTASTIC
    38. 38. Não sejam tímidos
    39. 39. Enviem e-mails para Ruby 5, RailsEnvy, Rafael Rosa, Fabio Akita...
    40. 40. Usuários & Contribuidores
    41. 41. Usuários & Contribuidores
    42. 42. acts_as_dhh class JoseValim < Person acts_as_dhh end
    43. 43. Bug reporter: O README está errado Eu: Por favor, envie um patch!
    44. 44. Bug reporter: Algo está errado! Eu: Please do investigate
    45. 45. Cordas
    46. 46. Isso parece uma boa idéia, mas ainda está errado
    47. 47. “Anybody can say yes, someone needs to say no” Linus Torvalds
    48. 48. Envolva os seus colegas de trabalho
    49. 49. DEVISE
    50. 50. DELETE
    51. 51. Deleguem!
    52. 52. RAILS-FOOTNOTES
    53. 53. “when you don’t create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create.” _why
    54. 54. Thanks! @plataformatec blog.plataformatec.com.br
    55. 55. http://edgeguides.rubyonrails.org/

    ×