chobishibaにっき

どこかに行ったりやったりしたことの記録

RubyKaigi2018に行ってきました

昨年不参加だったので2年ぶりのRubyKaigiでした!初仙台!

カンファレンス詳細

RubyKaigi2018

聴講

1日目

Keynote Yukihiro "Matz" Matsumoto@yukihiro_matz

今回のテーマはことわざ。

  • 名は体を表す 名前付けには2種類ある
  • 振る舞いに対して名前をつける
  • うまく名前が付けられないのは名前をつけたい概念に対して理解が足りない
  • プロジェクト(コミュニティ)に名前
  • よい名前はコミュニティの旗印や求心力になる
  • 時は金なり
    • たくさんあることのなかから何をするか何からするか時間をどうつくるか
    • (ほとんどの人にとって)どの言語を選ぶのがいいかというと質問したときに答えてくれる人がいる言語がいい
  • 塞翁が馬
    • Rubyができたばかりの頃、Railsができる前、今、状況が変わっている
    • 一喜一憂しない
    • 互換性を大事にしつつ変化をやめてはいけない。
    • Rubyはコミッターが開発しているだけでなく、コミュニティが提案している。コミュニティがRubyを成長させてる
    • RubyKaigiの間にRubyがこんなふうだといいな、もっとこうなったらいいなという話を周囲の人としてほしい

大事な要素がぎゅっと詰まっていました。1日目初っ端の公演がこんな素敵内容でテンションがガッと上がっていました。

RubyGems 3 & 4-Hiroshi SHIBATA@hsbt

RubyGems2.7の現状、3と4のリリース計画についての発表

  • RubyGemsは複数Rubyバージョンでの可動を担保しないといけないのが大変
  • 2.7はRuby1.8サポートのためにコードが複雑になっている
  • Ruby 2.6.0には3.0、2.7 or 3.0には4.0が入る予定
  • RubyGems3
    • いくつかのAPIを非推奨にする
    • Ruby2.2以上をサポート対象にする
  • RubyGems4
  • 3で非推奨になったものを削除
  • 何を削除するかの判断は重要
    • akr/gem-codesearch と aka/all-ruby を使っている

いつもお世話になっています。複数バージョンでも動く担保をとる工夫がすごい。継続していくためには大事な工夫。

2日目

Improve Ruby coding style rules and Lint-Koichi ITO@koic

  • Rubocopは使ってないけど1番作ってる
  • copは作れる
  • 自分たちが起きたことは他のプロジェクトでも起こりうるのでcopにして還元
  • デフォルト設定はRailsのスタイルガイドに則ってる
    • デフォルトは変えられる
  • Style と Lint の違い
    • Style
      • 好み
      • スタイルは文化とかカルチャなのでカスタマイズする
    • Lint
      • バグになりうるもの
      • 将来的なインターフェースの変更
      • 好みとかそういう問題じゃない
    • LintとStyleは分けて考えたほうがいい

「自分がいないところでも自分がレビューできるようにする」という考えは他の仕事にも通じるところがある気がする。

Ruby Committers vs the World

ドキュメント Rubyコミッターのみなさんが登壇して現在の問題や今後について討論 今年はグーグルドキュメントのアジェンダを見たり(時に書き込んだり)して進んでいく公開開発者会議スタイル

いつもの年より多くの人の意見が聞けて面白かったです。

3日目

Ruby code from the stratosphere - SIAF, Sonic Pi, Petal-Kenichi Kanai@kn1kn1

Petalの文法の説明と成層圏でパフォーマンスしたいと思ってチャレンジした発表。

  • SonicPi
    • コードを使って音楽を作れる
    • Rubyで作られている。Rubyが書けたら音楽がつくれる
    • 2016年にジュリアンさんが発表した中で出てきたマリオの音楽もSonicPiで作られていた
  • Petal
    • knikn1さんの作った言語
    • SonicPi上で動く
  • 成層圏でパフォーマンスしたくなった
    • 最初からうまくいったわけでなく、データ収集や実験のために気球を飛ばした(合計5回気球を飛ばした)
    • 最終的に気球を成層圏まで飛ばしてそこで生成されたRuby codeを地上に送って再生という方法に落ち着いた。
      • 生成 … センサーを使って緯度経度高度を取得。ログから生成したコードをSonicPiで実行
    • 気球が上がるごとに持続音が変わるようにパフォーマンス

ひとこと

デモ見てたら楽しそうでSonic Piをインストールしてしまいました。遊んでみよう。

TRICK 2018 (FINAL)

入賞5選

  • 佳作からしてすごい
  • 何がどうなってるかわからない
  • 予約語だけで作られた何もしないコードが優勝

全力で遊ぶためには対象をよく知らないといけないんだなと思いました。

ノベルティ

  • 自社のノベルティなんだか嬉しかったです。恒例のノベルティデプロイという名の手搬入やりました
  • Misocaさんのステッカー帳が楽しかったです
    • 帰宅してステッカー貼ってたら家族にえらい楽しそうな顔してるねと言われましためっちゃたのしい

会えた

  • 昨年不参加だったのでお久しぶりの方にたくさん会えた気がします
  • 「あの」勉強会はやりたい
  • はじめましての出会いもあるので上手に自己紹介・自社紹介できるようになりたい

印象的

  • オフィシャルパーティーで使っていたカップホルダー付トレーがとてもよかった。立食パーティ系全部これにしてほしい。
  • 事前に美味しいもの情報をたくさん教えてもらっていたおかげで気になっていたものは全て抑えた!
  • 友人が制作に関わった東北限定のCMが6/1から放送で丁度ホテルで見れて興奮

総括

なんか濃厚で凝縮された時間を過ごしました。めちゃくちゃ楽しくてここ数年で一番楽しいRubyKaigiだったなーって思いました。