現在favyは絶賛エンジニアを募集中のため、オウンドメディア『favicon』を通して、エンジニアチームの雰囲気や業務内容などを不定期連載中です。この記事は、その第5回目となります。
なんやかんやRubyやRailsに触れて約10年ぐらい経ちます、株式会社favy CTOの新堀(左)です。
RubyやRailsとの出会いは、某フランス人のおかげだったりとか色々あるんですが、それは別の機会に。
新堀 勝(Shinbori Masaru)
favyには創業時からCTOとして参画。Web業界歴は約20年。もともとはSEO畑にいたが、RoRを中心にクラウドサービスやインフラ、ハードウェアなども対応するエンジニア。GitHub、Qiita
今年の「RubyKaigi2019」は福岡博多で開催。
毎年「RubyKaigi」の存在は知っていたんですが、まぁまぁスタートアップとかベンチャー企業をやっていますとイベント参加よりも通常業務を優先にとなってしまっていて参加しておりませんでした。
弊社もエンジニアメンバーが増え、2年前は4〜5名ぐらいだったかと思うのですが現在は10数名の規模まで増えました。
暇が増えたわけではなく余裕ができた。忙しさの質が変わった感じがします。
「RubyKaigi2019」自体は3日間。スケジュールはこんな感じで開催されました。
学校の授業のように、各セッションが仕切ってあります。
ブースが2F〜5Fの4つに分かれていて移動が大変なんじゃないかと思いきやそんなこともなく、さすが国際会議場という感じで特に苦痛は無かったです。
お弁当も3種類あって、普通のお弁当2種類とヴィーガン用のお弁当の、全3種類からどうぞと。さらに福岡名物の屋台まで。
朝ご飯も同じ場所でビュッフェがあり、夜は地元の商店街を貸し切っての懇親会。
これにはタクシーの運転手さんもびっくりしていました。
(僕らfavyは福岡グルメを食べなければと思っていたため、夜の「RubyKaigi懇親会」には参加していませんが)
さて、肝心のセッションですが、Rubyがどうなっていくのかという。細かい技術的な要素は割愛しますが、Ruby自体のPerformanceのところの改善というセッションが圧倒的に多かったように思います。
気になった内容まとめ
個人的に興味を持ったものをピックアップして勝手にコメントします。
3日にまたがってたのですが、そこもまとめてしまいます。
(時系列や細かい全資料などは、まとめサイトや他所のウェブサイトでご確認ください)
Ruby3に向けての全体の話
Ruby3に向けてどうなっていくのか( @_ko1 )
型宣言
静的型付けを.rbiという型宣言ファイルにて導入する(e.g. Steep、Sorbet)。
いろんなところでのtwitterなどでは「うおおおー待ってたー」とか「便利になりそう」って見られたんですが、個人的にはあまり実感はない。Railsでしかもある程度人の感覚ズレが少ない環境だとあんまり関係ないからかも。
いわゆる静的型付け言語(e.g. Java,、Swift…)と動的型付け言語(e.g. Ruby、 Python…)の違いやProsConsは割愛。Wikipediaでどうぞ。
型宣言の「type profiler (@mametter )」について
まだまだ実用性はない感じ。String、integer、floatあたりは型を推定できるが配列が型推定できない。これからに期待。
JIT導入( @k0kuben )
JITの導入をしてみたらRuby性能は1.6倍にも強化されたけど、RailsだったらJIT入れない方が早いという発表でした。
なぜこのような結果なのかは@k0kuben さんの資料を見るのが良いですが大変興味深い&面白いパフォーマンス計測の結果が書かれています。
個人的総括
「Rubyは遅い」とずっと言われていて、やっぱりずっと課題視されているんですねという感じ。Matzも「1.8とか使ってたら早くバージョンあげたほうがいいすよ」と2014年から更新が止まっている自身のブログのバージョンをディスっていましたが、Ruby 1.9から徐々に性能は改善しており、現在の最新バージョンであるRuby 2.6系からはJIT(Just In Time)コンパイラが搭載。
Ruby2.6.3 はリリース済み。
2.7.0はクリスマスぐらいのときにリリース予定。
3.0は2020年…が希望。
なんにせよ処理が早くなり、書きやすくなるのは良いことです。頑張れコミッター。そして現時点でRailsにはJITは不要そうです。
各メーカーブースの話
みんな気合入りすぎー
(各メーカー様、雑に入れて申し訳ありません。そしてこれを全て収納したCookpadさんのトートバッグの性能の高さよ)
独断と偏見で選んだブース ベスト3
第3位 Giftee
好きなエディタは?とかブースに来た人たちも参加できる仕組みになってるのは素晴らしいと思いました。参加型ブースというのはやっぱり良い。
そしてやっぱりvimなんすよ。1日目のお昼なのでこの後どうなったかは知りませんが。
また全くの余談ですが、大昔ハッカソンで僕らチームのテーマが、このgifteeだったという事実。だからこれに本意気で挑んでいる事業は好きです(目の付け所が一緒なので)。応援してます。
第2位 Cookpad
Cookpadさんも毎日RubyPazzlesという名目で問題を提出。
3日目の15時にこれの答え合わせをやりますとなっていて、すごく参加したくなるし、参加しがいのあるイベントになっていました。感銘。
このクイズがまたエンジニアとしては挑みたくなるいい仕掛けでした。
そしてもう一度言う。ここのトートバッグは正義。
第1位 Repro
スタンプラリーのラストはReproの三木さんのところに決めて各ブースを初日のお昼休みで達成しました。三木さんありがとうございました。
すっごい真摯にお客様対応をしているところに、常連感出しまくって「どう?元気?」な感じで声かけてしまって申し訳ありません。
あと福引ガラガラでハンドスピナーあたったけど、「そんなん要らない、キーボードのトップパーツくれ」とかワガママ言って申し訳ありません。
写真撮っておいてもらって後から「そういやもらってない写真くれ」とか圧かけて申し訳ありません。
もともとReproさんは会社がご近所だった時に知り合い、弊社運営の『coffee mafia西新宿』もご利用いただいていました。なんかいつもありがとうございます。
共同での勉強会とか色々取り組みたいです(他の会社さんも巻き込むも有り)。
今後ともよろしくお願い致します。
さて、メーカー40ブースを回るスタンプラリーが実施されていました。
1日目のお昼だけで回りきりました。為せば成る。
ロクに話を聞いてなくて一緒に行ったメンバーから「え、言ってましたよ」とか「なんでそこに立ち寄ってノベルティもらってないんすか?」とか言われましたが、知らんがな。
僕らもスポンサーとして出展するなら、こういうノベルティをちゃんと用意しないといけないなーって思いました!
そうそう。メルチャリも乗った。
博多は自転車で行くべきと思った。やっぱり自転車は最強だった。
僕はお恥ずかしながら、九州に初上陸&「RubyKaigi」も初参加で。大変良い天気だったのもあってか福岡は本当に良いところでしたし、非常に良い体験をさせていただきました。
やっぱり登壇してる人や参加してる人は、どこか良い意味で頭オカシイ方が多く僕はウェブという戦場で戦うサービスサイドのエンジニアであり、いわゆるプログラマーの生粋といえる言語を作る人達とは生きてる世界線が違うのだなと痛感しました。
どっちが優れてるとか劣ってるという話ではなく、輝く世界が違うのだなと。
神に近いド変態達が集まる祭典は大変面白かったし、またエンジニアとしての生き方を考えさせられる大変良い機会でした。
“英語力”も本当に痛感させられました。プログラム関係の固有名詞が、各セッションの主を飾りますので、その単語は大体わかるものの、文章としての理解が弱く意味を取り違えていたり「あ、わからん」となる瞬間が結構あったように思います。次回までの課題。
つまりなんだというと、「あー楽しかった」ということです。
そんなfavyのエンジニアチームでは、一緒に働くメンバーを募集しています。