Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

RubyWorld Conference 2018に行ってきた

こんにちはスタディプラスCTOの島田です。

はじめに

スタディプラスは、RubyWorld Conference 2018Platinumスポンサーとして協賛をさせて頂きました。 それに伴って、ブースも出展いたしました。

2018.rubyworld-conf.org

島根到着からブース出展までの内容と、同行した各エンジニアの印象に残ったセッションの感想を紹介させて頂きます。

出雲縁結び空港と会場

出雲縁結び空港には、早速RubyWorld Conferenceのポスターが。

カンファレンス当日は晴天に恵まれました。(大橋川にてしじみ漁をしている模様)

企業ブース出展をする大展示場の様子。

ブース出展

スタディプラスのブースでは、Studyplusのサービスにちなんで、「好きなRubyの技術書を投票!!」という企画を実施しました。

投票してもらうRuby技術書を独断と偏見で5冊ピックアップ。

多くの方に投票を頂きました。

ブースにはMatzさんにも来て頂き、著書にサインと記念撮影をしていだきました。

セッションの感想

島田

基調講演 The Power of the Community(まつもとゆきひろ氏)

Rubyコミュニティのこれまでのヒストリーと、コミュニティの力。 個人的には「Rubyは不景気が生んだ言語」というのが刺さった。

花井

RubyによるDBスケーラビリティ

Leonard Chinさんによる、クックパッドの1000万ユーザーを支えるDB周りについての発表でした。 クックパッドさんほどではないですが、弊社もRails 3の時代からRuby on Railsによる開発を続けており、すぐに業務に役立てたいと思うTipsがある発表でした。 特に

  • ユーザーが多いので遅くなっている人を特定するのが難しい
  • データが多いので再現するのも大変

という点は大変共感できました。

発表では、実際にあったトラブルを例に

  • NewRelicのAverageResponstimeでは問題ないようにみえるレスポンスの陰にあるユーザーの体験を95パーセンタイル、99パーセンタイルも見てボトルネックの発見に至った
  • activerecord のexplainメソッドで計測した
  • indexだけで解決できない問題をRubyの積演算で解決した

など具体的な解決の手順と、そこに至る道筋を追体験できるもので、とても参考になりました。

mruby/cを用いたプログラミング教育向けデバイスの開発

牧 俊男さんによる、mruby/cでArduinoの制御をする事例の発表でした。 今回のカンファレンスには現地の高校生も参加しており、最近のプログラミング教育で具体的にどのような取り組みがされているのかを知る機会に恵まれておりました。 そんな中での本セッションは、プログラミング未経験の中高生に8時間で体験してもらうための工夫や、発展途上のmruby/cでの苦労などが紹介されていて個人的に興味深い内容でした。

Cのコードへ変換するか、直接Cのコードを書くというところにハードルを感じていたのですが、irbの感覚でデバイスの制御ができるという点に関心を持ちました。 業務ではまず使うことのないデバイスですが、この発表を見て早速Arduinoを購入しました。

石上

1日目、2日目の中から気になった講演・発表の感想などを書きます。

基調講演 The Power of the Community(まつもとゆきひろ氏)

タイトル通り、Rubyコミュニティの力についての講演でした。Rubyをデザインしたのはまつもとさんですが、Rubyがここまで大きくなるにはコミュニティの力が不可欠だったことを知ることができました。

スモウルビー3.0の開発とRubyを用いたプログラミング学習への活用

ScratchのRuby版、smalruby(スモウルビー)の開発についての発表。私はこの発表を聴くまでsmalrubyについて知りませんでしたが、発表者である島根大学の武本さんの、プログラミングを楽しむことへの情熱が伝わってきてとてもよい発表でした。Githubに公開されているので、実際に手元へcloneしてきて yarn; yarn run start したら動きました。スモウルビーはscratch-guiをforkしていて、Rubyコードの生成以外は本家と同じようです。

Scratchのようなツールは、存在自体は前々から知っていたものの、普段触ろうとする機会がないので新鮮でした。プログラミング教育の盛り上がりと同時に、こういったプログラミング体験ツールも今後いろいろ出てくると面白いなと思いました。

基調講演 Don't Stop Moving(Chad Fowler氏)

