Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Language Update 2018 - Ruby
Kazuhiro NISHIYAMA
Learn Languages 2018
2018/08/26
Powered by Rabbit 2.2.1
自己紹介
西山 和広
Ruby のコミッター
twitter, github など: @znz
1/18
agenda
リリース間隔 について
2.4.0, 2.5.0 での変更点
2.4.0 での大きな非互換
2.5.0 での主な非互換
2.6.0 での大きな話
2/18
LLoT 以降のリリースなど
2016-08-27 LLoT (前回の Language Update)
2016-12-24 2.4.0
2017-03-31 2.1 EOL
2017-12-25 2.5.0
2018-03-31 2.2 E...
2.4.0, 2.5.0 での変更点
速くなりました
機能追加されました
といった話はいつものことなので省略
4/18
2.4.0, 2.5.0 での変更点
標準添付ライブラリの gem 化が進んだ
2.6.0 でもさらに進む予定
Thread#report_on_exception でスレッドが例外終
了時のバックトレース
2.4.0 で追加
2.5.0 でデ...
2.4.0 での大きな非互換
Unifying Fixnum and Bignum into Integer
詳細は RubyKaigi 2016 の発表を参照
http://rubykaigi.org/2016/presentations/t...
Fixnum, Bignum とは?
実装の詳細で一般ユーザーにみせる必要はない
Fixnum: 32bit 環境なら 31bit 以下の整数が効率よ
く扱える
Bignum: 大きな整数もメモリーの許す限り扱える
普通のユーザーは区別する必要...
影響
利点: シンプルになる
教える人にとっても勉強する人によっても良い
欠点: 非互換
特に拡張ライブラリーに影響
8/18
非互換の例
Sequel の DSL
add_column :column, Bignum → :Bignum
影響のあった拡張ライブラリ : オブジェクトをダ
ンプ/ロードするようなものがほとんどだった
ext/json, msgpack, ...
Version Dependencies
json に対する pessimistic (悲観的な) version
dependency (~> 1.3)
1.3 以上 2.0 未満という意味
間接的にバージョン制限が入っていることが多かった
...
解決
stdlib なライブラリーはバージョン依存をつけな
いのが推奨
https://www.hsbt.org/diary/20160829.html
結局 json 1.8.5 がリリースされて解決
https://www.hsbt.org...
2.5.0 での主な非互換
rescue/else/ensure が do/end ブロック内にも直接
書ける
トップレベルの定数検索は削除
2.4 以前:
IO::GC #=> warning: toplevel constant GC re...
backtrace の順番
2.5.0 から新しい挙動:
$ ruby -r time -e 'Time.parse("")'
Traceback (most recent call last):
2: from -e:1:in `<main>...
2.6.0 の大きな変更点の一部
safe level 廃止に向けた変更が進む
endless range : (1..)
JIT (Just-in-time) 対応が入る
14/18
safe level 廃止に向けた変更
$SAFE が 0 に戻せるようになる
Proc#call で切り替わらなくなる
15/18
endless range
(1..Float::INFINITY) や 1.step の代わりに
(1..)
when (1..) などではかっこが必要
16/18
JIT 対応
実行中に gcc や clang でコンパイルする
とりあえず仕組みが入った段階
プログラムによっては遅くなることもある
高速化などは今後の課題
17/18
まとめ
x.y.0 リリースは毎年クリスマス
EOL は3年+年度末までが続いている
2.4.0, 2.5.0 での変更点
2.4.0 での大きな非互換
json gem で起きた問題の話
2.5.0 での主な非互換
2.6.0 での大きな変更...
Nächste SlideShare
Wird geladen in …5
×

Language update 2018 - ruby

520 Aufrufe

Veröffentlicht am

[Learn Languages 2018](https://connpass.com/event/95443/) の Language Update の Ruby です。

Veröffentlicht in: Technologie
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

Language update 2018 - ruby

  1. 1. Language Update 2018 - Ruby Kazuhiro NISHIYAMA Learn Languages 2018 2018/08/26 Powered by Rabbit 2.2.1
  2. 2. 自己紹介 西山 和広 Ruby のコミッター twitter, github など: @znz 1/18
  3. 3. agenda リリース間隔 について 2.4.0, 2.5.0 での変更点 2.4.0 での大きな非互換 2.5.0 での主な非互換 2.6.0 での大きな話 2/18
  4. 4. LLoT 以降のリリースなど 2016-08-27 LLoT (前回の Language Update) 2016-12-24 2.4.0 2017-03-31 2.1 EOL 2017-12-25 2.5.0 2018-03-31 2.2 EOL 2018 クリスマス 2.6.0 リリース予定 EOL は3年+年度末までが続いている 参考: https://bugs.ruby-lang.org/projects/ruby/wiki/ ReleaseEngineering 3/18
  5. 5. 2.4.0, 2.5.0 での変更点 速くなりました 機能追加されました といった話はいつものことなので省略 4/18
  6. 6. 2.4.0, 2.5.0 での変更点 標準添付ライブラリの gem 化が進んだ 2.6.0 でもさらに進む予定 Thread#report_on_exception でスレッドが例外終 了時のバックトレース 2.4.0 で追加 2.5.0 でデフォルト true に 5/18
  7. 7. 2.4.0 での大きな非互換 Unifying Fixnum and Bignum into Integer 詳細は RubyKaigi 2016 の発表を参照 http://rubykaigi.org/2016/presentations/tanaka_akr.html 6/18
  8. 8. Fixnum, Bignum とは? 実装の詳細で一般ユーザーにみせる必要はない Fixnum: 32bit 環境なら 31bit 以下の整数が効率よ く扱える Bignum: 大きな整数もメモリーの許す限り扱える 普通のユーザーは区別する必要がないので Integer に統合 7/18
  9. 9. 影響 利点: シンプルになる 教える人にとっても勉強する人によっても良い 欠点: 非互換 特に拡張ライブラリーに影響 8/18
  10. 10. 非互換の例 Sequel の DSL add_column :column, Bignum → :Bignum 影響のあった拡張ライブラリ : オブジェクトをダ ンプ/ロードするようなものがほとんどだった ext/json, msgpack, syck, yajl, oj, ox, ruby-gnome2, etc. 2.4.0 リリース前に対応済み 9/18
  11. 11. Version Dependencies json に対する pessimistic (悲観的な) version dependency (~> 1.3) 1.3 以上 2.0 未満という意味 間接的にバージョン制限が入っていることが多かった 問題点 json 1.x の最新 (当時) 1.8.3 は ruby 2.4 非対応 対応済みの json 2.0.x がバージョン制限で入らない 10/18
  12. 12. 解決 stdlib なライブラリーはバージョン依存をつけな いのが推奨 https://www.hsbt.org/diary/20160829.html 結局 json 1.8.5 がリリースされて解決 https://www.hsbt.org/diary/20170112.html 11/18
  13. 13. 2.5.0 での主な非互換 rescue/else/ensure が do/end ブロック内にも直接 書ける トップレベルの定数検索は削除 2.4 以前: IO::GC #=> warning: toplevel constant GC referenced by IO::GC 2.5 以降: IO::GC #=> NameError (uninitialized constant IO::GC) 12/18
  14. 14. backtrace の順番 2.5.0 から新しい挙動: $ ruby -r time -e 'Time.parse("")' Traceback (most recent call last): 2: from -e:1:in `<main>' 1: from .../time.rb:370:in `parse' .../time.rb:254:in `make_time': no time information in "" (ArgumentError) 状況によっては以前と同じ挙動: $ ruby -r time -e 'Time.parse("")' 2>&1 | cat .../time.rb:254:in `make_time': no time information in "" (ArgumentError) from .../time.rb:370:in `parse' from -e:1:in `<main>' experimental なので今後の議論次第で変わるか も? 参考: Feature #8661 https://bugs.ruby-lang.org/issues/ 13/18
  15. 15. 2.6.0 の大きな変更点の一部 safe level 廃止に向けた変更が進む endless range : (1..) JIT (Just-in-time) 対応が入る 14/18
  16. 16. safe level 廃止に向けた変更 $SAFE が 0 に戻せるようになる Proc#call で切り替わらなくなる 15/18
  17. 17. endless range (1..Float::INFINITY) や 1.step の代わりに (1..) when (1..) などではかっこが必要 16/18
  18. 18. JIT 対応 実行中に gcc や clang でコンパイルする とりあえず仕組みが入った段階 プログラムによっては遅くなることもある 高速化などは今後の課題 17/18
  19. 19. まとめ x.y.0 リリースは毎年クリスマス EOL は3年+年度末までが続いている 2.4.0, 2.5.0 での変更点 2.4.0 での大きな非互換 json gem で起きた問題の話 2.5.0 での主な非互換 2.6.0 での大きな変更点の一部 safe level, endless range, JIT 18/18Powered by Rabbit 2.2.1

×