Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pragmatic Charty
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
秒速284km
June 08, 2019
Programming
2.5k
0
Share
Pragmatic Charty
名古屋 Ruby 会議 04
秒速284km
June 08, 2019
More Decks by 秒速284km
See All by 秒速284km
fukuoka_ruby_2019
284km
0
200
Rubyアソシエーション開発助成成果報告会
284km
0
2.3k
Charty - Visualize Real-world Data with Ruby
284km
1
2.6k
Charty - Visualizing your data in Ruby
284km
0
2.5k
.so にして色々な言語から便利にのっかろう
284km
0
98
Charty with Rails
284km
1
100
Charty (RubyGrant 2018)
284km
0
2.5k
Better CSV processing with Ruby 2.6
284km
0
120
Charty on Rails - Railsdm 2019
284km
3
2.3k
Other Decks in Programming
See All in Programming
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.2k
Make GenAI Production-Ready with Kubernetes Patterns
bibryam
0
100
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
300
Feature Toggle は捨てやすく使おう
gennei
0
530
存在論的プログラミング: 時間と存在を記述する
koriym
5
860
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
110
Vibe NLP for Applied NLP
inesmontani
PRO
0
290
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
570
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
150
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
770
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
360
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
240
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
The SEO identity crisis: Don't let AI make you average
varn
0
440
From π to Pie charts
rasagy
0
160
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.5k
How GitHub (no longer) Works
holman
316
150k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Fireside Chat
paigeccino
42
3.9k
Transcript
Pragmatic Charty 名古屋 Ruby 会議 04 秒速亭⼆⼋四粁
None
None
None
None
内径 35 メートル !!
None
昨夜 ロース味噌かつ ⼿⽻先 天むす
今朝 串カツ エビフライ おいしいお茶
お茶 直前の発表で joker1007 さんはお茶を濁すって⾔ってたけど 今朝のは濁っていないきれいなお茶でした
茶
茶 :tea:
...... !!!
"Charty"
(@amatsuda says...)
red-data-tools/charty Visualizing your data in Ruby
Visualizing your data in Ruby って たとえば
None
None
None
None
みたいなのが簡単に出⼒できちゃう
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.
red-data-tools/charty 過去の発表 Charty を知ってほしいなあ。開発者が増えたらうれしいなあ。 RailsDM 2019 RubyKaigi 2019 - RubyData
Workshop
red-data-tools/charty 今⽇の発表 Charty を知ってほしいなあ 名古屋でも開発者が増えたらうれしいなあ 実⽤的な話もしたい ← New!!
Charty を知ってほしいなあ について
Charty の基本情報 前提ぽいことを話すと⻑いので、ちょっと駆け⾜で説明します。 ここわからないんだけど!というのがあったら補⾜するので発表中で も声かけて頂いて⼤丈夫です! (今⽇は最後までいるので発表後に聞いてくれても良いです!)
None
最近の状況を踏まえて (RubyKaigi 2019 での発表以降、⾊々と開発が進んだので最新情報 を説明します)
Data Abstraction Layer Daru::DataFrame Numo::NArray NMatrix ActiveRecord benchmark_driver (Charty Adapter)
Plotting Abstraction Layer PyPlot (matplotlib.pyplot) Gruff rubyplot Google Charts ←
New!! chart.js (experimental) (bokeh) 実装予定 (Plotly) よさそう。実装予定 GR Framework ( 再考。薄いラッパーを⽤意するか)
None
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")
GitHub を⾒たり、デモをしながらい くつかのサンプルを紹介します 実はここにサンプルがいろいろ⼊っている。 https://github.com/red-data-tools/charty/tree/master/examples
名古屋でも開発者が増えたらうれしい なあ について
最近の Charty 開発のようすを紹介し ようと思います
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
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
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 あとは、コミット権を持っている⼈の分は書いていないけれど、裏側 の設計、実装の整理が最近進⾏していたりします。
How to development
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"
最近はどんな⼈が、どういうことをや っているか、という話 Gruff bokeh Chart.js Plotly
Ruby Association Grant のはなし https://www.ruby.or.jp/en/news/20181106
実⽤的な話もしたい
Gruff が古い RMagick に依存している 件 先ほど話した、Charty が Gruff から他の何かへの移⾏パスになり得 るという話。
( もし話していなかったら、ここで話します)
ActiveRecord との組み合わせ image ファイルの場合はまあ、Gruff を置き換えるだけという感じ JavaScript ライブラリと組み合わせた場合はどう? デモをします Chart.js の場合、pan
とか、pinch in, out をするために hammber.js に依存している辺りがちょっと気になっている。 react だったり、他の何らかの javascript のライブラリと組み合わ せた時⼤丈夫なもの? まだ調べられていない。知っている⽅がいたら教えてほしいで す! こちらはまだ実装が無いのですが、bokeh.js や、plotly の⽅が本 命。という感じはしています。
再びバックエンドの切り替えが楽とい う話 それらが後にバックエンドとして実装されたら、バックエンドを簡 単に切り替えればそのまま使えるというのも Charty のメリット まだしていなかったら、Plotly のおもしろそうな機能の話
284km/benchmark_driver-output- charty $ be benchmark-driver examples/parse.yaml -o charty
red-datasets を⽤いての例 デモしながら説明します!
Future Plans 実⽤的な例を⽰そうと思った時、例えば他の⾔語やライブラリのサ ンプルと同様のデータセットを red-datasets に追加して、同様の こういうことはカバーしています。という⾒せ⽅ができると説得⼒ がありそう。とここ最近考えるようになりました。 最近 Charty
の interface を変えているせいで、rubydown との連携 が壊れていると思う。直す。(スミマセン Charty を使えそうなところ ( 使うメリットがある部分で使っていく) Charty を導⼊したいとか、既存のグラフライブラリから置き換え たい。気になる。などありましたら是⾮気軽に声をかけてください
こう書く⽅向に変更しようと現在考えている foo = Foo.where(...) plot = Charty.bar(:price, :sales, foo, plotter:
:google_chart) plot.render
Practicality and Continuity ⼿元のブランチで実はあるリポジトリの gruff を Charty にほぼ置 き換えたやつがある。 少しづつ試してみて、いけそうな段階に達したら切り替えようかと
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