麻布十番で働くデータ分析者のブログ

グロースハック、プログラミング、データ分析の色々を発信します

繰り返しや配列処理(mapやinjectメソッド)

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)

さて、3日目やっていきましょう。今日は繰り返しや配列処理について学んでました。 ちなみにこの章は長いので2日に分かれています。

前回のエントリは下記リンクよりどうぞ

nimi0370376.hatenablog.com

今回は、配列とかブロックとかをやっていきます。 mapメソッドなどよく見るけど実際どんな動きをするのかよくわかってなかったものについて深掘りしていきます。

続きを読む

Rubyテスト自動化とRspec入門

f:id:nimi0370376:20171203015455p:plain

 

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)

 

の3章をやっていきます。

今回のテーマは、テストの自動化です。RubyのMinitestを使ってどんどん自動化していきます。

ディレクトリ構造

f:id:nimi0370376:20171203020842p:plain

続きを読む

プロを目指す人のためのRuby入門 1日目

こんばんは!

最近しっかりとRubyレベルから学び直したいと思い下記の書籍を購入しました。 

  著者の伊藤さんは、前々からqiitaでもTwitterでも知っていました。 解説が超わかりやすいなあと思い、本を買っても間違いないだろうと思い購入しました。

個人的にはRubyの本は「たのしいRuby」から2冊目です。 しかし、最近Rubyの書き方を忘れたりうまく読めなかったりしたので、本書を購入したに至ります。

今日から1章ずつ読んでいき、気になったところや、ここ忘れてたーと思うところをピックアップしていきたいと思います。 今日は2章の「Rubyの基礎を理解する」です。

文字列の比較

文字列が同じかどうか調べる場合は==を、異なる値かどうかを調べる場合は!=を使う。

‘ruby’ == ‘ruby’ #=> true

ちなみにrubyで使うのは、’ ‘でも” "でもどちらでも大丈夫

&&や||の戻り値と評価を終了するタイミング

例えば次の例を見てみる

1 && 2 && 3 #=> 3
1 && nil && 3 #=> nil

nil | | false #=> false
false | | nil #=> nil

Rubyは式全体が真または偽であることが決定するまで左辺から順に式を評価します。 ちなみに | | は「または」の意

似たような演算子にand、or、notがありますが、&& | | のほうが優先度が高くなります。

デフォルト値付きのメソッド

def greeting(country)
     if country == ‘japan’
        ‘こんにちは’
    else
        ‘hello’
    end
end

# 引数が少ない
greeting
#=> ArgumentError: wrong number of argument(given 0, expected 1)

# 引数が多い
greeting (‘us’,’japan’)
#=> ArgumentError: wrong number of argument(given 2, expected 1)

ただしRubyでは、メソッドの引数に先にデフォルトを入れておくことができる。

def メソッド名(引数1 = デフォルト値1, 引数2 = デフォルト値2)
    #処理
end


def greeting (country = ‘japan’)
    if country == ‘japan’
        ‘こんにちは’
    else
        ‘hello’
    end
end

greeting #=> “こんにちは”
greeting (‘us’) #=> “hello”

特に最後のデフォルト値付きのメソッドは、オブジェクト指向であるRubyで大事な概念でしょう。 ここで紹介したのはほんの一部なので、気になる方はぜひ書籍を手にとってみてください!

KPIの意味とマーケティング施策の考え方について

f:id:nimi0370376:20171112005254p:plain

最近得た学びについて久々にブログに書きます。

最近得た学びは主に2つあって、1つはチームや企業でKPIを設定する意味とマーケティング施策の考え方です。

続きを読む

「Python3とOpenCVで射影変換と面積計算を行う」を投稿しました

ご無沙汰です。

最近研究でOpenCVとPython3を使っており、コードを書いたのでqiitaに投稿しておきました。

 

qiita.com

 

とりあえず、pythonopencvで画像の色素抽出をして面積計算をするのがゴールとなっています。

 

斜めから撮っちゃったけどまっすぐに直したいなあって時は見てみてください!