こんなGemつかってますよ話
Upcoming SlideShare
Loading in...5
×
 

こんなGemつかってますよ話

on

  • 6,201 views

弊社社内チームミーティングでの資料です.ここ最近のRails開発(3.2系)で使っているGemの紹介など. ...

弊社社内チームミーティングでの資料です.ここ最近のRails開発(3.2系)で使っているGemの紹介など.
http://techracho.bpsinc.jp/author/morimorihoge にて他の記事も書いてますので,興味があればご覧下さい.

Statistics

Views

Total Views
6,201
Views on SlideShare
3,000
Embed Views
3,201

Actions

Likes
15
Downloads
22
Comments
0

6 Embeds 3,201

http://techracho.bpsinc.jp 3152
http://cloud.feedly.com 36
https://twitter.com 9
http://webcache.googleusercontent.com 2
http://s.deeeki.com 1
http://www.newsblur.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

こんなGemつかってますよ話 こんなGemつかってますよ話 Presentation Transcript

  • 第一回 こんなgem使ってますよ的な 話 2013/07/11 Web team MTG morimorihoge@BPS
  • 本資料について • 本資料は社内で行った発表資料です – 外部向けに書かれていない記述などがありま す – 空き時間で作成しているためクオリティはそ れほど高くないです – 一部公開のために削除・追記したスライドが あるかもしれません • 本資料の取り扱いについて – 基本公開としますが,社外発表などで利用す る際はmorimori@bpsinc.jpに連絡して下さい
  • はじめに • 目的 – 数多くのRailsプロジェクトが走っている中で, 良く使うgem情報を共有して,楽に品質の良 いアプリを作ろうぜ • 突っ込み歓迎 – これが良かった,これはメジャーだけど使っ てみたら今一つ,などどんどん突っ込みして 下さい • 第一回? – たまに共有して更新していきたいですねー
  • 基本gem: 知らないと恥ずかしいレベル • mysql2: MySQL使うならこのconnector • pg: PostgreSQL使うならこのconnector • unicorn: 現状BPSでの標準Railsサーバ 流石に知ってると思いますが,一応.
  • 案件にも寄るが,良く使う gems みたことあるのが多いはず
  • サービス・機能拡張系 • Devise(plataformatec/devise) – 言わずと知れた会員登録・ユーザ認証gem – でかくて癖のあるライブラリだが,会員周りの良く使う機能が一通り あるので覚えるべき • Paperclip(thoughtbot/paperclip) – 添付ファイルをActiveModel透過に扱うことのできるgem – AWS S3へのアップロード,画像のリサイズにも対応しているので,知 らなければtutorial位は見ておきましょう – BPSではpolymorphic associationを使ってattachments的なtableにまとめ, 他テーブルからhas_many参照させるのがメジャー – 最近はCarrierWave(carrierwaveuploader/carrierwave)が良いという話も. 興味があれば囓ってみてレポート下さい • ActsAsParanoid(goncalossilva/acts_as_paranoid) – ARの#destroyで論理削除を実現するgem – add_indexでDBにUnique Keyを付与した場合,validates :uniquenessはpass するのにDBにINSERT/UPDATEするタイミングでエラーを吐くので利用に 注意
  • バックグラウンド実行・サーバ 系 • Capistrano(capistrano/capistrano) – cap deployでお世話になるgem – 初期設定などはサーバエンジニアとの連携が必要だが,ホスト依存設定ファイルを変更した場合にはcapistranoの設定 ファイルも編集する必要があるので注意 – 合わせて入れたい • capistrano-extでmultistage対応(cap staging deployとか) • capistrano_colorsで色付け • rvm-capistrano:RVM対応 • capistrano-unicorn:unicornのstart/stop対応 • Delayed::Job(collectiveidea/delayed_job) – 非同期実行gem – Queueとなるtableに実行に必要なパラメータが入り,workerが上から順に実行していく形式 – とにかく単純で考えることが少ないので,ただの重いCSV作成とかならこれで十分 – AWS ELBを使う場合,60秒でTCPセッションがタイムアウトするので重い処理には必須 – もっと複雑なことをしたければ,Resque(resque/resque),Sidekiq(Sidekiq)を検討しましょう • Whenever(javan/whenever) – Cron(定時実行)gem – 毎日の〆処理など,バッチ実行のお供.インストールした場合,capistrano側にも設定が必要なので忘れずに • New Relic Ruby Agent(newrelic/rpm) – サービス監視サービスNewRelicのクライアントgem – 最近のアプリには入れるようにしてるので,もし入ってなかったら入れたいです • AirBrake(airbrake/airbrake) – エラーがあるとメール通知してくれるgem – AirBrake(元Hoptoad)はすごくお高くなってしまって手が届かないのでErrbit(errbit/errbit)サーバを使いましょう. プロトコル互換です – BPSではばばErrbitサーバが使われています
  • テスト系 • rspec-rails(rspec/rspec-rails) – Unit/Integrationテストgem – 最近はminitestが見直されているっぽいけど,rspecが まあ今のところまだ主流っぽい – もっとちゃんと使いたいけどあまり使いこなせてな いので多くは語りません • cucumber-rails(cucumber/cucumber-rails) – Behaviorテストgem – ちゃんと書くと良いです.seleniumなんかと組み合わ せるとブラウザ使った自動テストも書けます.重い けど • Guardなどなど
  • 案件によっては使う,知って ると便利系gems
  • もろもろ1 • Roo(Empact/roo) – Excel/Excelx/Openoffice/Google Spreadsheets/Libreoffice/CSV を透過的に扱えるgem – fork元のhmcgowan/rooは活動停止したので注意! – データ取り込み時にExcelを使えるので,お客さんにデータ 作成してもらう時に便利 • 改行や特殊文字があってもparseできる • OmniAuth(intridea/omniauth) – TwitterなどのOauth,Facebook認証などの外部アプリ認証 gem – Facebookログインとかtwitterログインしたいと言われたら これ – テスト環境を作るのが少し面倒になる(テストサーバ用の アプリ登録をする必要がある)ので注意
  • もろもろ2 • Virtus(solnic/virtus) – Rubyのclassを拡張できるgem – attribute :name, String, default: “morimori”とかできます – form classを作るときなんかに使うと便利なことがあ るかも(XXXでmorimori実装あり) • ThinReports(http://www.thinreports.org/) – PDF帳票を簡単に作成できちゃうgem – 作ってるのは日本の株式会社マツケイというところ – かなり良くできているので,業務システムなどをや るのであれば,触ってみると良いです.GUIのエディ タツールなんかもあります
  • Using gems • Gemはいっぱい • バグもいっぱい • 使う時は流行ってる度合いをチェック! • あと,latest committedの日付もチェック.メ ンテされていない場合,最悪自力で不具合対 応する覚悟で使うこと
  • まとめ • こんなのあるよ!ってのがあればぜひ共 有してください • このgemは最近いけてないらしいぞ?とい う話もgood • こんなgem作ったがあると楽しいですね • 社内ネットワークで気軽に流してくださ い