毎月定例のHamada.rbとRuby Hacking Challenge in Hamada.rbを9/20に開催してきた
この記事はその振り返りです
Rubyのビルド
今回Ruby Hacking Challenge初参加の方が何人おり、rubyhackchallengeのチュートリアル進めてて、依存関係でビルド出来なかったので対応したりしてました。
で、ビルド出来なかった原因はlibyaml(3.2.0-preview1以降のmasterではlibyamlが同梱されなくなっており、libyamlを入れないとビルドできない)だったので、libyamlをインストールして無事ビルドできました。やったね!
ちなみにその後イベント中にPR出されてて非常に良かった!
CRubyのことを知るファーストステップ
「CRubyの実装とかを知るにあたってどんなステップで行けばいいか?」という質問が出たので僕がどう知っていったかを話してました。
僕の場合は「Rubyソースコード完全解説」=> 「言語のしくみ」=>「Rubyのしくみ」の順でCRubyの実装とかプログラミング言語の実装とかを知っていった感じでした。
あとHamada.rbの時には忘れてたんですが、CRubyで公開されているC APIとか使って
C++の拡張ライブラリとか書いてたみたいです
なので、その時にC APIなどに触れつつCRuby内部のコードを知れたのはあるかも
parse.yの話
「parse.yは魔界」とか拡張BNF記法の話とかしつつ、「parse.yの文法パターンとかはRubyソースコード完全解説を読むと良いよ」とオススメしたりしてました
あとは最近投げたPRとかを例に挙げつつ、軽くBNF記法の話とかしました
Rubyでのベンチマーク
CRuby向けのPRの話でベンチマークとかの話が出たので
make benchmark/benchmark.yml -e BENCH_RUBY="../install/bin/ruby" -e COMPARE_RUBY="~/.rbenv/shims/ruby"
とかでベンチマーク取れるのを共有したりしてました。
あと、ベンチマーク結果の原因について推察したりしてました(が、結局原因らしきものは明確に突き止められなかったので残念......)
その他CRuby関連の情報収集など
CRuby関連の情報収集とかで助かるブログとか紹介しました
ruby-trunk-changes.hatenablog.com
この辺日頃から見ておくと色々知見が得られるのでオススメ
次回
次回は10/18(火)にやります!!
そういえば
Hamada.rb始めてから丸三年たってました!
Ruby Hacking Challenge in Hamada.rbももうすぐ三年経ちそう!