猿に文明を与えるな

個人的な勝手なまとめ。

RubyKaigi 2018 1st day

参加したのでメモ

Keynote by Matz

  • 名前重要

Q&A

  • 今後、静的型付けをRubyの機能として組み込む方向になるのか? #=> するつもりはない

Analyzing and Reducing Ruby Memory Usage by Aaron

日本語で講演するとかほんと尊敬に値する。

Rubyでメモリ使用量を抑えるにはという内容。

  • コード読め
  • malloc stackをトレースせよ

の2つにアドバイスは集約される。

GCの実行状況やmalloc stackの確認には

を使う。ただし出力したログによるディスク容量圧迫に注意する。

=>mallocをcallする箇所とその量を特定するのが重要

次の2つは何でメモしたか覚えてない

  • Direct iSeq Marking
  • Ruby 2.6に上げることをお勧めする

Hijacking Ruby Syntax in Ruby by joker1007 and tagomoris

楽しそうに喋ってた。

を使えば例えば with (Python) や defer (Go) のまねごとができるという話。

ただしデバッグが超面倒

All About RuboCop by bbatsov

lint is not replacement for common sense という手元のメモがあるだけ。

RubyGems 3 & 4 by hsbt

現行2.7のRubyGemsが今後どうなるかという話。

3.0

  • 移行バージョン的な位置づけ
  • Gem::Deprecate便利
  • depreacatedにする or 削除する場合、gem-codesearchを使って調査

4.0

  • 3以下と非互換にする
  • conservable
  • user-installのデフォルト化

Exploring Internal Ruby Through C Extensions by Yuryu

  • CRuby内ではVALUE type (ポインタや値を格納) がよく使われている
  • メモリ利用量のチェックには Valgrind が使える
  • Hash操作に関してはRubyは充分早い
  • C拡張を使うケース
    • x: パフォーマンスを理由に使う
    • o: Rubyから外部ライブラリを使うI/Fを用意するために使う

所感

  • メンテナは本当に大変だろうし仕事でやってない人は気の毒に感じるようになった。年のせいか。