日常

ケ・セラ・セラ

Railsdm 2019 で Charty on Rails というタイトルで発表しました

みなさん Railsdm 2019 お疲れ様でした。

僕は 2 日目 (3/23) に、"Charty on Rails" というタイトルで発表しました。

Charty に関する発表をするのは今回がはじめてでした。そういうこともあって、伝えたいことがたくさんありました。

Charty は Rails アプリケーションを書くに通常必要な技術の領域に対して、扱うもの (データ構造、plotting library, ユースケースや前提知識) が少々ニッチです。

なにから話せば伝わりやすいだろう、30 min という枠の中で、自分の言いたいことはなんだろう。この場で何を伝えて、発表後に得ていたいもの、発表後になっていたらうれしい状態はなんだろう。みたいなことにいつも以上に悩んだなあということを今思います。

これらはスライドにも書いたのですが、結果的に、今回自分はこういう発表をしたいんだなということが分かりました。

  • 自分が前に進むための発表
  • 自分以外の前に進みたい人が前に進みやすくなる発表
  • 開発に参加する人が増える発表

Charty のことを紹介したいが一番強くて、Charty の開発の過程というのは、他の方にも再現性のある成長の 1 パターンだと認識できたので、そういう内容までを含めました。上手く説明できたかどうかはまた別ですが。

そして、30 min (発表)後、こうなっていたら嬉しいと考えていることが分かりました。

  • Charty って、こういうものなんだ! (知ってもらう)
  • この人 (たち) は、そういう活動をしているんだね! (知ってもらう)
  • 私も開発することに興味はあるから、 参加してみよう! (思ってもらう)

なので、発表後や懇親会で Charty について色々と質問をくれたり、中でも Red Data Tools 行きますと言ってくれたりしたことは嬉しい出来事でした。ありがとうございます。

そうそう、次回の Red Data Tools の開発の集まりは 4/9 (火) ですよ。4/9 っていうともう RubyKaigi 直前ですねえー。

speee.connpass.com

AMA で頂いた質問に回答しました。 issei126 さん質問ありがとうございました。

railsdm.herokuapp.com

質問

Charty は gruff や Rubyplot のラッパーライブラリという認識でよいですか? 直接それらを利用するのではなく、Charty を使うメリットはなんでしょうか?

回答

質問ありがとうございます。

  1. Data Abstraction Layer を用意したことにより、サポートしているデータ構造 (現在のところ Daru::DataFrame, Numo::NArray, NMatrix, ActiveRecord) であればどれでも同じように扱えること。

  2. Plotting Abstraction Layer を用意したことにより、サポートしている plotting library (現在のところ maplotlib, gruff, rubyplot) であればどれで統一されたひとつのインターフェースで扱えること。

  3. 1, 2 により、ユーザが使いたいデータ構造、Plotting library の組み合わせで自由に plot できること。

  4. Charty の用意している設定により、render メソッドを呼ぶだけで、"そこそこ良い感じ" の設定でグラフを描画できること (それぞれの plotting library で、きれいなレイアウトでグラフを出力したいとすると、細かなオプション指定を自分でする必要が生じます。その手間を省き、data plot のために時間を使うよりも、本来目的とするデータ解析に集中することができる状態になること) が、Charty を使うメリットです。 なので、手間をかけて詳細に plotting library のオプションを設定してでも、自分好みのきれいなグラフを出力したい。といった用途では、Charty を使わずに、直接自分の使いたい plotting library を使わなければ、やりたいことを表現できないことがあります。

この様な特徴を理解して Charty を使うとよいと思います。 また上記とは別に、 Charty がより多くのケースで便利に使える様に、引き続き改善を続けていきます。

幸運ではない出来事として、発表中に Mac がフリーズしてしまい、再起動のため発表時間が少なくなってしまいました。せっかく発表を聞きにきてくれたのにごめんなさい。Charty の開発という体験から伝えたいことがもう少しあったり、コードに触れる時間が無くなってしまいました。駆け足で飛ばしてしまった部分や、最後の方のまるっと現れなかった部分、言葉で説明出来なかった内容を文章をちょっとだけ加えて公開しました。

speakerdeck.com

参加者としても楽しみました。

Day 3 の時 ほどじゃないけれどいくらか写真を撮ったりしていた。

中でも金子さんの写真はかなりいい感じに撮れたと思うんですよ

treby さんありがとう!!

せりーぬさん、いそはたさん、りゅっくん、あんでぃ

僕は Speee の社員なのですが、今回 Railsdm 2019 のスポンサーの話を快く受けてくれたり、登壇や開催自体を喜んでくれたことが僕としてはかなり嬉しかったし励みになりました。

特に周りが無関心であっても自分がやりたいからやれはするんだけれど、社内で応援してくれる人がいると全然違いますよやっぱり。活動がしやすいし、モチベーションにもなります。

当日などはもっと多くの人に手伝ってもらったのですが、主に関わっていただいた方々には特に感謝しています。

せりーぬさんはめっちゃいい人で、とてもすごい人でたとえば、「(イベントの打ち合わせで) 松田さんと一回直接話した方が手っ取り早いのでは?今日 Asakusa.rb に行くと会えますが一度一緒に行きます?」「行きます!(即答)」 みたいな人で、なんらか活動している人が大切にしていることを理解することの大切さみたいなのを知っているんだなー。という感じの人で、めっちゃ応援してくれる。とてもすごい人。

いそはたさんは Railsdm の冊子や水のデザインなどをもりもり進めてくれたデザイナーの方で、実はこの作業で初めて僕は接点を持ちました。僕も案を出したりの辺りでちょっとだけ関わったんだけれど、目的や状況に応じて意味のあるものに具現化していく様子とか、さっと手を動かして作って、発注などの処理までやってしまう。考え方が枠にとらわれていなくて好きだし、作業の過程でずっとすごいなーと思っていた。色々と進めて頂いて本当にありがとうございます。

りゅっくん、あんでぃ。Speee のこととか、スポンサーとして伝えたいことを、限られた時間や、スペース、文字数の中には収まりきらないほどあるわけなのだけれど、それをどうしたら最大限伝えられるかとか、妥協せずに一番良いところを目指すという考え方、動き方がすごくて、登壇する側としてはとにかくありがたいし、僕は僕でやることちゃんとやろう。がんばろう。という気持ちになれました。ありがとうございます。

今後のこと

Charty に関する一回目の発表が悩みながらも今回できましたが、Charty の開発自体は続きます。より便利に使えるようにします。 今回を基準として、次回はもっと分かりやすく説明できるようにしたいですし、そうできるようなコードを書いて、発表技術の方も改善しないとなあ。ということを思っています。

今回初回なので、色々と詰め込みたくてどうしても話題が発散しがちになってしまったとも思います。機会があれば出来るように、Charty の技術要素のみに特化した発表の準備もしたいです。

そういうわけで、引き続きコードを書いてひとつずつ実現していこうと思います。

幸運にも、今年の RubyKaigi でも登壇することが出来るので、次はその場で良い成果を伝えられるように準備したいと思います。福岡でまた会いましょう。

rubykaigi.org