Pragmatic Charty

Pragmatic Charty

名古屋 Ruby 会議 04

7ef4ab70ee295c821f8b77fab3aa87cf?s=128

秒速284km

June 08, 2019
Tweet

Transcript

  1. Pragmatic Charty 名古屋 Ruby 会議 04 秒速亭⼆⼋四粁

  2. None
  3. None
  4. None
  5. None
  6. 内径 35 メートル !!

  7. None
  8. 昨夜 ロース味噌かつ ⼿⽻先 天むす

  9. 今朝 串カツ エビフライ おいしいお茶

  10. お茶 直前の発表で joker1007 さんはお茶を濁すって⾔ってたけど 今朝のは濁っていないきれいなお茶でした

  11. 茶 :tea:

  12. ...... !!!

  13. "Charty"

  14. (@amatsuda says...)

  15. red-data-tools/charty Visualizing your data in Ruby

  16. Visualizing your data in Ruby って たとえば

  17. None
  18. None
  19. None
  20. None
  21. みたいなのが簡単に出⼒できちゃう

  22. red-data-tools/charty You need to write very few lines of code

    for representing what you want to do. It lets you focus on your analysis of data, instead of plotting.
  23. red-data-tools/charty 過去の発表 Charty を知ってほしいなあ。開発者が増えたらうれしいなあ。 RailsDM 2019 RubyKaigi 2019 - RubyData

    Workshop
  24. red-data-tools/charty 今⽇の発表 Charty を知ってほしいなあ 名古屋でも開発者が増えたらうれしいなあ 実⽤的な話もしたい ← New!!

  25. Charty を知ってほしいなあ について

  26. Charty の基本情報 前提ぽいことを話すと⻑いので、ちょっと駆け⾜で説明します。 ここわからないんだけど!というのがあったら補⾜するので発表中で も声かけて頂いて⼤丈夫です! (今⽇は最後までいるので発表後に聞いてくれても良いです!)

  27. None
  28. 最近の状況を踏まえて (RubyKaigi 2019 での発表以降、⾊々と開発が進んだので最新情報 を説明します)

  29. Data Abstraction Layer Daru::DataFrame Numo::NArray NMatrix ActiveRecord benchmark_driver (Charty Adapter)

  30. Plotting Abstraction Layer PyPlot (matplotlib.pyplot) Gruff rubyplot Google Charts ←

    New!! chart.js (experimental) (bokeh) 実装予定 (Plotly) よさそう。実装予定 GR Framework ( 再考。薄いラッパーを⽤意するか)
  31. None
  32. Simple usage require 'charty' charty = Charty::Plotter.new(:pyplot) bar_plot = charty.bar

    do series [0,1,2,3,4], [10,40,20,90,70], label: "sample" end bar_plot.render("sample.png")
  33. GitHub を⾒たり、デモをしながらい くつかのサンプルを紹介します 実はここにサンプルがいろいろ⼊っている。 https://github.com/red-data-tools/charty/tree/master/examples

  34. 名古屋でも開発者が増えたらうれしい なあ について

  35. 最近の Charty 開発のようすを紹介し ようと思います

  36. RubyKaigi 2019 コード懇親会にて 3 ⼈からの合計 3 つの pull request がマージまでたどり着いた。

    内 2 ⼈は OSS のコードで pull request ははじめだったとのこと これらは⾃分以外の⼈が開発をしたから分かったモノ達である。 Unstrict dependency version for bundler by tomog105 · Pull Request #4 · red-data-tools/charty Adds MacOS installation to README by Chinats · Pull Request #5 · red-data-tools/charty Fix typo in examples/daru.rb by kantarow · Pull Request #6 · red-data-tools/charty
  37. RubyKaigi 2019 の翌⽇ After Hack にて 実際に使っている backend を⾒てもらえると助かる例: Gruff

    現在は Pyplot がリファレンス実装的位置づけなので( プロット可能な グラフが⼀番多い。などが理由) 直接話しながら背景を踏まえて⼀緒に開発したら捗った例と⾔えそう add an instruction for Ubuntu + pyenv by hasumikin · Pull Request #8 · red-data-tools/charty Add label option to series at README by yaboojp · Pull Request #9 · red-data-tools/charty
  38. RubyKaigi 以降、現在まで Add google charts backend by indigolain · Pull

    Request #11 · red-data-tools/charty Abstract plotter by kantarow · Pull Request #13 · red-data- tools/charty Use volume mount in Dockerfile.dev by kei-s · Pull Request #15 · red-data-tools/charty fix travis ci by katsyoshi · Pull Request #17 · red-data- tools/charty あとは、コミット権を持っている⼈の分は書いていないけれど、裏側 の設計、実装の整理が最近進⾏していたりします。
  39. How to development

  40. Development with Docker (@koic さんの " 海外Ruby カンファレンスへの踏み出し⽅" に学ぼう!) (yn-misaki

    さんの 開発環境のに関する話でも⾔及していましたね。) たとえば突然いつもの開発⽤マシンを失うことだってある。そんな時 にもすぐに開発再開が可能となるのは便利。 今ならこれだけで動かせます! $ bundle install $ docker build -f ./Dockerfile.dev -t charty-dev:0.1 . $ docker run -it -v ${PWD}:/charty -w /charty charty-dev:0.1 ./bin/console irb(main):001:0> Charty::VERSION => "0.1.4-dev"
  41. 最近はどんな⼈が、どういうことをや っているか、という話 Gruff bokeh Chart.js Plotly

  42. Ruby Association Grant のはなし https://www.ruby.or.jp/en/news/20181106

  43. 実⽤的な話もしたい

  44. Gruff が古い RMagick に依存している 件 先ほど話した、Charty が Gruff から他の何かへの移⾏パスになり得 るという話。

    ( もし話していなかったら、ここで話します)
  45. ActiveRecord との組み合わせ image ファイルの場合はまあ、Gruff を置き換えるだけという感じ JavaScript ライブラリと組み合わせた場合はどう? デモをします Chart.js の場合、pan

    とか、pinch in, out をするために hammber.js に依存している辺りがちょっと気になっている。 react だったり、他の何らかの javascript のライブラリと組み合わ せた時⼤丈夫なもの? まだ調べられていない。知っている⽅がいたら教えてほしいで す! こちらはまだ実装が無いのですが、bokeh.js や、plotly の⽅が本 命。という感じはしています。
  46. 再びバックエンドの切り替えが楽とい う話 それらが後にバックエンドとして実装されたら、バックエンドを簡 単に切り替えればそのまま使えるというのも Charty のメリット まだしていなかったら、Plotly のおもしろそうな機能の話

  47. 284km/benchmark_driver-output- charty $ be benchmark-driver examples/parse.yaml -o charty

  48. red-datasets を⽤いての例 デモしながら説明します!

  49. Future Plans 実⽤的な例を⽰そうと思った時、例えば他の⾔語やライブラリのサ ンプルと同様のデータセットを red-datasets に追加して、同様の こういうことはカバーしています。という⾒せ⽅ができると説得⼒ がありそう。とここ最近考えるようになりました。 最近 Charty

    の interface を変えているせいで、rubydown との連携 が壊れていると思う。直す。(スミマセン Charty を使えそうなところ ( 使うメリットがある部分で使っていく) Charty を導⼊したいとか、既存のグラフライブラリから置き換え たい。気になる。などありましたら是⾮気軽に声をかけてください
  50. こう書く⽅向に変更しようと現在考えている foo = Foo.where(...) plot = Charty.bar(:price, :sales, foo, plotter:

    :google_chart) plot.render
  51. Practicality and Continuity ⼿元のブランチで実はあるリポジトリの gruff を Charty にほぼ置 き換えたやつがある。 少しづつ試してみて、いけそうな段階に達したら切り替えようかと

  52. Join us! Red Data Tools: https://red-data-tools.github.io/ 次は 6/11( ⽕) OSS

    Gate 東京ミートアップ for Red Data Tools in Speee オンラインのコミュニケーションはこちら! red-data-tools/ja - Gitter