SlideShare a Scribd company logo
1 of 14
Download to read offline
Gemのお話
Ruby関西勉強会#73
2016-07-16(土)
@cawa
自己紹介
qかわはら たかひろ
q@cawa
q2016年4月からRailsでWebサービス開発中(未リリース)
q2015年にRails Tutorialを写経して入門
qKyoto.rb 週末開催担当
• 7月は24日(日)、28日(木)、8月は6日(土)にあります(宣伝)
qRubyKaigi2016@Kyoto (9月8〜10日) のお手伝いも少々
アンケート結果(1/3)
※リアルタイムで実施
アンケート結果(2/3)
※リアルタイムで実施
アンケート結果(3/3)
※リアルタイムで実施
Gemのお話
qGemってなんだっけ
qGemを見つけてから使うまで
qGem紹介
Gemって何だっけ
qGemとは
• Rubyのライブラリの形式
qGemに関する情報の取得
• rubygems.org
• 各gemのオフィシャルページ(githubなど)
qどんなgemがあるの
• フレームワーク(Rails, Sinatraなど)
• 機能実装(ログイン、ページネーションなど)
• 非機能実装(テスト、デバッグ、DB接続など)
• 外部サービス接続(SAAS)
Gemを見つけて使うまで
q見つけ方
• ”Rails ログイン”などで検索して見つける
• 他のエンジニアから教えてもらって知る
q使う時
1. 最終更新日付、スター数、ダウンロード数など確認
2. GithubのReadmeなどオフィシャル情報読む
3. “gem_name vs”などで関連情報をGoogle先生にあげてもらう
4. 日本語ブログやStackoverflowを流し読み
Gem紹介(1) フレームワーク: Rails
q代表的MVCフレームワーク
qRuby on Railsチュートリアル(railstutorial.jp)より
• 1.2.2 Railsをインストールする
qチュートリアルをゴールから見る
• github.com/railstutorial/sample_app_rails_4
ØGemfile
ØGemfile.lock
Gem紹介(2)画像管理Saas: Cloudinary
q画像ホスティング、画像変換
• hosting_url/w_250,h_250,c_thumb,g_face/sample.jpg
à sample.jpgから顔判定したサイズ250x250のサムネイル画像
• 2GB, 75,000 fileまで無料!
変換後オリジナル
プライシング
Gem紹介(2)画像管理Saas: Cloudinary
qGemにより簡単にUpload及び画像変換可能
auth =	{	
cloud_name: "somename",	
api_key: "1234567890",	
api_secret: "FooBarBaz123"	
}	
Cloudinary::Uploader.upload("my_picture.jpg",	auth)
cl_image_tag("woman.jpg",	:width	=>	90,	:height	=>	90,	
:crop	=>	:thumb,	:gravity	=>	:face)
• Upload
• 画像変換
Gem紹介(3)jsライブラリ:dropzonejs/spinjs
qdropzonejs: ドラッグ&ドロップで画像アップロード
• Jsとcssを読み込むだけ…
//=	require	dropzone
js
css
*=	dropzone/dropzone
q Jsファイル落としてAsset pipelineで読み込むのと何か違うの?
• 違いません (dropzonejs は rails generate あるけど…)
• このgem要らない子!?
• ソースコードが超絶少ないので最小構成のgemのお勉強になります
q spinjs: 公式サイト見ましょうか
• jsを読み込むだけ…
Gem紹介(4) 便利なやつ: pry
q強化版irb (interactive Ruby)
• ハイライトが入る, 諸々のコマンド, Shellと統合などなど
q他にもpry-doc, pry-rails, pry-byebug, pry-stack_explorerなどあるが…
• 割愛!
$	gem	install	pry
$	pry
[1] pry(main)> puts “Hello world!” # ハイライト確認
[2]	pry(main)>	.pwd # Shell統合
[3] pry(main)> cd “Hello world!” # オブジェクトへ移動
[4]	pry(“Hello	world!”)>	ls # オブジェクトのメソッドなど表示
[5] pry(“Hello world!”)> exit # オブジェクトから移動
[6]	pry(main)>	help # ヘルプコマンド
[7]	pry(main)>	hist # 履歴コマンド
まとめ
• GemはRubyのLibrary
• Gem使うときは色々なサイトから立体的に情報とる
• Gem紹介
• 1)フレームワーク:	 Rails
• 2)画像管理Saas:	 Cloudinary
• 3)	jsライブラリ: Dropzone.js /	Spin.js
• 4)	便利なやつ: pry

More Related Content

What's hot

1000speakers仙台
1000speakers仙台1000speakers仙台
1000speakers仙台xibbar
 
松江Ruby会議03 LT るりまアピール
松江Ruby会議03 LT るりまアピール松江Ruby会議03 LT るりまアピール
松江Ruby会議03 LT るりまアピールSho Hashimoto
 
