20140918 ruby kaigi2014

52
The Twelve-factor Ruby Hiroshi SHIBATA @hsbt RubyKaigi 2014

Transcript of 20140918 ruby kaigi2014

Page 1: 20140918 ruby kaigi2014

The Twelve-factor Ruby

Hiroshi SHIBATA @hsbt

RubyKaigi 2014

Page 2: 20140918 ruby kaigi2014

SHIBATA Hiroshi @hsbt

Page 3: 20140918 ruby kaigi2014

Ruby committerremoved test-unit removed minitest make bundled gem mechanism coordinate to Ruby committers negotiate to sponsers make development environment

Page 4: 20140918 ruby kaigi2014
Page 5: 20140918 ruby kaigi2014
Page 6: 20140918 ruby kaigi2014
Page 7: 20140918 ruby kaigi2014

ミドルウェアのアップグレード

社内開発基盤の構築

統計基盤の構築JSOXの運用整備

github

セキュリティ監査コードレビューテスト基盤の構築

アクセス解析基盤の構築

開発プロセス

新人教育原稿執筆

カンファレンス発表

OSS開発 サーバー構成管理の刷新

リーンスタートアップ

Jenkins

Ruby/Rails

RDBMS

技術基盤チーム

Page 8: 20140918 ruby kaigi2014

commit bit collector

ruby rubygems rake rdoc psych syck ruby-build

railsgirls railsgirls-jp kaminari tdiary hiki jenkins fastladder

Page 9: 20140918 ruby kaigi2014

文字

Page 10: 20140918 ruby kaigi2014

文字エンジニア募集中

http://pepabo.com/recruit/career/

Page 11: 20140918 ruby kaigi2014

How to develop Ruby?

Page 12: 20140918 ruby kaigi2014

Ruby core policy Language core features including security

Yukihiro Matsumoto (matz)

Evaluator Koichi Sasada (ko1)

Core classes Yukihiro Matsumoto (matz)

Page 13: 20140918 ruby kaigi2014

Ruby core policy Standard Libraries

maintainers

Bundled Libraries Hiroshi SHIBATA(hsbt)

Documentation Zachary Scott(zzak)

Page 14: 20140918 ruby kaigi2014

We need to more fuel

Page 15: 20140918 ruby kaigi2014

How to create good

fuel?

Page 16: 20140918 ruby kaigi2014

Reporting line

Page 17: 20140918 ruby kaigi2014

no tweet/blog

Page 18: 20140918 ruby kaigi2014

redmine

Page 19: 20140918 ruby kaigi2014

github is ok

Page 20: 20140918 ruby kaigi2014

some core developer don’t use

github.com/ruby/ruby

Page 21: 20140918 ruby kaigi2014

Matz is only available on redmine

Page 22: 20140918 ruby kaigi2014

3. good bikeshed

1. approved later2. related issues

your benefit

Page 23: 20140918 ruby kaigi2014

usecase

Page 24: 20140918 ruby kaigi2014

人人人人人人人人 > < > It should be < > ○○’s < > behaivor < > < Y^Y^Y^Y^Y^Y

Page 25: 20140918 ruby kaigi2014

3. [BUG] [SEGV]

Acceptable issue without usecase

2. POSIX1. symmetrical.

Page 26: 20140918 ruby kaigi2014

require 'active_support/all'

# "{\"foo\":\"0/1\"}"p ({foo: Rational(1/2)}).to_json

require 'oj'require 'oj_mimic_json'

# stack level too deep (SystemStackError)p ({foo: Rational(1/2)}).to_json

code

Page 27: 20140918 ruby kaigi2014

人人人人人人人人 > < > I propose < > awesome < > function < > < Y^Y^Y^Y^Y^Y

Page 28: 20140918 ruby kaigi2014

#9063

Page 29: 20140918 ruby kaigi2014

$ git format-patch sha1 [dir]

Page 30: 20140918 ruby kaigi2014

Naming

Page 31: 20140918 ruby kaigi2014

#9826

Page 32: 20140918 ruby kaigi2014

Avoid to

Red Ocean

Page 33: 20140918 ruby kaigi2014

3. documentation

Blue Ocean

2. Rails with trunk1. Win/AIX/Solaris.

Page 34: 20140918 ruby kaigi2014

language

Page 35: 20140918 ruby kaigi2014

日本語 is ok English is better

Page 36: 20140918 ruby kaigi2014

describe RubyKaigi do before do @ruby = Ruby.new end it { expect(@ruby).to be MyRuby.new }end

expectation

Page 37: 20140918 ruby kaigi2014

Good bugreport

Page 38: 20140918 ruby kaigi2014

minimum case

#9949

Page 39: 20140918 ruby kaigi2014
Page 40: 20140918 ruby kaigi2014
Page 41: 20140918 ruby kaigi2014

% ruby -vruby 2.2.0dev (2014-09-12 trunk 46207) [x86_64-darwin13]

try trunk

Page 42: 20140918 ruby kaigi2014

trunk

ruby_2_1

ruby_2_0_0

Page 43: 20140918 ruby kaigi2014

trunk

ruby_2_1

ruby_2_0_0

Page 44: 20140918 ruby kaigi2014

trunk

ruby_2_1

ruby_2_0_0

Page 45: 20140918 ruby kaigi2014

Try different version of ruby

Page 46: 20140918 ruby kaigi2014

Do not urgent

Page 47: 20140918 ruby kaigi2014

should be good report

Page 48: 20140918 ruby kaigi2014

Dev MTG

Page 49: 20140918 ruby kaigi2014

3. Release Planning

Agenda

2. Issue Triage1. Matz Judge

Page 50: 20140918 ruby kaigi2014

2.2.0 Release plan

Sep.18: preview1 Nov: preview2 Dec: rc1 Dec.25: 2.2.0

2.2.0 Release plan

Page 51: 20140918 ruby kaigi2014

Matz approval

Page 52: 20140918 ruby kaigi2014

Do submit!