rabbit-slide-znz-rubykansai75-ruby24 2016.11.05

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9584c45409b197c1ed79da4518f5cc9f4aea7817
4
+ data.tar.gz: b0f17bae54b7e8ff376bb791cf430d3e231e726d
5
+ SHA512:
6
+ metadata.gz: 492ed9838642ce8d67a45428006fb87e6ed4a251547d5e55306d2612264de2e9ac87a928d24a85e056d5531d52dad38b55608367753dcfda12c6bd6a2c483967
7
+ data.tar.gz: 9daa71905dedd2d7d9748a9da5179e0e4bf782ac983f6c46a13e2a73ca3e1b74824a1b122b607287c1da94d8df71b488ae734e441e9593aa6db950ea7c688f1f
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ ruby_2_4.md
@@ -0,0 +1,25 @@
1
+ # Ruby 2.4.0 の主な非互換
2
+
3
+ Ruby 2.4.0 の主な非互換についての概要を話します。
4
+ 詳細については RubyKaigi 2016 の発表を参照してもらうようにしています。
5
+
6
+ ## 作者向け
7
+
8
+ ### 表示
9
+
10
+ rake
11
+
12
+ ### 公開
13
+
14
+ rake publish
15
+
16
+ ## 閲覧者向け
17
+
18
+ ### インストール
19
+
20
+ gem install rabbit-slide-znz-rubykansai75-ruby24
21
+
22
+ ### 表示
23
+
24
+ rabbit rabbit-slide-znz-rubykansai75-ruby24.gem
25
+
@@ -0,0 +1,17 @@
1
+ require "rabbit/task/slide"
2
+
3
+ # Edit ./config.yaml to customize meta data
4
+
5
+ spec = nil
6
+ Rabbit::Task::Slide.new do |task|
7
+ spec = task.spec
8
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("YOUR THEME")
11
+ end
12
+
13
+ desc "Tag #{spec.version}"
14
+ task :tag do
15
+ sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
16
+ sh("git", "push", "--tags")
17
+ end
@@ -0,0 +1,20 @@
1
+ ---
2
+ id: rubykansai75-ruby24
3
+ base_name: ruby_2_4
4
+ tags:
5
+ - ruby
6
+ presentation_date: '2016-11-05'
7
+ version: 2016.11.05
8
+ licenses: []
9
+ slideshare_id: rubykansai75-ruby24
10
+ speaker_deck_id: ruby-2-dot-4-0-falsezhu-nafei-hu-huan
11
+ ustream_id:
12
+ vimeo_id:
13
+ youtube_id:
14
+ author:
15
+ markup_language: :markdown
16
+ name: Kazuhiro NISHIYAMA
17
+ email: zn@mbf.nifty.com
18
+ rubygems_user: znz
19
+ slideshare_user: znzjp
20
+ speaker_deck_user: znz
@@ -0,0 +1,158 @@
1
+ # Ruby 2.4.0 の主な非互換
2
+
3
+ author
4
+ : Kazuhiro NISHIYAMA
5
+
6
+ date
7
+ : 2016-11-05
8
+
9
+ allotted-time
10
+ : 30m
11
+
12
+ # スライド URL など
13
+
14
+ * http://slide.rabbit-shocker.org/authors/znz/rubykansai75-ruby24
15
+ * `rabbit slide` で検索すると出てくる Rabbit Slide Show で公開
16
+ * ハッシュタグ `#rubykansai`
17
+
18
+ # 自己紹介
19
+
20
+ * 西山和広
21
+ * id:znz (github, twitter など)
22
+ * CRuby コミッター
23
+ * 最近はドキュメント周りに力を入れている
24
+
25
+ # Ruby リファレンスマニュアル (1/2)
26
+
27
+ * https://docs.ruby-lang.org/ja/
28
+ 生成されたドキュメント
29
+ * https://github.com/rurema
30
+ * https://github.com/rurema/doctree
31
+ ドキュメント原文
32
+ * https://github.com/rurema/bitclust
33
+ システム
34
+
35
+ # Ruby リファレンスマニュアル (2/2)
36
+
37
+ * 略称はる*り*ま
38
+ * 近況は
39
+ Ruby Reference Manual 2016 Autumn
40
+ http://rubykaigi.org/2016/presentations/okkez.html
41
+ を参照
42
+
43
+ # Rubyist Magazine
44
+
45
+ * http://magazine.rubyist.net/
46
+ 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。
47
+
48
+ # Ruby 2.4.0 とは?
49
+
50
+ * 毎年クリスマスに出ている最新安定版の次のリリース
51
+
52
+ * 2013-12-26 2.1.0
53
+ * 2014-12-25 2.2.0
54
+ * 2015-12-25 2.3.0
55
+
56
+ from https://gist.github.com/unak/3038095
57
+
58
+ # Integer 統合 (1/5)
59
+
60
+ * Fixnum クラスと Bignum クラスが Integer クラスに統合された
61
+ * 詳細は
62
+ http://rubykaigi.org/2016/presentations/tanaka_akr.html
63
+ Unifying Fixnum and Bignum into Integer
64
+
65
+ # Integer 統合 (2/5)
66
+
67
+ * 利点
68
+ * ドキュメントが簡素化
69
+ * 学習や説明しやすくなる
70
+ * 欠点
71
+ * 非互換
72
+
73
+ # Integer 統合 (3/5)
74
+
75
+ * Fixnum と Bignum は内部実装の都合
76
+ * 小さい数値は (`VALUE` に埋め込むというのが) Fixnum
77
+ * 同様に (`VALUE` に浮動小数点数を埋め込む) Flonum というものが ruby 2.0.0 から入っているが Float クラスに統合されている
78
+
79
+ # Integer 統合 (4/5)
80
+
81
+ * 参照すると警告: `warning: constant ::Fixnum is deprecated`
82
+ * 対応が必要なら `0.class == Integer` で分岐
83
+
84
+ # Integer 統合 (5/5)
85
+
86
+ * Ruby 2.4.0 で導入予定の Integer Unification まとめ
87
+ https://www.hsbt.org/diary/20160829.html#p01
88
+ 参照
89
+ * 非互換対策の例: json gem はバージョン指定せず default gem を使いましょう
90
+
91
+ # default gem と bundled gem
92
+
93
+ * 詳細は以下を参照
94
+ * bundled gem と default gem の違い
95
+ http://blog.n-z.jp/blog/2016-09-10-bundled-gem-and-default-gem.html
96
+ * bundled gem と default gem の違いの具体例
97
+ http://blog.n-z.jp/blog/2016-09-13-bundled-gem-and-default-gem-more.html
98
+
99
+ # bundled gem
100
+
101
+ * 普通の gem
102
+ * ruby のリリースに一緒に入っていて一緒にインストールされるというだけ
103
+ * 不要なら普通にアンインストールも可能
104
+
105
+ # default gem
106
+
107
+ * 特殊な gem
108
+ * ruby の標準添付ライブラリと同じところに入る
109
+ * アンインストールできない
110
+ * gem なので bundler の Gemfile で別バージョンを指定すれば、そちらが優先される
111
+
112
+ # gem 化が進んだ
113
+
114
+ * xmlrpc が bundled gem になった
115
+ * openssl が default gem になった
116
+ * Ruby/Tk が外れた
117
+ * 必要なら別途 gem install tk でインストール
118
+
119
+ # upcase などの Unicode 対応 (1/4)
120
+
121
+ * String/Symbol#upcase/downcase/swapcase/capitalize(!) が Unicode 対応
122
+ * 詳細は
123
+ Ups and Downs of Ruby Internationalization
124
+ http://rubykaigi.org/2016/presentations/duerst.html
125
+
126
+ # upcase などの Unicode 対応 (2/4)
127
+
128
+ * US-ASCII の範囲外の文字にも対応
129
+ * 日本語圏に最も影響がありそうなのは全角英字
130
+
131
+ ```ruby
132
+ "aa".upcase #=> "AA"
133
+ "aa".upcase(:ascii) #=> "Aa"
134
+ ```
135
+
136
+ # upcase などの Unicode 対応 (3/4)
137
+
138
+ * 従来の挙動は `upcase(:ascii)` のように `:ascii` 引数をつける
139
+ * 2.4 未満と 2.4 以降の両方で同じ挙動をする簡単な書き方はない
140
+ * 必要なら `"a".upcase == "A"` (全角英字の変換) などでチェックして分岐
141
+
142
+ # upcase などの Unicode 対応 (4/4)
143
+
144
+ * swapcase.swapcase で戻らなかったり長さが変わったり
145
+
146
+ ```ruby
147
+ "\u{df}" #=> "ß"
148
+ "\u{df}".swapcase #=> "SS"
149
+ "\u{df}".swapcase.swapcase #=> "ss"
150
+ ```
151
+
152
+ # その他メソッドの追加など
153
+
154
+ - NEWS
155
+ - サンプルコードでわかる!Ruby 2.4の新機能と変更点
156
+ http://qiita.com/jnchito/items/9f9d45581816f121af07
157
+
158
+ などを参照
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-znz-rubykansai75-ruby24
3
+ version: !ruby/object:Gem::Version
4
+ version: 2016.11.05
5
+ platform: ruby
6
+ authors:
7
+ - Kazuhiro NISHIYAMA
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ description: |-
28
+ Ruby 2.4.0 の主な非互換についての概要を話します。
29
+ 詳細については RubyKaigi 2016 の発表を参照してもらうようにしています。
30
+ email:
31
+ - zn@mbf.nifty.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - ".rabbit"
37
+ - README.md
38
+ - Rakefile
39
+ - config.yaml
40
+ - pdf/rubykansai75-ruby24-ruby_2_4.pdf
41
+ - ruby_2_4.md
42
+ homepage: http://slide.rabbit-shocker.org/authors/znz/rubykansai75-ruby24/
43
+ licenses: []
44
+ metadata: {}
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubyforge_project:
61
+ rubygems_version: 2.5.1
62
+ signing_key:
63
+ specification_version: 4
64
+ summary: Ruby 2.4.0 の主な非互換
65
+ test_files: []