×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ruby�考古学� �消された機能編 Archaeology�of�Ruby:� �Removed�Features Kazuhiro�NISHIYAMA RubyKaigi2014 2014/09/19
Slide 2
Slide 2 text
Self�introduction one�of�Ruby�Committers Mr.�fix�typo�(by�Chikanaga) I�use�Ruby�since�1.4
Slide 3
Slide 3 text
Agenda リリースに⼊った後、消された 機能� Some�features�removed�after�release 開発版のみに⼊っていた機能� Some�features�only�in�development�branch
Slide 4
Slide 4 text
Safe�Level ��������is�obsolete�since� 2.1.0 不完全な�Sand�Box Safe�Level�自体の削除の話も何 度かあった
Slide 5
Slide 5 text
Safe�level Feature�#8468�Remove� $SAFE Matz�agreed�at�GitHub�Tokyo� drinkup�(on�2013) tDiary,�which�is�the�only� application�using�$SAFE�==�4,� also�agreed ����������is�a�fail-safe�feature�to� detect�bugs�of�applications
Slide 6
Slide 6 text
Safe�Level ��������is�obsolete�since� 2.1.0 raise�ArgumentError ��������since�1.9.1 ��������is�deprecated�since� 2.1.0 its�behavior�is�same�as�taint
Slide 7
Slide 7 text
����from����������� security�reason same�as������does�not� contain����since�1.9.2 use������������������instead
Slide 8
Slide 8 text
������ from��������to�Encoding� (m17n) �������#=>�nil�#�warning:� variable�$KCODE�is�no� longer�effective ��������#�warning:�variable� $KCODE�is�no�longer� effective;�ignored
Slide 9
Slide 9 text
Regexp�options Regexp�literal�options� (remains)�:������������ ������������������������������������� ����������������������������������� ���������������������������������������� ����������������������������������
Slide 10
Slide 10 text
���(ignore�case) ��������� ruby�1.8.7:�warning:� modifying�$=�is�deprecated ruby�1.9.3:�warning:�variable� $=�is�no�longer�effective;� ignored
Slide 11
Slide 11 text
������� between�1.6.7�and�1.8.0 ���������→�������� ���������→�������� ���������→�������������� ���������→������������� ���������→��������������
Slide 12
Slide 12 text
�������� until�1.8 �������� �������� ��� :�をつけられる隠し機能の削除
Slide 13
Slide 13 text
������������ �������������(recommend) �������������(deprecated) Ruby�本体のメソッド名は出来るだ け三単現のsを付けない ��������������������� ��������������������������������������� �������������������������������
Slide 14
Slide 14 text
Agenda リリースに⼊った後、消された 機能� Some�features�removed�after�release 開発版のみに⼊っていた機能 Some�features�only�in�development�branch
Slide 15
Slide 15 text
Symbol�<�String�in� 2006�(1.9.0-dev) Symbol�が�String�を継承してい た時期があった Symbol�<�Stringも⽌める。 caseとかでのバグをたくさん⽣ んでしまう http://www.rubyist.net/~matz/20061107.html#p03
Slide 16
Slide 16 text
Symbol�<�String�(cont.) ����������� ���������� ������������������������������������������������� ����������������������������� ����������� ���������������� ����������������������������� 継承は⽌めても�String�に似た扱 いは⼊った。
Slide 17
Slide 17 text
������ between�1.8�and�1.9 ���������cannot�call�private� methods ������,�������� ������������since�1.9.1 private�メソッド呼び出し用途が多 く影響範囲が広いため元の挙動に
Slide 18
Slide 18 text
Real�multi-value� (to̲splat) 1.9.x ���������(!=�������)�(!=�����) svalue,�avalue,�mvalue e.g.��������������
Slide 19
Slide 19 text
Symbol.find�in�2.2.0-dev Symbol.find(str)� �->�symbol�or�nil Return�the�related�symbol�if�the� symbol�already�exists. Return�nil�if�not. revision�47543 Removed�because�of�Symbol�GC If�you�still�want�this,�request� again�on�Redmine.
Slide 20
Slide 20 text
statfs�in�2.2.0-dev ����������and������������� https://bugs.ruby-lang.org/ issues/9772 ��������������for�tests Reject�at� DevelopersMeeting20140517 Japan 「Matz:�⾊々込み⼊ってるので�core�には⼊れないで�test�配下 へ.�欲しいということがあったら�gem�にしてください.」
Slide 21
Slide 21 text
Conclusion Some�features�only�in� development�branch Some�features�cannot� introduce�because�of� compatibility