14
Gemのお話 Ruby関西勉強会#73 2016-07-16() @cawa

20160716 Gemのお話

Embed Size (px)

Citation preview

Page 1: 20160716 Gemのお話

Gemのお話Ruby関西勉強会#73

2016-07-16(土)@cawa

Page 2: 20160716 Gemのお話

自己紹介

qかわはら たかひろ

q@cawa

q2016年4月からRailsでWebサービス開発中(未リリース)

q2015年にRails Tutorialを写経して入門

qKyoto.rb週末開催担当• 7月は24日(日)、28日(木)、8月は6日(土)にあります(宣伝)

qRubyKaigi2016@Kyoto (9月8〜10日)のお手伝いも少々

Page 3: 20160716 Gemのお話

アンケート結果(1/3)※リアルタイムで実施

Page 4: 20160716 Gemのお話

アンケート結果(2/3)※リアルタイムで実施

Page 5: 20160716 Gemのお話

アンケート結果(3/3)※リアルタイムで実施

Page 6: 20160716 Gemのお話

Gemのお話

qGemってなんだっけ

qGemを見つけてから使うまでqGem紹介

Page 7: 20160716 Gemのお話

Gemって何だっけ

qGemとは

• Rubyのライブラリの形式

qGemに関する情報の取得

• rubygems.org

• 各gemのオフィシャルページ(githubなど)

qどんなgemがあるの

• フレームワーク(Rails, Sinatraなど)• 機能実装(ログイン、ページネーションなど)• 非機能実装(テスト、デバッグ、DB接続など)• 外部サービス接続(SAAS)

Page 8: 20160716 Gemのお話

Gemを見つけて使うまで

q見つけ方

• ”Railsログイン”などで検索して見つける• 他のエンジニアから教えてもらって知る

q使う時

1. 最終更新日付、スター数、ダウンロード数など確認

2. GithubのReadmeなどオフィシャル情報読む3. “gem_name vs”などで関連情報をGoogle先生にあげてもらう

4. 日本語ブログやStackoverflowを流し読み

Page 9: 20160716 Gemのお話

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

Page 10: 20160716 Gemのお話

Gem紹介(2)画像管理Saas: Cloudinary

q画像ホスティング、画像変換

• hosting_url/w_250,h_250,c_thumb,g_face/sample.jpg

à sample.jpgから顔判定したサイズ250x250のサムネイル画像

• 2GB, 75,000 fileまで無料!

変換後オリジナル

プライシング

Page 11: 20160716 Gemのお話

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

• 画像変換

Page 12: 20160716 Gemのお話

Gem紹介(3)jsライブラリ:dropzonejs/spinjs

qdropzonejs: ドラッグ&ドロップで画像アップロード

• Jsとcssを読み込むだけ…

//=requiredropzone

js

css

*=dropzone/dropzone

q Jsファイル落としてAsset pipelineで読み込むのと何か違うの?• 違いません (dropzonejsは rails generateあるけど…)• このgem要らない子!?• ソースコードが超絶少ないので最小構成のgemのお勉強になります

q spinjs:公式サイト見ましょうか• jsを読み込むだけ…

Page 13: 20160716 Gemのお話

Gem紹介(4)便利なやつ: pry

q強化版irb (interactive Ruby)

• ハイライトが入る,諸々のコマンド, Shellと統合などなど

q他にもpry-doc, pry-rails, pry-byebug, pry-stack_explorerなどあるが…

• 割愛!

$geminstallpry$pry[1] pry(main)> puts “Hello world!” #ハイライト確認[2]pry(main)>.pwd # Shell統合[3] pry(main)> cd “Hello world!” #オブジェクトへ移動[4]pry(“Helloworld!”)>ls #オブジェクトのメソッドなど表示[5] pry(“Hello world!”)> exit #オブジェクトから移動[6]pry(main)>help #ヘルプコマンド[7]pry(main)>hist #履歴コマンド

Page 14: 20160716 Gemのお話

まとめ

• GemはRubyのLibrary• Gem使うときは色々なサイトから立体的に情報とる• Gem紹介• 1)フレームワーク: Rails• 2)画像管理Saas: Cloudinary• 3)jsライブラリ: Dropzone.js /Spin.js• 4)便利なやつ: pry