RubyKaigi 2019に参加しました

はじめに

2019年4月18-20日に福岡で開催された RubyKaigi 2019に参加しました。その会のことについてや印象に残っていることなど書き記しておきたいと思います。参加されたことがないRubyistにRubyKaigiの雰囲気が伝わるといいなと思っています。しかしながら単純に雑多な感想記です。

目次

  • RubyKaigiとは
  • セッション
  • スポンサード
  • 食事
  • コーヒー
  • 出会い
  • ぼっちに振る
  • 椎名林檎の正しい街
  • さいごに

RubyKaigi とは

プログラミング言語Rubyの年に一回開催されているカンファレンスです。毎年様々な日本の都市で行われています。今回は福岡でした。詳細はこちらを御覧ください → https://rubykaigi.org/2019

セッション

RubyKaigiではRubyにまつわる発表が3日間に渡ってたくさんされます。今回は同時4トラックでの進行だったため、いつも以上にどのセッションに参加するか迷った方が多いのではないかと思います。

そのうち自分が参加したものの中で、特に印象に残ったセッションについて少しだけ書いておこうと思います。内容はおそらくスライドを見てもらったり、後ほどもしかしたら公開されるかもしれない登壇を見てもらったほうが良いかと思います。

Matz keynote

RubyKaigiのMatzのKeynoteはRuby3にからめて毎回お話されるのが通例みたいな感じになってる。

この次のセッションと合わせてRuby3の進捗と、これからのRubyについての考え方や向かう方向性について話がされていた。

お話が上手なのはいつものことながら素晴らしかったのだけど、今回すごく良かったのは3日間のうちRuby3にむけた取り組みのセッションが紹介されていて、RejectKaigiと合わせて自分が聞きたいセッションの目星をつけやすかった。

中心的に話されていたパターンマッチや型推論のあたりが個人的に(わかるかは置いておいて)追っておきたい分野だったのでこの辺の話が聞けたことが良かった。

Pattern matching – New feature in Ruby 2.7

今回のRubyKaigiで一番自分が有用だったセッション。

Rubyに実験的に投入されたパターンマッチのセッション。elixirなど多言語にはすでに入っているパターンマッチがRubyにも入ってくるということでどんなものかと思ったんですが、これはなるほど便利そうという感触が合った。

まだとても便利なcase-whenという理解程度なところから抜けられてないのですが、複雑な条件で分岐するコードを書いているところがいくつかこのケースでスッキリ書くことができて良さそうだった。

またマッチングのパターンがいくつか用意されていたり、多重代入のパターンなどしっかり整理しないと思わぬミスをする気配を感じたりしていたのでそのあたりはちゃんと自分なりにまとめておきたい。

Ruby Committers vs the World

こちらも毎年恒例のRuby Comitterたちがワイワイやるやつ。

Rubyの開発が身近に感じられる良いイベント。RubyKaigiに初参加の人は絶対遅刻せずに見てほしい一品。

右代入ください。

The challenges behind Ruby type checking

https://github.com/soutaro/ruby-signature

型推論・型定義・型チェックについてsteepでずっと仕組みを作られているSoutaro Matsumotoさんの登壇。

今回何個か型についての登壇があったんですが、Matzの「型書きたくないでござる」から、本体に型を書かないことで許容する流れができつつあるのを感じる。Rubyのメタプログラミングとめちゃくちゃ相性が悪いのはあまり難しいことがわからなくても察し余るところではあるんですが、型が入ってくることで安全性が高まる一方で自由がなくなっていくさまをみているとRubyがそういうことを求められる層にもたくさん届くようになったことなのかもと思ったりしました。

何にしても.rbi(型定義ファイル)とかで安心が得られる環境はきっとあると思ったりするので、いつか試してみたい技術なのを感じました。雰囲気的にはテストと似たような形で型定義ファイルを用意して安全を得る方向にたおれてくんじゃないかなーなどと思ったりしました。

Optimization Techniques Used by the Benchmark Winners

最後のKeynoteは迫力がある内容(自分の無力さを感じる)が多いのですが、今年も多分にもれず自分の知らない世界の話が展開されていてすごいすごいという感じでした。

スピード狂がスピードを追求するあまりアプリケーション開発で是と信じられているようなところをガンガンぶち壊していく感じが最初は違和感があるところからいつしか爽快感に変わっていくという印象的なセッションでした。

読みやすいコードから速度最適化されていきやがて作者独走状態に入って、もう数年誰もコントリビューターがいないというレポジトリーのコントリビューターのグラフが良い落ちになっていて力とはなにかというところに思い至り非常に感慨深い気持ちでした。

