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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
秒速284km
June 08, 2019
Programming
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pragmatic Charty
名古屋 Ruby 会議 04
秒速284km
June 08, 2019
More Decks by 秒速284km
See All by 秒速284km
fukuoka_ruby_2019
284km
0
210
Rubyアソシエーション開発助成成果報告会
284km
0
2.4k
Charty - Visualize Real-world Data with Ruby
284km
1
2.7k
Charty - Visualizing your data in Ruby
284km
0
2.6k
.so にして色々な言語から便利にのっかろう
284km
0
110
Charty with Rails
284km
1
110
Charty (RubyGrant 2018)
284km
0
2.6k
Better CSV processing with Ruby 2.6
284km
0
120
Charty on Rails - Railsdm 2019
284km
3
2.4k
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
240
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.5k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
140
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
110
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.6k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
スマートグラスで並列バイブコーディング
hyshu
0
140
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
230
Test your architecture with Archunit
thirion
1
2.3k
Crafting Experiences
bethany
1
180
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
The untapped power of vector embeddings
frankvandijk
2
1.8k
GraphQLとの向き合い方2022年版
quramy
50
15k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
Git: the NoSQL Database
bkeepers
PRO
432
67k
Accessibility Awareness
sabderemane
1
140
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Odyssey Design
rkendrick25
PRO
2
700
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