Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rails Development That Doesn't Hurt

5,714 views

Published on

Slides for @a_matsuda's talk "たのしいRails" at RubyKaigi2011 http://rubykaigi.org/2011/ja/schedule/details/17M03

Published in: Technology, Education

Rails Development That Doesn't Hurt

  1. 1. Rails@a_matsuda
  2. 2. ✴Intro✴Rails Development✴Social Coding✴10 Pro Tips
  3. 3. self.inspect✴name: Akira Matsuda✴Twitter: @a_matsuda✴GitHub: amatsuda
  4. 4. A Rails programmer
  5. 5. Rails3 Recipe Book
  6. 6. OMG Timetable
  7. 7. Seattle.rb
  8. 8. RubyGems
  9. 9. “Writing Friendly Libraries” !!!
  10. 10. RubyKaigi Eric Hodel
  11. 11. ✴ Intro✴Rails Development✴ Social Coding✴ 10 Pro Tips
  12. 12. Who does RailsDevelopment?
  13. 13. Rails development
  14. 14. Rails app development✴Ride on someone else’s “rails”
  15. 15. Rails app development I’m not gonna talk about that Railsdevelopment today
  16. 16. Rails app development
  17. 17. Developing “rails”✴“rails” for yourself✴“rails” for everyone
  18. 18. Developing “rails”✴Developing Rails plugins✴Developing Rails
  19. 19. Rails Development✴There are 3 types of Rails development✴One (that you do everyday) is not so fun✴Other two are fun
  20. 20. ✴ Intro✴ Rails Development✴Social Coding✴ 10 Pro Tips
  21. 21. To develop “rails”Is to write a software not just for you
  22. 22. To write a software not just for you✴You need to Communicate✴That’s called “Social Coding”
  23. 23. Social CodingTo code is not just to speak to your computer, but tocommunicate with the people behind it
  24. 24. Social Coding
  25. 25. Get yourself involved in Social Coding The way to be a member of “The Community”
  26. 26. “The Community”
  27. 27. “The Community”is not in this Island
  28. 28. Each of these are “a community”✴ Ruby✴Asakusa.rb✴Seattle.rb✴...
  29. 29. “The Community” == “The World”
  30. 30. “The community”✴A community that people communicate in Ruby code
  31. 31. Let’s get out of hereCode Ruby, and be a member of “The community”
  32. 32. ✴ Intro✴ Rails Development✴ Social Coding✴10 Pro Tips
  33. 33. Pro tip: to become a great Social Coder
  34. 34. Pro Tip #1Read Rails
  35. 35. Read `git log`every morning
  36. 36. Firstly✴% brew install hub✴% function git(){hub "$@"}✴% alias g=git
  37. 37. Firstly% g clone rails/rails
  38. 38. Every morning✴% g pull✴% g log (diff)
  39. 39. This will tell you:✴What Rails 3.2 / 4.0 will be like✴Who’s actually creating Rails
  40. 40. Who’s actually creating Rails You see, so manypeople are committing
  41. 41. You will notice:Not only the core team but WE are creating Rails!
  42. 42. This will teach you:✴How to improve a product✴How to test a software✴How to write a good comment
  43. 43. Pro Tip #2Know the people
  44. 44. Reading git log will tell you✴Who’s remarkable
  45. 45. Remarkable people✴Stalk them online✴GitHub✴Twitter✴Blog
  46. 46. BTWYou can actually meet and talk to the 3 topmost remarkable people here today
  47. 47. @tenderlove
  48. 48. @wycats
  49. 49. @carllerche
  50. 50. Pro Tip #3Imitate good commits
  51. 51. A good commit✴Atomic✴With tests✴With a short commit comment telling • What • Why
  52. 52. Do it in *your* project✴in English, of course
  53. 53. Pro Tip #4English
  54. 54. Why are you scared?✴We had been learning English for 6 years✴We’re speaking Ruby everyday✴There are only 26 letters
  55. 55. ✴Know these 26 letters✴Aware of the accents
  56. 56. Watch Railscasts
  57. 57. Pro Tip #5Live on the edge
  58. 58. edge is fun✴As you’re reading edge every day,✴Can’t wait to try these great new features until stable release
  59. 59. Just bundle it✴gem rails, :path => ~/src/rails
  60. 60. Yes, Bundler! <3 <3 <3
  61. 61. Pro Tip #6Contribute to the documentation
  62. 62. docrails% git clone lifo/docrails
  63. 63. docrailsA special Rails fork just for contributingdocumentations via GH
  64. 64. Rules✴Anyone can commit✴No code. Documentations only (guides / code comments)✴Commit to master branch directly
  65. 65. Let’s start with a minimal contribution
  66. 66. For example, “s/a/an/g”https://github.com/rails/rails/commit/90887cb
  67. 67. Anyone can do this ifhe/she knows how to use grep & sed
  68. 68. Pro Tip #7 Share yourmonkey patches
  69. 69. Push it to the upstream
  70. 70. That’s the absolute way to make the world happier.
  71. 71. ✴local monkey patch => makes only your app better✴push your patch => makes the whole world better
  72. 72. Lonely Monkey Patches Rails
  73. 73. Social Monkeys Rails
  74. 74. Stop writing“how to workaround” on your rubbishy H tena blog
  75. 75. Push the patch instead
  76. 76. Please.
  77. 77. fork Rails, push, and send a pull request
  78. 78. Pro Tip #8Start from a gem
  79. 79. not only using edge Rails, use edge Gem
  80. 80. % gem up% bundle update for your health
  81. 81. % gem i [any gem] --preis also a good challenge
  82. 82. add a feature x a bugrequest for a feature
  83. 83. Gems I wrote patches for https://github.com/ amatsuda
  84. 84. Pro Tip #9Write a good README
  85. 85. Kaminari
  86. 86. Pro Tip #10Attend RailsConf
  87. 87. RailsConf✴Everyone you see in the `git log` is there✴Meet your Rails heroes✴For a Rails otaku, RailsConf would be far more exciting than RubyConf
  88. 88. One more thing
  89. 89. Pro Tip #11Write a book
  90. 90. You will nd tons of bugs, typos and incompatibilities
  91. 91. So you can x them that’s called
  92. 92. BDD Book DrivenDevelopment
  93. 93. B-D-D!No, I’m not talking about “VDD”...
  94. 94. SummaryCode Ruby socially andget yourself involved in “the community”
  95. 95. Conclusion“The community” awaits YOU!
  96. 96. Thank you!

×