エムスリーテックブログ

エムスリー(m3)のエンジニア・開発メンバーによる技術ブログです

「RubyKaigi 2019」にPlatinum Sponsorとして参加しました!(ブース・セッションレポート)

エンジニアリンググループの山口です。4/18(木)〜4/20(土)に開催された「RubyKaigi 2019」に、Platinum Sponsorとして参加しました。

エムスリーのスポンサー協賛は4年目。私は初参加でしたが、参加者の方々のRuby愛を強く感じた3日間でした。

sponsor_booths[:m3].inspect # ブースの様子

エムスリーブースは5階エレベータ上がって右手の位置で展開していました。

f:id:t-yamag:20190423161509j:plain
エムスリーブースの様子

ブースでは、特に「Rubyクイズ」が一番盛り上がりました!

Ruby::Quizzes

Railsdm (Rails Developers Meetup 2019) 登壇者でもある弊社メンバが作成した難読クイズを日替わりで出題しました。例えば脳内parseが難しいこんなクイズです。

irb> %%%%%%..%%[0].size[0]
=> ???

これが大変好評で、毎日ブースに来て挑戦してくださる方が何名もいらっしゃいました。また、SpeakerやCommitterの方々、そしてMatzにも回答いただきました!

f:id:t-yamag:20190423161818j:plain
Rubyクイズと向き合うMatz

裏話になりますが、1日目のクイズがちょっと簡単ではという声が寄せられたため、2日目・3日目は 事前に準備していたものから急遽差し替えて、 さらに難易度の高いクイズを用意しました。

その効果もあってか、挑戦された方からは、「so crazy」とか「こんなん分かるわけないやん」というお褒めの言葉を多数いただきました。

念のため補足しておくと、仕事ではこういった難読コードは記述しませんし、クイズに回答できなくてもエムスリーのソフトウェアエンジニアとして活躍出来ます!

(解答・解説は 別記事 をご覧ください!)

ノベルティ・ディスプレイ

f:id:t-yamag:20190423161849j:plain
ノベルティ.rb

USB Type-C変換アダプタ、チロルチョコ、マスク、パンフレットをノベルティとして用意しました。また、ディスプレイとして以下の展示を行いました。

  • 技術書典6頒布「エムスリーテックブック #1」(Day2, Day3)
  • RubyKaigi&弊社エンジニア Twitterタイムライン (Day1)
  • クラウド電子カルテ「エムスリーデジカル」デモンストレーション (Day2)
  • 社内LT会「M3 Tech Talk」過去スライド紹介 (Day3)

エムスリーデジカルのデモンストレーションは特に好評でした。プロダクトを見ていただきながら、「使う言語や技術はチームで決められる」「新しいチャレンジがしやすい」といったエムスリーの魅力をお伝え出来たかと思います。

sessions.inspect # セッション

エンジニアはAttendeeとして参加していて、セッションも聴講しました。個人的に印象に残った2セッションを紹介します。

Ovto: Frontend web framework for Rubyists (@yhara)

speakerdeck.com

RubyでSPAが書けるフレームワーク。HyperappをRubyに移植しつつ、Ruby to JavaScriptコンパイラのOpalにより実現されています。

印象的だったのは、「Why not JS?」の部分で「Rubyは私にとって母国語であり、(そうでないJSを触るには)些細だがちょっとイライラしてしまう言語差があるから」という趣旨の話をされていたことでした。

共感しかありません。複数言語を扱っていると、文法や挙動の細かな違いに苦しむ場面があります。その点、母国語に相当する言語でサクサク書けるのは最高に楽しい。その楽しさがこちらにも伝わってくる、ワクワクする発表でした。

余談ですが、プレゼンテーションにxキーで回転する謎機能が搭載されていて、会場は笑いに包まれていました。

Cleaning up a huge ruby application (@riseshia)

speakerdeck.com

コードをいかにして消したか、という話。クックパッドさんで実践されていることを中心とした内容でした。

興味深かったのは2点あって、1点目は「Iseq lazy loadingやOneshot coverageを使って未使用コードを探す」という普段Webアプリケーションを書いているだけでは触れないであろう部分のテクニック、2点目は「(発表時)2日前の4/18からProductionに載せて、パフォーマンス低下はほぼない」という速報感あふれる情報でした。

私が所属する電子カルテチームでも、早速バックログにOneshot coverageを利用するタスクを突っ込んでおきました。

最後に

これ以外にも、商店街を貸し切ったOfficial Party、美味しい八女茶などなど、書き出すとキリがありません。非常に濃い3日間でした。

スタッフの皆様、そしてエムスリーブースへ足を運んでくださった皆様、ありがとうございました!

f:id:t-yamag:20190423164233j:plain
ブラックモンブランとトラキチ君を買って喜ぶ2人

expect(m3.hire?(you)).to be true

エムスリーでは、技術力を活かして世の中の役に立ちたい Rubyist を募集しています。

エンジニア採用・インターンとも通年で募集しています。興味がありましたら、カジュアル面談から気軽にお話ししませんか? お待ちしています!

jobs.m3.com