2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
-
Upload
hiro-h -
Category
Technology
-
view
1.752 -
download
1
Transcript of 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」
![Page 1: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/1.jpg)
2011.7.2 Ruby-Sapporo Session Time
はじめてのRubygemsへのライブラリ公開
H.Hiro(Maraigue)
Twitter: @h_hiro_1
![Page 2: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/2.jpg)
2011.7.2 Ruby-Sapporo Session Time
自己紹介
Page: 2
![Page 3: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/3.jpg)
2011.7.2 Ruby-Sapporo Session Time
H.Hiro(別名:Maraigue まれーぐ)
Twitter: @h_hiro_
•大学院生(大学9年目)
• Ruby大好き
• C#とかC++とかもよく書きます
•最近はPythonにも手を出したりPage: 3
![Page 4: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/4.jpg)
2011.7.2 Ruby-Sapporo Session Time
H.Hiro(別名:Maraigue まれーぐ)
Twitter: @h_hiro_
•大学院生(大学9年目)
• Ruby大好き
• C#とかC++とかもよく書きます
•最近はPythonにも手を出したりPage: 4
![Page 5: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/5.jpg)
2011.7.2 Ruby-Sapporo Session Time
明日(7/3)
札幌C++勉強会 #2http://atnd.org/events/16805
Page: 5
![Page 6: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/6.jpg)
2011.7.2 Ruby-Sapporo Session Time
今回のテーマ
Page: 6
![Page 7: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/7.jpg)
2011.7.2 Ruby-Sapporo Session Time
はじめてのRubygemsへのライブラリ公開
H.Hiro(Maraigue)
Twitter: @h_hiro_7
![Page 8: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/8.jpg)
2011.7.2 Ruby-Sapporo Session Time
Rubygems
Page: 8
![Page 9: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/9.jpg)
2011.7.2 Ruby-Sapporo Session Time
言わずと知れた
Rubyのライブラリ
管理システム
Page: 9
![Page 10: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/10.jpg)
2011.7.2 Ruby-Sapporo Session Time
ご存じない方の
ために、念のため
説明しておくと
Page: 10
![Page 11: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/11.jpg)
2011.7.2 Ruby-Sapporo Session Time
Rubyのいろんなライブラリを
コマンド一発でネット上から
インストールできる
例:拙作「multiset」
ライブラリのインストール
Page: 11
gem install multiset
![Page 12: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/12.jpg)
2011.7.2 Ruby-Sapporo Session Time
依存関係の
解決もやってくれる
Page: 12
![Page 13: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/13.jpg)
2011.7.2 Ruby-Sapporo Session Time
PerlでいうCPAN
PHPでいうPEAR
Page: 13
![Page 14: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/14.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
Page: 14
gem install [ライブラリ名]
![Page 15: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/15.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
楽しい
仲間(ライブラリ)がPage: 15
gem install [ライブラリ名]
![Page 16: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/16.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 16
![Page 17: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/17.jpg)
2011.7.2 Ruby-Sapporo Session Time
本題
Page: 17
![Page 18: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/18.jpg)
2011.7.2 Ruby-Sapporo Session Time
はじめてのRubygemsへのライブラリ公開
H.Hiro(Maraigue)
Twitter: @h_hiro_18
![Page 19: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/19.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
Page: 19
gem install [ライブラリ名]
![Page 20: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/20.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
楽しい
仲間(ライブラリ)がPage: 20
gem install [ライブラリ名]
![Page 21: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/21.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 21
![Page 22: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/22.jpg)
2011.7.2 Ruby-Sapporo Session Time
自分の手元に
他の人の
ライブラリが
ポポポポーンしたPage: 22
![Page 23: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/23.jpg)
2011.7.2 Ruby-Sapporo Session Time
自分が作った
ライブラリを
みんなに
ポポポポーンするにはPage: 23
![Page 24: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/24.jpg)
2011.7.2 Ruby-Sapporo Session Time
本来の手順
Page: 24
![Page 25: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/25.jpg)
2011.7.2 Ruby-Sapporo Session Time
ディレクトリと
gemspec作ってPage: 25
![Page 26: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/26.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 26
gemspecを
エディタでごりごり書いて
![Page 27: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/27.jpg)
2011.7.2 Ruby-Sapporo Session Time
一から作ると
面倒くさい('A)
Page: 27
![Page 28: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/28.jpg)
2011.7.2 Ruby-Sapporo Session Time
ぐぐって
雛形貼り付けても
面倒くさい('A)
Page: 28
![Page 29: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/29.jpg)
2011.7.2 Ruby-Sapporo Session Time
魔法の言葉で
雛形が
ポポポポーンと
出ればいいんだけどPage: 29
![Page 30: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/30.jpg)
2011.7.2 Ruby-Sapporo Session Time
もしかして:存在する
Page: 30
![Page 31: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/31.jpg)
2011.7.2 Ruby-Sapporo Session Time
ちなみに私は
jewelerという
ツールを使いましたhttp://tomohiro.me/tips/jeweler_gem_release.html
Page: 31
gem install jeweler
![Page 32: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/32.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 32
jeweler multiset
![Page 33: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/33.jpg)
2011.7.2 Ruby-Sapporo Session Time
雛形できちゃった!Page: 33
jeweler multiset
![Page 34: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/34.jpg)
2011.7.2 Ruby-Sapporo Session Time
しかもgit付き!Page: 34
jeweler multiset
![Page 35: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/35.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 35
jeweler multiset --rspec
![Page 36: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/36.jpg)
2011.7.2 Ruby-Sapporo Session Time
rspecの雛形も!Page: 36
jeweler multiset --rspec
![Page 37: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/37.jpg)
2011.7.2 Ruby-Sapporo Session Time
↓
githubの雛形も!Page: 37
jeweler multiset --create-repo
![Page 38: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/38.jpg)
2011.7.2 Ruby-Sapporo Session Time
あとはガリガリ
設定ファイルと
単体テストと
本体のコードを書くhttp://tomohiro.me/tips/jeweler_gem_release.html
Page: 38
![Page 39: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/39.jpg)
2011.7.2 Ruby-Sapporo Session Time
ライブラリの生成や
Rubygemsへの公開を
するのも
rakeで一発http://tomohiro.me/tips/jeweler_gem_release.html
Page: 39
![Page 40: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/40.jpg)
2011.7.2 Ruby-Sapporo Session Time
すごい楽に
出来ちゃう!
Page: 40
![Page 41: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/41.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
Page: 41
jeweler [ライブラリ名]
![Page 42: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/42.jpg)
2011.7.2 Ruby-Sapporo Session Time
で
楽しい仲間
(自作ライブラリ)がPage: 42
jeweler [ライブラリ名]
![Page 43: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/43.jpg)
2011.7.2 Ruby-Sapporo Session Time
Page: 43
![Page 44: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/44.jpg)
2011.7.2 Ruby-Sapporo Session Time
ライブラリの
Rubygemsでの
公開は
難しくないよ!Page: 44
![Page 45: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/45.jpg)
2011.7.2 Ruby-Sapporo Session Time
私が
ポポポポーンした
ライブラリPage: 45
![Page 46: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/46.jpg)
2011.7.2 Ruby-Sapporo Session Time
私が
ポポポポーンした
Rubygemsで公開した
ライブラリPage: 46
![Page 47: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/47.jpg)
2011.7.2 Ruby-Sapporo Session Time
(1)Multiset多重集合。Setに近いが、
同じ要素を複数格納することができる。
s = Set[:a,:b,:c,:a]
# => #<Set: {:b,:c,:a}>
ms = Multiset[:a,:b,:c,:a]
# => #<Multiset:#1 :b,#1 :c,#2 :a>
ms << :b
# => #<Multiset:#2 :b,#1 :c,#2 :a>Page: 47
![Page 48: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/48.jpg)
2011.7.2 Ruby-Sapporo Session Time
(2)DevNullRubyのIOと同じインターフェイスを持ち、
/dev/null と同様に働くクラス。log = file ? open(file,"a") : nil
log.puts "message1" if log
log.puts "message2" if log
↓
log = file ? open(file,"a") : DevNull.new
log.puts "message1"
log.puts "message2"Page: 48
![Page 49: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/49.jpg)
2011.7.2 Ruby-Sapporo Session Time
インストール方法:
gem install multiset
gem install devnull
詳しくは↓http://rubygems.org/profiles/maraigue
Page: 49
![Page 50: 2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」](https://reader033.fdocuments.net/reader033/viewer/2022052303/556276c4d8b42ae73c8b4a57/html5/thumbnails/50.jpg)
2011.7.2 Ruby-Sapporo Session Time
ありがとう
ございました
Page: 50