RubyKaigi2017 LT in Iwami-ICT

4d4a1d2c975c1216a6005c07cca77baa?s=47 S.H.
September 23, 2017

RubyKaigi2017 LT in Iwami-ICT

4d4a1d2c975c1216a6005c07cca77baa?s=128

S.H.

September 23, 2017
Tweet

Transcript

  1. RubyKaigi 2017 レポ RubyKaigi2017 レポ S.H.

  2. RubyKaigi2017 概要 • Rubyに関する最新の技術情報などが講演される • 国内外から多数のRubyistが参加する • 今回は広島国際会議場で開催 • 9月18日~20日までの三日間

  3. RubyKaigi2017 一日目 • ゆるふわRuby生活(中田さん) • Rubyを作るためにRubyが必要(BaseとMini) • Rubyにおける意図しない挙動   p(-1.3).abs #=> 1.3 と p

    (-1.3).abs #=> -1.3 • Ver 1.1より存在している挙動 • ライブコミットで修正 • 全然、ゆるふわな話ではない
  4. RubyKaigi2017 一日目 • API Development in 2017 • なぜ、RESTが生まれたのか? • Web系APIの簡単な歴史

    • GraphQL というAPIの誕生 • RESTの次のパラダイムとしてのGraphQL
  5. RubyKaigi2017 一日目 • Handling mails on a text editor (前田さん) •

    Text bringer の話 • ターミナル上でしか動かない • ストームブリンガーが元ネタ • エディタからシェル経由でRubyを実行できる • エラーログも取れる
  6. RubyKaigi2017 一日目 • Hanami - New Ruby Web Framework • 今年の四月に

    ver 1.00 リリース • Railsとは異なり、シンプル • Railsやsinatra よりもマイクロサービス向け • シンプル故にメンテナンスも楽 • Railsよりも高速に動作する
  7. RubyKaigi2017 一日目 • Development of Data Science Ecosystem for Ruby •

    現在の状態でRubyはデータサイエンスに使える • Rubyだけでは限界がある • PythonやRを経由→別途APIが必須 • Pycallの存在 • RubyでPythonのライブラリを呼び出せる
  8. RubyKaigi2017 一日目 • Ruby Committers vs the World • Rubyコミッターと会場の人とのトークセッション •

    半分くらいはRubyに型注釈をどう導入するか? • 教育用バージョンのRubyは配布するのか? →する予定はない • 好きなプログラミング言語の話 SwiftとかSmalltalk
  9. RubyKaigi2017 二日目 • Rubyのパパ:まつもとゆきひろ氏のセッション • Simulaの話(単一継承や生みの親と会った話とか) • 多重継承の話(特にダイアモンド継承関連) • Mixinの話(Lispの方言に実装された機能から) •

    moduleの話(名前空間やシングルトンでの利用) • Rubyは私の言語ではなく、我々の言語
  10. RubyKaigi2017 二日目 • Improve extension API: C++ as better language for

    extension • C++での高速化(できるだけC++で完結) • Cでは冗長かつリスクがある • C++11以降のautoやtemplate、初期化リスト、ラ ムダ式
  11. RubyKaigi2017 二日目 • Static Typo Checker in Ruby • Rubyでのスペルミスチェック機能 •

    did_you_meanというgem • Rubyで標準で入っている(2.3から)
  12. RubyKaigi2017 二日目 • Bending The Curve: Putting Rust in Ruby with

    Helix • Rustを使ってRubyを高速化する • Cで速くできるが、リスクと参入障壁もある • Cに似た構文で、より安全なRustの導入
  13. RubyKaigi2017 二日目 • Write once, run on every boards: portable mruby

    • mrubyで作る自動開閉ウォシュレット • センサーで人を感知する • 基本はRubyで書けるが、ハードウェア関連はC • mrubyでよいのでは? • mrubyで作ってみた
  14. RubyKaigi2017 三日目 • Pattern Matching in Ruby • Rubyで拡張するRubyの正規表現 • Elixerの正規表現などにヒントを得た

    • Ruby内部のparse.c と compile.c に手を加えてい る
  15. RubyKaigi2017 三日目 • JRuby at 15 Years: Meeting the Challenges •

    JRubyの生みの親二人のセッション • JRubyとは、Javaで実装されたRubyインタプリタ • JavaFXとJRubyを使うことでGUIを作成可能 • JRubyの高速化の話
  16. その他、未参加のセッション • Mastodon • Smalruby • DXOpalというゲームプログラミングライブラリ

  17. まとめ • Ruby高速化のセッションが多かった C++やRust、JRuby+拡張ツールによる高速化 • Hanamiが今後のRuby製Webフレームワークとし て期待できる

  18. 詳しく知りたい方向け • Twitterで#RubyKaigiで検索すると実況ツイートが 見れる • RubyKaigiの記事を読める • 場合によっては実際のスライドも見ることが出来る