Upload
takahiro-kawahara
View
630
Download
0
Embed Size (px)
Citation preview
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を読み込むだけ…
//=requiredropzone
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などあるが…
• 割愛!
$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 #履歴コマンド
まとめ
• GemはRubyのLibrary• Gem使うときは色々なサイトから立体的に情報とる• Gem紹介• 1)フレームワーク: Rails• 2)画像管理Saas: Cloudinary• 3)jsライブラリ: Dropzone.js /Spin.js• 4)便利なやつ: pry