貢獻開源專案 (contribute to open source project)

19
CONTRIBUTE TO OPEN SOURCE SOFTWARE

Upload: lo-stan

Post on 12-Apr-2017

41 views

Category:

Software


1 download

TRANSCRIPT

Page 1: 貢獻開源專案 (Contribute to open source project)

CONTRIBUTE TO OPEN SOURCE SOFTWARE

Page 2: 貢獻開源專案 (Contribute to open source project)

WHOAMI

• Stan

• @st0012

• Polydice (iCook)

Page 3: 貢獻開源專案 (Contribute to open source project)

• Rails

• Formtastic

• html-pipeline

• Carrierwave

• database_cleaner

Page 4: 貢獻開源專案 (Contribute to open source project)
Page 5: 貢獻開源專案 (Contribute to open source project)

WHY?

• GitHub

Page 6: 貢獻開源專案 (Contribute to open source project)

WHAT CAN I CONTRIBUTE?•

• Bug

• Performance Improvement

• Issue/PR

Page 7: 貢獻開源專案 (Contribute to open source project)

CONTRIBUTION PROCESS•

• or

• Fork

• Fork Branch

• pull request

• [WIP] for “Work in Progress”

Page 8: 貢獻開源專案 (Contribute to open source project)

• Ruby Rails

• RubyGem

• Debugging tool

• design patterns

Page 9: 貢獻開源專案 (Contribute to open source project)

RUBYGEM

• http://guides.rubygems.org/make-your-own-gem/

• http://guides.rubygems.org/patterns/

Page 10: 貢獻開源專案 (Contribute to open source project)

• PR merge

• RubyGem

• RSpec

• Minitest

Page 11: 貢獻開源專案 (Contribute to open source project)

DEBUGGING TOOL

• Pry

• Byebug

Page 12: 貢獻開源專案 (Contribute to open source project)

DESIGN PATTERN

• Singleton

• Dependency Injection

• https://github.com/piscolomo/ruby-patterns

Page 13: 貢獻開源專案 (Contribute to open source project)

&

• debugging tool binding

Page 14: 貢獻開源專案 (Contribute to open source project)

• Integration test

• Behavior

• Setup Dependency

Page 15: 貢獻開源專案 (Contribute to open source project)

BINDING

• Inspect

• method source

Page 16: 貢獻開源專案 (Contribute to open source project)

• Method Call

Page 17: 貢獻開源專案 (Contribute to open source project)
Page 18: 貢獻開源專案 (Contribute to open source project)

• awesome-rails-gem

• formtastic, simple_form, html-pipeline

Page 19: 貢獻開源專案 (Contribute to open source project)

KEEP IN MIND

• reject