読者です 読者をやめる 読者になる 読者になる

once upon a time,

Iris Tradをビール片手に聞くのが好きなエンジニアが、機械学習やRubyにまつわる話を書きます

kawasaki.rb #009を開催しました #kwskrb

去る2/26(水)にkawasaki.rb #009を開催しました。

togetterのまとめはこちらです。
kawasaki.rb #009 まとめ #kwskrb - Togetterまとめ

パーフェクトRuby読書会

2-7-4 配列, 2-7-5 ハッシュ, 2-7-6 範囲(Range)をやりました。

Hashでは、自分で作ったクラスをHashのkeyに用いる場合はどうすればいいのか、という話がでました。
自作クラスにhashメソッドeql?(other)メソッドを定義すれば、
自作クラスでも同値性判定が行われるという確認をしました。
(やっててよかった、レシピブック&yokohama.rb...)

コードで書くと、こういう感じですね。

class Foo
  attr_reader :a, :b

  def initialize(a, b)
    @a, @b = a, b
  end

  def hash
    @a%10 + @b%7
  end

  def eql?(obj)
    @a == obj.a && @b == obj.b
  end
end

f1 = Foo.new(1, 2)
f2 = Foo.new(1, 2)

f1.eql?(f2) # => true

h = {}
h[f1] = "foo"
h[f2] # => "foo"

Rangeでは、(1..-1)のような負の数までのRangeってなんであるんだろう?という話をしました。
使用するケースとしては、Arrayにアクセスするときary[1..-1]というのを渡すよねー、という話になりました。

LT

BestGems.org (ぺけみさおさん)

LTはぺけみさおさんによる ランキングから見るRubyGems -BestGems.orgのご紹介- と、@aflc_jp さんによるpandasの紹介(資料公開されたら追記します)が発表されました。

ぺけみさおさんの、BestGems.orgはRubyGems.orgを毎日クローリングして、
DL数の変化を見ているというシンプルながら価値のありそうなアプローチでランキングを作られていました。
実際にランキング作って分析するのって、楽しいですよね。

ランキングを分析しているとnaughtというgemの人気が上がっているとのことでした。

pandas紹介するよ(aflc_jpさん)

aflc_jpさんのpandasの紹介は、Pythonのデータ分析によく使われるライブラリである
pandasの基本と使い方のexampleを紹介してもらいました。

資料
デモ

説明を聞くと、pandasはRでよく使われているDataFrameを扱えるようにしているところが特徴のようで、
SQL likeにgroupbyして集計をしやすくなっているという話でした。
例としてはオリンピックのメダルのデータを使って、日本が歴代メダル数を稼いだ種目などを表にしていました。
Excelに出力することもできるので、分析はpandasでreportingはexcelで、という使い分けができるようです。

改めて実感したのは、IPython notebookは便利だなーということ。
IJuliaで便利さは実感していたのですが、Rubyの実行もブラウザベースでやれるようになるそうなので、
kawasaki.rbのパーフェクトRuby読み会でもIPythonベースにしようかなー。

次回は、3/26(水)に開催予定です