RubyKaigi 2017に参加しました

3行で言うと…


今回のブログ担当は石川です。先日広島で行われたRubyKaigi 2017に1日目と2日目のみ参加しました。Rubyの実務経験が1年と少し程度の私なんかがRubyKaigiに行って大丈夫なんだろうか…と不安に思っていたのですが、最終的にはとても楽しむことができました。

今回のRubyKaigiは台風にカープ優勝と何かと話題に富んだタイミングで行われました。特に台風の影響は大きく、前日の朝に新幹線が止まる直前に広島入りし、残りの半日をホテルで寝て過ごすというなんとも言えない1日を過ごしました。カープ優勝に関しては、ご飯がカープ割により安く食べられたので良かったです。

また、今回のRubyKaigiが初参加という人がかなり多く、安心しました(初日のアンケートで30〜40%くらいに見えました)。セッションはKeynoteを除いて3箇所同時に行われるので、毎回どのセッションを聞くかは苦渋の決断になりました。

会場

会場は広島国際会議場という、大きく綺麗な会場で行われました。お昼休みになるとその大きな会場に収まっていた人が一気に外に出て行くのは壮観でした。

広島国際会議場は広島平和記念公園の中の施設で、お昼には綺麗な公園を散歩したりと楽しめました。RubyKaigi参加者は広島平和記念資料館に無料で入れたりもしたらしいです。

会場内には世界地図が描かれたパネルがあり、付箋で自分の名前やニックネーム、twitterアカウントなどを書いてどこからきたかを貼っているようでした。聞いたところによると過去のRubyKaigiでも同じようなパネルがあったらしいです。素敵ですね。

印象的だったセッション

「What visually impaired programmers are thinking about Ruby?」

http://rubykaigi.org/2017/presentations/nishimotz.html

視覚障害を持った人にとってのRubyについてや、アクセンシビリティについてのお話でした。視覚障害を持った人がRubyでコーディングをするためにはコードを読み上げるエディタが必要で、そのエディタについても紹介がありました。インデントの深さを音で表現するエディタなどもあり、面白かったです。実際にコードを読み上げるデモを見て、コード量を少なくまとめることのできるRubyという言語の良さを改めて感じました。セッション中でも、Rubyの書きやすさや読みやすさは視覚障害を持った人にチャンスを与えていると話に上がっていました。

また、Rails/Rubyのドキュメントを生成するrdoc, yardなどというツールがあり、それらで生成したドキュメントを実際に読み上げツールを使って読み上げるデモがあったのですが、そこからもいくつか見えてくることがあったように思います。

htmlの標準に沿うというのは気をつけているつもりなのですが、意味よりも見た目を優先してhtmlを書いてしまうこともあり、今回は少しばかり耳が痛かったです。読み上げだけでなくsiriなどの音声エージェントのこともありますし、htmlのルールに関しては気をつけていきたいと思いました。

「An introduction and future of Ruby coverage library」

http://rubykaigi.org/2017/presentations/mametter.html

Rubyのテストカバレッジライブラリの紹介、coverage.soを今後良くして行く話についての話でした。カバレッジの種類の紹介なども初めて知ることがたくさんあり面白かったのですが、中でも以下のようなカバレッジの使い方、生かし方についてのお話が興味深かったです。

私も社内システムをRailsで作る中でSimpleCovというgem(coverage.soのラッパー)を使ってカバレッジ計測を行っています。計測したカバレッジの確認を最近怠ってしまっていたので改めて確認するようにしなければと思いました。また、「テストされていないコードを発見し、どのようなテストをすればそのコードをカバーできるか考える」という作業を、今後時間を作ってやってみたいと思います。

初日Keynote「Making Ruby? ゆるふわRuby生活」

http://rubykaigi.org/2017/presentations/n0kada.html

などなど、Rubyの開発に関する様々な話が聞くことができました。ライブコミットも行われたりと最初から最後まで楽しかったです。

2日目Keynote

http://rubykaigi.org/2017/presentations/yukihiro_matz.html

RubyのModuleを元に、Rubyがどのように開発されていったのかというお話でした。Moduleは現在大まかに7つの用途に分類することができるのですが、それらの役割はそれぞれ他言語のアイデアを、Rubyに合わせて少しづつ組み込んできたのだそうです。言語をデザインする才能は、すべての言語を愛するところから来ている、とのことです。

個人的にはMixinの考え方の元となったflavorsについての話が面白かったです。メソッド結合の単位としてのmoduleについての話の中では、「AMC(ailias_method_chain)呪いあれ」というワードとともに、prependが生まれ、ailias_method_chainが廃止になったことについて丁寧に説明があり、勉強になりました。

(あと、島根と広島には時差があるらしい)

他にも

pycallをはじめとしたrubyでデータ処理を行う話や、hanamiなどの新しいフレームワークについて、 Ruby3.0に対する課題などについてなど様々なセッションがありました。Ruby3.0で取り組む課題としては以下の三つが挙げられており、中でもperformance関連が注目を集めていたように思います。

まとめ

最初に書いたように、私なんかがRubyKaigiに行って大丈夫なんだろうか...何も理解できなくてつまらないまま帰ることになるんじゃないか...と思っていたのですが、十分に楽しく、得られるもののあるイベントでした。よく理解できないセッションもたくさんありましたが、今まで知らなかった領域に触れられる意味のある時間だったと思います。機会があればまた参加したいです。

余談

RubyKaigiに参加して思ったのが、「やっぱり英語ってできないとダメだなあ…」ということでした。RubyKaigiでは日本語→英語のリアルタイム翻訳はあるのですが、英語→日本語の翻訳はありません。(全員英語が聞けて当たり前な世界なのでしょうか。すごい。)題目はとても興味のある面白そうな内容でも、言語が英語だということで聞くことを諦めてしまったり、聞いても何が何やらよくわからなかったり…ということが二日間の間に何度もありました。

ファーエンドテクノロジーでは、社員のオンライン英会話のレッスン費用を負担する制度があるので、RubyKaigiから帰ってきてすぐにオンライン英会話を始めることにしました。「自己紹介」など小学生レベルのところから始めて、毎日25分のレッスンを行っています。英語がすごくできるようになったという実感はまだまだないのですが、今後のRubyKaigiで英語のセッションも涼しい顔で聞けるようになることを夢見てオンライン英会話を続けて行こうと思います。

こちらの記事もオススメです!
越後湯沢セキュリティワークショップに参加しました
「越後湯沢セキュリティワークショップ」 に参加しました。
新入社員が社内ブックマーク共有アプリの開発を通して感じたこと
社内ブックマーク共有アプリの開発を通して、学んだことや特に難しかったこと、苦労したことについてです。
Redmineを改善するパッチを書いて、OSSへの貢献もする仕事
Redmineのパッチを書いて改善活動を行っています。
Linuxコンテナお気軽管理(その1): 稼働状況編
脆弱性調査ツールのVulsは導入が簡単でDockerやLXDのコンテナも簡単にスキャンできます。
代表の前田にファーエンドテクノロジーとRedmineのことを聞いた
会社の成り立ちとRedmineをビジネスにしたことについてインタビューをしました。
ファーエンドテクノロジーからのお知らせ(2017/11/29更新)
12/13『課題管理からガントチャート』の入門Redmine無料セミナー(東京)申込受付中!
Redmineやガントチャートに興味のある方、どうぞお気軽にお申込ください
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け