新卒1年目の新米 Rubyist が RubyKaigi2017 に行ってみた
RubyKaigi2017
なんとなく顔を隠してみました(笑)
どうもこんにちは!じゃるです!
先日 9/18 ~ 9/20 に開催されていた RubyKaigi2017 に行ってきました。
今年は広島開催だったのですが、広島が初めての中の人からすると観光気分でテンションMAXでした!!(一応お仕事なんですけどね、、)
そんな感じで3日間参加してきた RubyKaigi について新卒1年目が感じたことなどをまとめていこうと思います。
▼中の人のスペック
念のため中の人のスペックを紹介すると
という RubyKaigi に参加してセッションを聴いても全く理解できないんじゃないかっていうスペックの人として参加してきました。
広島のお好み焼きがめちゃウマでした
▼なぜ参加しようと思ったのか
Ruby について知りたかったから
6月の技術研修からコードをバリバリ書くようになったんですけど、コードを書いていてなんとなく気持ち悪い感じがしていました。
というのも、自分が書いたソースコードを Ruby がどうやって実行しているのかが全然分からなかったんですよね。「こう書くと、こんな感じで動いて、こういう振る舞いをする」みたいなざっくりとした感じでしか理解できていませんでした。
その状態が気持ち悪くてもっと Ruby の内部について知りたいなぁと感じていて参加してみました。
機械に選ばれたから
実は弊社、ゴールドスポンサーだったのでブースを出展していました。そのブース担当を決める際に
array = ["立候補者の名前", "名前", "名前", ......"名前"] array.sample(2)
上記のプログラム(こんな感じだった気がする)を実行して、立候補者の中からさらに2名に絞りました。その2名に僕が選ばれたというわけですね。新卒にも平等に権利があってとてもホワイトな会社ですね。いや本当に。array.sample
ありがとう。
▼聴いたセッション
Ruby Committers vs the World 開始前 僕が聴いたセッションは
1日目
2日目
- Keynote
- An introduction and future of Ruby coverage library
- Type Checking Ruby Programs with Annotations
- Lightning Talks
3日目
です。
一応2人でブースの担当もしていたので、そのあたりの調整もしながら聴きに行っていました。個人的には割と聴けた方かなと思ってます。
▼特に印象に残ったセッション
An introduction and future of Ruby coverage library
Yusuke Endoh さんによるテストカバレッジの発表でした。
テストカバレッジとは何か、カバレッジをどのように理解して、今後どう付き合っていくべきか、という感じの発表でした。現在やっている業務と関わりが強い分野だったので、とても興味を持って聞くことができました。
ただ単にコードに対してテストを書くだけではなく
- どのような観点でテストを書くべきか
- 仕様や設計に対してしっかりテストを書けているか
を意識するべきであると気づくことができました。上記の2つについて考えるための指標として、テストカバレッジを取る必要があるのかなと思いました。
また、業務でテストを書いている方や今は書いていないが今後書いて行こうと思っている方は、「なぜテストを書くのか」までしっかり考えられると良いのかなと感じました。
Writing Lint for Ruby
Masataka Kuwabara さんによる Lint についての発表でした。 セッションの中身では Rubocop についても触れられていました。Rubocopは
- Lint としての役割
- コーディングのスタイルチェックとしての役割
の二面性を持ち合わせているとのことでした。
たしかにRubocopは、設定を気をつけないと厳しめのスタイルチェックが行われてしまって、逆に開発の効率が落ちてしまう危険もあるなぁと感じました。
またRubocop がどのようにコード辿っていて、いかに高速に回そうとしているかのお話もありました。
Rubocop は AST(抽象構文木) にした段階でコードを辿って、コードに問題がないかをチェックしているとのことです。つまりコード自体は実行されていないということですね。通りで早いわけですね。
個人的に特に興味深いと感じた2つのセッションを簡単にまとめてみました。興味が湧いた方はぜひRubyKaigi2017の公式ページに掲載されている動画をご覧になってみてください。
汁なし担々麺、激ウマ辛でした
▼セッションと同じくらい貴重なイベント
実はセッションと同じくらい貴重な「パーティー」というイベントが全日RubyKaigi のセッション終了後に開催されています。 全世界から集結したエンジニアの方々とお酒を飲みながらフランクに交流することができるとても貴重な機会です。
今回は
- RubyKaigi 2017 Official Party(Sponsored by Akatsuki Inc.)
- freee DRINK UP at RubyKaigi 2017(Sponsored by freee K.K.)
に参加してきました。個人的には freee さんのパーティーの方が強く印象に残っています。
というのも僕が「最近Rubyが裏でどう動いているのかが気になっていて勉強をしている」ということを話しました。
そうすると色んな人が
「なぜどう動いているのかが気になったのか」
「この本を読むといい」
「Rubyの次はOSがあってコードがすべて公開されているものもあるから読んでみるといい(名前聞き間違えて分からない、、)」
などなどたくさん教えていただきました。
特にyasulab さんには、割と長い時間色んな話をしていただきました。本当にありがとうございます(Rails tutorialでもお世話になりました)。
▼まとめてみた
とりあえず簡単にまとめると
▼今後やっていきたいこと
とりあえず当分の間は、Rubyの言語処理系について学んでいこうかなと思ってます。
これとか
Rubyのしくみ -Ruby Under a Microscope-
- 作者: Pat Shaughnessy,島田浩二,角谷信太郎
- 出版社/メーカー: オーム社
- 発売日: 2014/11/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
これとか
アンダースタンディング コンピュテーション ―単純な機械から不可能なプログラムまで
- 作者: Tom Stuart,笹田耕一,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/09/18
- メディア: 大型本
- この商品を含むブログ (11件) を見る
これとか Rubyソースコード完全解説
読んでいこうかなと思います。
ちなみにこいつはもう読んだやつですがとてもオススメです。プログラミング初心者の方にもオススメです(ただの主観ですが、、)
RubyでつくるRuby ゼロから学びなおすプログラミング言語入門
- 作者: 遠藤侑介
- 出版社/メーカー: ラムダノート
- 発売日: 2017/03/31
- メディア: テキスト
- この商品を含むブログを見る
他にも何かあれば教えてください〜!
ではでは!