スポンサード

今回初めてSTORES.jpとしてスポンサードができてブースを出すことができました。

用意したものSTORESオーナーの商品も無事に全部もらっていただけて嬉しかったですし、アイシングクッキーはtwitterで何人かシェアしてくれている人も居たりして嬉しかったですね。


食事

ラーメンは知ってたんだけどあとは全然知らなくてRuby会議でお会いしたかたや福岡出身の人々に聞いたりしました。うどんが実はよく食べられていて、水炊きやもつが有名だそうですね。残念ながら鍋系は食べられずでした。


コーヒー

今食べ物のブームがなく唯一カフェラテのお店はやたら巡ったりしているので今回も何店かコーヒーのお店を巡ったりしました。地方都市にはだいたい何かしらのステキコーヒー屋さんがあるものです。私達のサービスをご利用いただいているストアさんも何店かありまして、そちらはお礼行脚ということでRubyKaigi終了後の環境で巡らせていただいたりしました。

出会い

今回のルビー会議は今までで一番他社のエンジニアの人とコミュニケーションが取れたRubyKaigiでした。スポンサードの効果も大きかったですし、自社のエンジニアがRubyコミュニティーに深く根ざしているおかげもありました。またRailsDMで登壇できたことが小さな名刺になって、セッションの最中・懇親会・その他もろもろでいままで遠巻きに見てい他人々と会話することができました。

RailsDM主催者の方もおっしゃってましたが、やはり代表作大事だなという思いはやはりあり何かしら何かしら頑張っていきたいです。あとは英語。

今までTwitter上で一方的に存じ上げている人々と実際にお話ができて、京都のRubyKaigiで腰をやってしまって途中離脱した時のことを知っている人に出会った時に「おまえだったのかー!」と言われて「あーやっと伏線回収できた感じがする…」となったので、すごく印象深いKaigiになりました。

ぼっちに振る

非常にセッションに関する記述が少ない体たらくなのですが、その分今回はコミュニケーションに振れたRubyKaigiでした。

今回はスポンサードさせていただけたのもあって、会社から沢山の人と一緒にRubyKaigiに参加することができました(今年も会社から補助が出ました)。

過去3回は結構ぼっちになりながら、会社で沢山の人と一緒に来ている人を横目に見て悔しい(?)気持ちを感じたりしていました。例えばセッションが終わったあとに感想を言い合っているさまをみたり、懇親会で同じ会社の人と話をされているのをみて羨んだりしてました。

今回それができるようになった分、逆になるべく会社の人と群れないように意固地に一人になったり他社の人とお話する時間を強引に話すようにしてみました。あの人の自分への一つの回答だったり、ホームがあるからこそ外に出れるみたいなそんな心持ちでした。おかげさまで2日目の懇親会は安定のぼっちで過ごしました(それでもたくさんの人とお話をさせていただけたからRubyKaigiは良い)

他社の人とたくさん話してみるのも良いですし、いつものオフィスと違う場所で同僚といろいろな話ができることもまたどちらも貴重ないい機会ですよね。

福岡は「正しい街」

福岡は正しい街なのです。以下のとおりです。

何て大それたことを夢見てしまったんだろう
あんな傲慢な類の愛を押し付けたり
都会では冬の匂いも正しくもない
百道浜も君も室見川もない
椎名林檎『正しい街』より(無罪モラトリアム 収録)

椎名林檎は福岡出身でして個人的にちょっとだけワクワクしておりました。また椎名林檎の1stアルバムの1曲目には上記の通り「百道浜」と「室見川」という実際に存在する場所の名前が使われていたりします。


中学生の時から椎名林檎に傾倒していたわけなんですが(正しい街の弾き語りを覚えたくらいには好き)、福岡にもしも行くことがあれば是非訪れてみたい場所でした。まさかプログラミング言語のカンファレンスと共に訪れることができるとは当時の私には知るよしもなかったのです。

さいごに

コミュニケーションに振ったRubyKaigiではあったのですが、年々RubyKaigiの理解度が自分の成長の一つのものさしになっています。初年度が全くわからなすぎて笑えるほどだった。

ものすごい低いところではありますが、上がっていっている気がするので今年も頑張っていきたい。技術的なLTが壊滅的にだめなところがあるので今年はそこを強化できるように頑張っていきたいなと思っています(昨日盛大に技術にふろうとしたLTで滑り倒したため)

来年の松本も楽しみにしています!