Crevo Developer’s Blog

クレボ開発者ブログ

RubyKaigi2018@仙台に参加してきたので、面白かったプレゼンをまとめました!

こんにちは! Crevoプロダクトマネージャーの中村です。

5/31(木)〜 6/2(土)の3日間、 会社に参加費・旅費・宿泊費を全部負担してもらって RubyKaigi2018@仙台に参加してきたので、各Crevoエンジニアが『特に面白かった!』と感じたプレゼン内容を、感想とともにまとめてもらいました!

rubykaigi.org

個人的には最後の東京開催以来だったのですが、 Rubyistになりたての気持ちを思い出して、ホームに帰ってきた感がありました。

面白かったプレゼン

Matzによる基調講演

時は金なり(価値なり)

Rubyは以下のことで開発者が生産的になることを助けてくれています。

  • たくさんのライブラリ、フレームワークがある
  • 助けてくれるメンターがたくさんいる
  • シンプルな文法
  • 型がない
  • Ruby自体のパフォーマンス

Rubyを最初に触った時、他の言語では味わえなかった「無駄にコード書かず、さくっと動いた」ことを思い出しました。 Rubyは素晴らしい開発言語なので、人が集まるし、集まった人が更に良くしていく循環が生まれていてプロダクトマネージャーにとっては、 お手本プロダクトが目の前にあることに気づき、目から鱗でした。

TTY - Ruby alchemist’s secret potion

発表資料: TTY - Ruby alchemist’s secret potion - Speaker Deck

Rails like に CLI アプリケーションを作成できる tty という Gem の紹介でした。 rails new でアプリケーションを作成するような感覚で CLI アプリケーションの雛形が作られ、 プラグインで拡張する方式で機能を手軽に追加できてすごく便利そうでした。 普段から CLI の中で作業をしている身としては、 これを使ってさっくりとツールを作っていければ良いなと感じました。

A parser based syntax highlighter

発表資料: A parser based syntax highlighter - Speaker Deck

Ripper を使った Syntax highlighter の実装のお話 従来の正規表現ベースの Syntax highlighter は読みづらいし誤判定も多いが Ruby なら Ripper を使えばより速く正確にパースできるからそれを使ったとのこと。 エディタの設定にこだわると、行き着くところの1つが Syntax highlight の設定なので 手軽で正確に設定できるようになると大変ありがたいと思いましたが 私は Vim を使ってないのでプラグインを作るところから始める必要がありそうでした。がんばろう。

It's Rubies All The Way Down

発表資料: It's Rubies All The Way Down

Webサービスを構成するソフトウェアの中で時代ごとにRubyがどういう役割を果たしてきたかを紹介 時代ごとにRubyがカバーする技術スタックは広がっており、パフォーマンスの問題により不向きと考えられていた領域(Webサーバーやロードバランサー)でも実用的な段階に入っているとのこと 個人的にはアプリケーション領域以外にもインフラ構成管理などでRubyのソフトウェアに触れてきましたが、今後様々な領域でRubyが使われることへの期待感がどんどん増して興味深かったです

Scaling Teams using Tests for Productivity and Education

発表資料: It's Rubies All The Way Down

チーム開発での Cognitive Overload (認知的過負荷?) を自動テストによって解決しようという取り組みの紹介です チーム開発においては色々な種類のミスが発生する。それらを全て回避することが開発者に求められそれが"過負荷"な状態になっている それらの問題を "detect" & "educate" (問題の検知とその問題についての開発者各々への教育) するためにテストを書く テストにすることで実際にその問題が起こったときに開発者自身がその問題について考えることができるので JIT Education (必要なときに必要な情報を開発者に与える)につなげることができる

JIT Education という言葉が斬新でした。CIなどの技術とも相性のよい素晴らしい考え方だなと思いました。 より良い理解につなげるためのエラーメッセージの書き方など実践的な内容で普段の開発にも活かせる内容でした。

A practical type system for Ruby at Stripe

発表資料: Sorbet: A Typechecker for Ruby

今年のRubyKaigiはRubyに型システムを付けてみる話が結構ありました。 こういうシステムを使えば自動的にバグを見つけてくれそうです。 もっと正しくコードを書くことが出来ます。

Stripeさんはsorbetという型システムを開発しております。 オープンソースとして公開する予定ですが、まだ公開してないらしいです。 まだリリースしてないが、ここでデモが使えます。 https://sorbet.run/

本番環境で使われてます。

https://sorbet.run/talks/RubyKaigi2018/#/8

TRICK 2018 (FINAL)

これはコードを描くコンテストなんですけど、コンテストの目標が「一番超越的なプログラムを作成する」というテーマでした。 クワインとか、自分のソースコードを読み込めるとか、ターミナルで3Dアスキーアートを表示されるとか、色んな変わってるプログラムを見て感動しました。

例えば、このプログラムはアスキーアートみたいなDSLから3Dモデルファイルに書き出しました。 https://github.com/tric/trick2018/blob/master/05-tompng/entry.rb

なんとー!(ノ゚⊿゚)ノ

すべてのエントリーは以下のレポジトリーで見てみてください。 https://github.com/tric/trick2018

旅の思い出

RubyKaigi以外にも仙台を楽しみました!

f:id:Crevo:20180723081346j:plain
懐かしきtricknotes師匠と

f:id:Crevo:20180723081631j:plain
映像機材展も同時開催されていて一石二鳥でした。

f:id:Crevo:20180723081607j:plain
列の最後尾もオシャレです。

f:id:Crevo:20180723081717j:plain
アフターPARTYで余った日本酒もらいました

f:id:Crevo:20180723232034j:plain
夜はRubyist達とワイワイしました。

Rubyist達と昼夜ともに観光できるのも、地方開催の醍醐味かもしれません!

まとめ

2019年は福岡開催が決まりましたが、 来年はスポンサーとして参加したいですね! Rubyのように世界中のユーザーから愛されるようなプロダクトを作って エンジニアとして社会に貢献したいなと思いました。 来年が楽しみです!

We are Hiring!

CrevoではRubyを使ってプロダクトを開発しています。 エンジニアを絶賛募集していますので、お気軽にご連絡ください!

サーバーサイドエンジニア https://www.wantedly.com/projects/170165

フロントエンドエンジニア https://www.wantedly.com/projects/153749

デザイナー https://www.wantedly.com/projects/104107

プロダクトマネージャー https://www.wantedly.com/projects/159361

© Crevo Inc.