日本の異界 名古屋
日本の異界 名古屋日本の異界 名古屋
日本の異界 名古屋Tatsuya Naiki
 
るりまの1/nはMatsue.rbでできています。
るりまの1/nはMatsue.rbでできています。るりまの1/nはMatsue.rbでできています。
るりまの1/nはMatsue.rbでできています。Sho Hashimoto
 
台湾官公庁におけるRuby on Railsを導入する事例
台湾官公庁におけるRuby on Railsを導入する事例台湾官公庁におけるRuby on Railsを導入する事例
台湾官公庁におけるRuby on Railsを導入する事例Tsehau Chao
 
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うGroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うYasuharu Hayami
 
OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)Yoshitake Takata
 
20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshimaYoshitake Takata
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでMisa Kondo
 
Ruby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてRuby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてKoji SHIMADA
 
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LTYasutaka Hamada
 
Ruby関西 10才の誕生日に向けて
Ruby関西 10才の誕生日に向けてRuby関西 10才の誕生日に向けて
Ruby関西 10才の誕生日に向けてTomoya Kawanishi
 
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)Yoshitake Takata
 
gemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbgemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbGo Sueyoshi (a.k.a sue445)
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Shintaro Kakutani
 
はじめてのWordPress講座03予告
はじめてのWordPress講座03予告はじめてのWordPress講座03予告
はじめてのWordPress講座03予告sainoslide
 
プリキュアのRuby実装の紹介 (2015 ver) #MeguroStartup
プリキュアのRuby実装の紹介 (2015 ver)  #MeguroStartupプリキュアのRuby実装の紹介 (2015 ver)  #MeguroStartup
プリキュアのRuby実装の紹介 (2015 ver) #MeguroStartupGo Sueyoshi (a.k.a sue445)
 
Groovyクイズ(計算編)
Groovyクイズ(計算編)Groovyクイズ(計算編)
Groovyクイズ(計算編)Yasuharu Hayami
 
20170922 jp stripes_osaka
20170922 jp stripes_osaka20170922 jp stripes_osaka
20170922 jp stripes_osakaHideki Ojima
 

What's hot (20)

1000speakers仙台
1000speakers仙台1000speakers仙台
1000speakers仙台
 
松江Ruby会議03 LT るりまアピール
松江Ruby会議03 LT るりまアピール松江Ruby会議03 LT るりまアピール
松江Ruby会議03 LT るりまアピール
 
RubyKaja 2012
RubyKaja 2012RubyKaja 2012
RubyKaja 2012
 
日本の異界 名古屋
日本の異界 名古屋日本の異界 名古屋
日本の異界 名古屋
 
るりまの1/nはMatsue.rbでできています。
るりまの1/nはMatsue.rbでできています。るりまの1/nはMatsue.rbでできています。
るりまの1/nはMatsue.rbでできています。
 
台湾官公庁におけるRuby on Railsを導入する事例
台湾官公庁におけるRuby on Railsを導入する事例台湾官公庁におけるRuby on Railsを導入する事例
台湾官公庁におけるRuby on Railsを導入する事例
 
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うGroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
 
OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)
 
20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima
 
Rubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまでRubyとの出会いから黒歴史を築くまで
Rubyとの出会いから黒歴史を築くまで
 
Ruby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けてRuby札幌2008年の活動に向けて
Ruby札幌2008年の活動に向けて
 
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
2017/09/27 さくらの夕べ-さくらのvps ユーザーミートアップ LT
 
Ruby関西 10才の誕生日に向けて
Ruby関西 10才の誕生日に向けてRuby関西 10才の誕生日に向けて
Ruby関西 10才の誕生日に向けて
 
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
PaaSで簡単 Railsアプリを公開しよう! ~もあぐれっしぶ~ & Rubyを体験しよう!(2013.10.06 OSC2013-Hiroshima)
 
gemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarbgemの複数バージョンカジュアルテスト #shibuyarb
gemの複数バージョンカジュアルテスト #shibuyarb
 
Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124Came From Ruby No Kai 20090124
Came From Ruby No Kai 20090124
 
はじめてのWordPress講座03予告
はじめてのWordPress講座03予告はじめてのWordPress講座03予告
はじめてのWordPress講座03予告
 
プリキュアのRuby実装の紹介 (2015 ver) #MeguroStartup
プリキュアのRuby実装の紹介 (2015 ver)  #MeguroStartupプリキュアのRuby実装の紹介 (2015 ver)  #MeguroStartup
プリキュアのRuby実装の紹介 (2015 ver) #MeguroStartup
 
Groovyクイズ(計算編)
Groovyクイズ(計算編)Groovyクイズ(計算編)
Groovyクイズ(計算編)
 
20170922 jp stripes_osaka
20170922 jp stripes_osaka20170922 jp stripes_osaka
20170922 jp stripes_osaka
 

20160716 Gemのお話