エンジニアがモチベーションを保つためにどうするかという話でした。エンジニアリングに限らず、自己啓発系の書籍や、考え方なども紹介されていました。自分が投資している技術カテゴリを意識することなど、今後のキャリアを考える上で参考になる話が多かったです。

CookpadがRubyと歩んできた10年

Cookpadで実際に存在した、過去のおもしろPull Requestが紹介されていて楽しかったです。 終わったあと、一緒に聴いていた自社のエンジニアと、うちもいろいろありそうですねという話をしました。

RubyによるIoTデバイス制御

mruby/c で下記のIoTシステムを作ったことについての発表。

組み込み系のシステムをRubyで書いた実例として面白かったです。mrubyに対して興味がわきました。

田口

一日目に印象に残った2つの発表についての感想を書きます。

Railsチュートリアル×反転授業: 解説動画を用いた能動的な学びによる驚きの効果

https://speakerdeck.com/yasslab/more-interactive-way-of-learning-rails

Railsチュートリアルを公開しているYassLab株式会社の安川さんの発表です。
個人的にRailsチュートリアルは大変お世話になったので、今回の発表は非常に楽しみでした。
発表を聞く前は「反転授業」とはどういうことかわからなかったのですが、「一斉授業」「反転授業」について以下のスライドでわかりやすく説明されています。

https://speakerdeck.com/yasslab/more-interactive-way-of-learning-rails?slide=30 https://speakerdeck.com/yasslab/more-interactive-way-of-learning-rails?slide=31

「一斉授業」は、現在の学校での授業のような体系です。講義外の課題として、宿題を解いたりします。
「反転授業」はまさに一斉授業の反転で、学校の授業でやっているような「知識のインプット」を講義外で行い、講義中は実戦形式で開発していくといった体系です。
反転授業の体系の話を聞いたとき、なるほどと感じました。自分がRailsチュートリアルを実際にやってみたり、エンジニアとして働いてみて感じたことですが、手を動かして作りながら学んでいったほうが、インプットだけするよりも効果的であると思っています。それに通ずる感覚を、講義を通じて養えると考えると非常に有意義だと思います。また、スライドにもありますが、難しくて挫折しがちな初学者が挫折しないようにすることにおいてもかなり効果的なのは素晴らしいことだと思います。
この発表を見て、学生だけでなく、新しいことを学ぶ社会人にも反転授業が有効であると感じました。料金的にお得な法人向けの動画視聴サービスを公開されているようなので、法人での導入も大いにアリなのではないかなと思います。

プログラミング入門をプロジェクトでやってみた -Rubyで取り組むプログラミング実践-

フェリス女学院大学でのRubyを用いたプログラミング授業の実例の発表でした。上記のRailsチュートリアルの次の発表だったのですが、実践的な教育の事例として関連が深い発表だと感じました。
授業の講師の方と、その授業を受けていた生徒2名の合同発表でした。授業の実際の内容の話を聞くと、4〜5人でチームを組み、チームメンバーの得意分野に応じて作業を分担したり、講師の方との頻繁なやり取りで疑問を解決したりしていて、非常に実践的だなと感じました。個人の実際の作業とチームでの作業を同時に体験できるので、かなり良い経験になるのではと思います。
生徒の方々は文系学部で、IT関連の業界や職務には詳しくなかったと聞きました。プログラミングは遠い世界にあるものという感覚を持っていたそうです。そのような人が、授業を通じてプログラミングを実際にやってみて、さらにそれをチーム全体のプロジェクトとして進める経験を積んだというのは、非常に素晴らしいことだと思います。
成果物として、Rubyで図形を描いて作成したというステッカーを配布していたので、ありがたくいただきました。素敵な授業だと思うので、今後もこの授業を受けて少しでもプログラミングに興味を持ってくれる生徒が増えるといいなと思います。

スポンサーLT

コーヒーブレイクで発表した協賛企業のショートプレゼンテーションを紹介します。

speakerdeck.com

最後に

スタディプラスとしてテック系カンファレンスでブースを出すのは初めてのことだったので、不慣れな点や反省する点がいくつかありました。 しかし色々な方に立ち寄って頂き、ユーザーの方とも触れ合う機会も得たりと実りあるものだったと思います。

今後もメンバーの技術への知見を広げる事とOSSコミュニティへの貢献のため、カンファレンスへの協力をしていきたいと考えています。