SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
gem の探し方
How to search nice gems :-)
2014/12/25
Crevo 開発チーム勉強会 佐藤竜之介(@tricknotes)
https://www.flickr.com/photos/methosphang/8348144906/in/photostream/
自己紹介
I love OSS
NEW!
今日の話
わたしの gem の
探し方を紹介します
Why?
1. 開発が快適になる
車輪の再発名
はしない
すでに存在するライブ
ラリを使う方が圧倒的
に早く開発できる
2. よくテストされている
(ものにもよるけど)
ちゃんとテストされ
ているという安心感
3. 勉強になる
コードから学べることは多い
テストの仕方、
API デザイン、
内部の設計
etc…
知れば知るほど
強くなれる
•gem を探すための手数が増える
•いろいろな gem を探してみたくなる
今日のゴール
※他にいい方法を知ってたら教えてください
•探す
•思い出す
•検証する
お品書き
探す
gem 探し力
能動的探求
受動的探求
能動的探求
何か目的がある
目的の gem に最短手でたどり着きたい
https://www.ruby-toolbox.com
https://github.com/
https://rails-assets.org/
受動的探求
なんとなく面白そうな gem に出会いたい
ひとづてに教えてほしい
1. 作者を る
自分が興味を持った gem の作者は、
ほかにも興味の分野が近い
gem を作っているのでは
他人が気になった gem を知る
2. 人づてに知る
世界的に流行っている gem よりも、
自分に近い興味を持っているひとが
気になった gem の方が重要
(な場合が多い)
!
following の :star: がひとつの例
http://starseeker.so/
OSS の Rails アプリの
Gemfile を眺めてみる
3. 他の Rails アプリをみる
http://24pullrequests.com/
https://gitlab.com/
http://www.discourse.org/
http://errbit.github.io/errbit/
普段使ってるアプリがあれば
それが一番オススメ
思い出す
思い出す
見つけた gem をずっと
覚えておくことは不可能
必要になったときに思い出せれば OK
GitHub だと、
思い出すための検索はいまひとつ :(
https://app.astralapp.com/
自分が star したリポジトリに
タグ付けして検索できる
検証する
検証する
ぱっと見てよさそうな gem でも、
いざ使ってみると上手く要件に
マッチしないことも…。
まずは最初に軽く様子を見てみる。
使いやすそうか
やりたいことにあっているか
README の通りにやってみて上手くいくか
README を読む
実際に使ってみないとわからないこともある
!
他のライブラリと相性悪くないか
パフォーマンス問題ないか
etc…
試してみる
issue / PR たまってない?
テストはちゃんとされているか
開発が継続されているか
ちょっと触るだけでも得られる知見がある
!
Ruby / Rails 複数バージョンのテストの仕方
外部 API のモックの仕方
アプリケーション設定の扱い方
etc…
gem のアプローチを調べる
まとめ
•gem をいろいろ探してみよう
•あとで思い出せるようにしておこう
•まずはちょっと試してみよう
https://www.flickr.com/photos/hidekazufuruki/6881051786
Have a nice hack :-)

Contenu connexe

Plus de Ryunosuke SATO

How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
Ryunosuke SATO
 

Plus de Ryunosuke SATO (17)

片手間JS on Rails
片手間JS on Rails片手間JS on Rails
片手間JS on Rails
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
 
はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~はじめる Ember.js!! ~ Getting started with ember.js ~
はじめる Ember.js!! ~ Getting started with ember.js ~
 
How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~How to relaunch "sapporojs.org" ~Introduction to middleman~
How to relaunch "sapporojs.org" ~Introduction to middleman~
 
Introduction for Browser Side MVC
Introduction for Browser Side MVCIntroduction for Browser Side MVC
Introduction for Browser Side MVC
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Testable JavaScript
Testable JavaScriptTestable JavaScript
Testable JavaScript
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
Node.jsってどうなの?
Node.jsってどうなの?Node.jsってどうなの?
Node.jsってどうなの?
 
アジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたことアジャイル的アプローチから見えてきたこと
アジャイル的アプローチから見えてきたこと
 
脱レガシー化計画
脱レガシー化計画脱レガシー化計画
脱レガシー化計画
 
Pusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフPusherとcanvasで作るリアルタイムグラフ
Pusherとcanvasで作るリアルタイムグラフ
 
ServerSideJavaScript
ServerSideJavaScriptServerSideJavaScript
ServerSideJavaScript
 

Dernier

Dernier (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

gem の探し方