たのしいRails @a_matsuda
Nov 12, 2014
たのしいRails
@a_matsuda
✴Intro
✴Rails Development
✴Social Coding
✴10 Pro Tips
✴name: Akira Matsuda✴Twitter: @a_matsuda✴GitHub: amatsuda
self.inspect
A Rails programmer
Rails3 Recipe Book
OMG Timetable
脳博士
Seattle.rb
RubyGems
“Writing Friendly Libraries” !!!
RubyKaigiでEric Hodel
のトークを聞きに行かない人とかなんなの?
今日は、そんな皆さんにこそきいてほしい話をします。
✴ Intro
✴Rails Development✴Social Coding
✴10 Pro Tips
Who does Rails Development?
ノシ
Rails development
Rails app development
✴Ride on someone else’s “rails”
Rails app development
I’m not gonna talk about that Rails
development today
Rails app development
Developing “rails”
✴“rails” for yourself✴“rails” for everyone
Developing “rails”
✴Developing Rails plugins✴Developing Rails
✴There are 3 types of Rails development
✴One (that you do everyday) is not so fun
✴Other two are fun
Rails Development
✴ Intro
✴Rails Development
✴Social Coding✴10 Pro Tips
To develop “rails”
Is to write a software not just for you
To write a softwarenot just for you
✴You need to Communicate✴That’s called “Social Coding”
Social Coding
To code is not just to speak to your computer, but to
communicate with the people behind it
Social Coding
Get yourself involved in Social Coding
The way to be a member of
“The Community”
“The Community”
“The Community”is not in this Island
Each of these are “a community”
✴日本Rubyの会✴Asakusa.rb✴Seattle.rb✴...
“The Community”==
“The World”
“The community”
✴A community that people communicate in Ruby code
Let’s get out of here
Code Ruby, and be a member of
“The community”
✴ Intro
✴Rails Development
✴Social Coding
✴10 Pro Tips
Pro tip: to become a great Social Coder
Pro Tip #1
Read Rails
Read`git log`
every morning
Firstly
✴% brew install hub✴% function git(){hub "$@"}✴% alias g='git'
Firstly
% g clone rails/rails
Every morning
✴% g pull✴% g log (diff)
This will tell you:
✴What Rails 3.2 / 4.0 will be like✴Who’s actually creating Rails
Who’s actually creating Rails
You see, so many people are committing
You will notice:
Not only the core team but WE are creating
Rails!
This will teach you:
✴How to improve a product✴How to test a software✴How to write a good comment
Pro Tip #2
Know the people
Reading git log will tell you
✴Who’s remarkable
Remarkable people
✴Stalk them online✴GitHub✴Twitter✴Blog
BTW
You can actually meet and talk to the 3 topmost remarkable
people here today
@tenderlove
@wycats
@carllerche
Pro Tip #3
Imitate good commits
A good commit✴Atomic✴With tests✴With a short commit comment
telling• What• Why
Do it in *your* project
✴in English, of course
Pro Tip #4
English
Why are you scared?
✴We had been learning English for 6~ years
✴We’re speaking Ruby everyday✴There are only 26 letters
✴Know these 26 letters✴Aware of the accents
Watch Railscasts
Pro Tip #5
Live on the edge
edge is fun
✴As you’re reading edge every day,
✴Can’t wait to try these great new features until stable release
Just bundle it
✴gem 'rails', :path => '~/src/rails'
Yes, Bundler! <3 <3 <3
Pro Tip #6
Contribute to the documentation
docrails
% git clone lifo/docrails
docrails
A special Rails fork just for contributing
documentations via GH
Rules
✴Anyone can commit✴No code. Documentations only
(guides / code comments)✴Commit to master branch
directly
Let’s start with a minimal contribution
For example,
“s/a/an/g”https://github.com/rails/rails/commit/90887cb
Anyone can do this if he/she knows how to
use grep & sed
Pro Tip #7
Share your monkey patches
Push it to the upstream
That’s the absolute way to make the world
happier.
✴local monkey patch => makes only your app better
✴push your patch => makes the whole world better
Lonely Monkey Patches
Rails
Social Monkeys
Rails
Stop writing “how to workaround”
on your rubbishy H◯tena blog
Push the patch instead
Please.
fork Rails, push, and send a pull request
Pro Tip #8
Start from a gem
not only using edge Rails,
use edge Gem
% gem up% bundle update
for your health
% gem i [any gem] --pre
is also a good challenge
add a feature!x a bug
request for a feature
Gems I wrote patches for
https://github.com/amatsuda
Pro Tip #9
Write a good README
Kaminari
Pro Tip #10
Attend RailsConf
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
One more thing
Pro Tip #11
Write a book
You will !nd tons of bugs, typos and
incompatibilities
So you can !x them
that’s called
BDD
Book Driven
Development
B-D-D!
No, I’m not talking about “VDD”...
Summary
Code Ruby socially and get yourself involved in
“the community”
Conclusion
“The community” awaits YOU!
Thank you!