2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」

2,086 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,086
On SlideShare
0
From Embeds
0
Number of Embeds
348
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

2011.7.2 Ruby勉強会@札幌 「はじめてのRubygemsへのライブラリ公開」

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

×