Hamada.rb #34 & Ruby Hacking Challenge in Hamada.rb を開催した

毎月定例の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出されてて非常に良かった!

github.com

 

CRubyのことを知るファーストステップ

「CRubyの実装とかを知るにあたってどんなステップで行けばいいか?」という質問が出たので僕がどう知っていったかを話してました。

 

僕の場合は「Rubyソースコード完全解説」=> 「言語のしくみ」=>「Rubyのしくみ」の順でCRubyの実装とかプログラミング言語の実装とかを知っていった感じでした。

 

i.loveruby.net

www.amazon.co.jp

www.amazon.co.jp

 

あとHamada.rbの時には忘れてたんですが、CRubyで公開されているC APIとか使って

C++の拡張ライブラリとか書いてたみたいです

 

github.com

 

なので、その時にC APIなどに触れつつCRuby内部のコードを知れたのはあるかも

parse.yの話

「parse.yは魔界」とか拡張BNF記法の話とかしつつ、「parse.yの文法パターンとかはRubyソースコード完全解説を読むと良いよ」とオススメしたりしてました

 

あとは最近投げたPRとかを例に挙げつつ、軽くBNF記法の話とかしました

github.com

 

Rubyでのベンチマーク

CRuby向けのPRの話でベンチマークとかの話が出たので

 

make benchmark/benchmark.yml -e BENCH_RUBY="../install/bin/ruby" -e COMPARE_RUBY="~/.rbenv/shims/ruby"

 

とかでベンチマーク取れるのを共有したりしてました。

 

あと、ベンチマーク結果の原因について推察したりしてました(が、結局原因らしきものは明確に突き止められなかったので残念......)

 

その他CRuby関連の情報収集など

CRuby関連の情報収集とかで助かるブログとか紹介しました

github.com

 

ruby-trunk-changes.hatenablog.com

 

secret-garden.hatenablog.com

 

この辺日頃から見ておくと色々知見が得られるのでオススメ

 

次回

次回は10/18(火)にやります!!

hamadarb.connpass.com

hamadarb.connpass.com

 

そういえば

Hamada.rb始めてから丸三年たってました!

hamadarb.connpass.com

 

Ruby Hacking Challenge in Hamada.rbももうすぐ三年経ちそう!

hamadarb.connpass.com