Your SlideShare is downloading. ×
0
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
CRUDing Open Source - WhyDay - 19aug2010
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

CRUDing Open Source - WhyDay - 19aug2010

2,102

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.

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,102
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
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. CRUDING OPEN SOURCE @josevalim - blog.plataformatec.com.br
    • 2. Desenvolvedor Ruby há 3,5 anos
    • 3. Autor de diversos projetos Open Source
    • 4. READ
    • 5. CREATE
    • 6. Eu sou preguiçoso
    • 7. Preguiça é uma virtude
    • 8. PROVA #1
    • 9. Eu trabalho na PlataformaTec
    • 10. Eu desenvolvo aplicações em Rails
    • 11. # app/models/comment.rb class Comment < ActiveRecord::Base belongs_to :post end
    • 12. #1 rails g scaffold comment post:references
    • 13. #2 Mudar o modelo
    • 14. #3 Mudar o controller
    • 15. #4 Mudar as views
    • 16. Vamos consertar o passo #3 “Mudar o controller”
    • 17. INHERITED RESOURCES
    • 18. # app/controllers/comments_controller.rb class CommentsController < InheritedResources::Base belongs_to :post end
    • 19. É o fim do copy and paste!
    • 20. PROVA #2
    • 21. Aplicações tem formulários de contato
    • 22. Fácil
    • 23. ...porém entediante!
    • 24. #1 Criar um “fake” model
    • 25. #2 Criar um mailer
    • 26. #3 Criar a view para o mailer
    • 27. E se tudo isso fosse apenas um passo?
    • 28. MAIL FORM
    • 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. Preguiça #win
    • 31. UPDATE
    • 32. Eu sou preguiçoso
    • 33. Promoção => Contribuição
    • 34. TDD
    • 35. Pense primeiro na API, depois no código!
    • 36. Excelente API == Excelente Propaganda
    • 37. FORMTASTIC
    • 38. Não sejam tímidos
    • 39. Enviem e-mails para Ruby 5, RailsEnvy, Rafael Rosa, Fabio Akita...
    • 40. Usuários & Contribuidores
    • 41. Usuários & Contribuidores
    • 42. acts_as_dhh class JoseValim < Person acts_as_dhh end
    • 43. Bug reporter: O README está errado Eu: Por favor, envie um patch!
    • 44. Bug reporter: Algo está errado! Eu: Please do investigate
    • 45. Cordas
    • 46. Isso parece uma boa idéia, mas ainda está errado
    • 47. “Anybody can say yes, someone needs to say no” Linus Torvalds
    • 48. Envolva os seus colegas de trabalho
    • 49. DEVISE
    • 50. DELETE
    • 51. Deleguem!
    • 52. RAILS-FOOTNOTES
    • 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. Thanks! @plataformatec blog.plataformatec.com.br
    • 55. http://edgeguides.rubyonrails.org/

    ×